617 produtos atualizados nos últimos 7 dias

Changelog do Modal Survey – WordPress Poll, Survey & Quiz Plugin

O que mudou em cada versão, da mais recente para a mais antiga. As notas são as publicadas pelo desenvolvedor, no idioma original.

  • Mais recente 2.0.2.3.5 · 29 out 2026
  • 160 versões
  • Desde dez 2017

2026

85 versões

Versão 2.0.2.3.5

Mais recente
3 correções Assinar para baixar a versão 2.0.2.3.5

Correção

  • Bug Fix Release
  • Fixed the survey PDF export ("Export Charts" and "Export without Charts" in the Saved Surveys export menu) and all other survey exports (CSV, JSON, XML, XLS, TXT) doing nothing, with the browser console reporting "ReferenceError: export_survey is not defined". The export_survey function in templates/assets/js/modal_survey_admin.js had been accidentally renamed to "questio", so every export button called a function that no longer existed. The function name has been restored. Personal…
  • Fixed "TypeError: modalSurveyChart.generateLegend is not a function" when preparing charts for the PDF export. generateLegend was removed in Chart.js v3, and the plugin ships Chart.js v4.5.1 (msChart.min.js). The color legend for each answer in the PDF is now built directly from the chart's own colors, so each answer in the PDF again shows a color swatch matching its slice in the chart.

Versão 2.0.2.3.4

3 correções Assinar para baixar a versão 2.0.2.3.4

Correção

  • Bug Fix Release
  • Fixed a bug where the Participants admin page ("Votes" column) could show one participant with a wildly inflated vote count (e.g. 174) while unrelated, differently-named participants were missing entirely. The visitor-tracking cookie (ms-uid) is read on every survey submission and used to look up/create a row in the participants table via "WHERE id = ...". Whenever that cookie failed to reach the server for any reason (blocked by the browser/an extension, cleared, or the page load never set…
  • Hardened how the ms-uid tracking cookie's value is generated: it previously reused PHP's own session_id, which is tied to a shorter-lived, unrelated session mechanism and could occasionally return the same value for different visitors. It's now a dedicated random token, and the plugin no longer starts a PHP session on every anonymous page view (which could also prevent full-page caching on pages containing a survey).

Versão 2.0.2.3.3

2 correções Assinar para baixar a versão 2.0.2.3.3

Correção

  • Bug Fix Release
  • Fixed category score totals being unexpectedly inflated (or otherwise wrong) whenever a category tag used the ":weight" syntax (e.g. "[Depression Indicators:5]") on an answer that also had a legacy per-answer "score" value set. Previously the two were multiplied together (score * weight * count), so a legacy score left over from before the weighting feature existed would silently distort every weighted category's total, only "working" if that legacy score happened to be exactly 1. Category…

Versão 2.0.2.3.2

3 correções Assinar para baixar a versão 2.0.2.3.2

Correção

  • Bug Fix Release
  • Fixed a scoring/results accumulation bug where participant answer scores could become misaligned and add up incorrectly, and where the admin Participants page could show a "Undefined array key" PHP warning (modal_survey.php around the participants/scoring code, called from templates/settings_participants.php). Two parallel internal arrays used to reconstruct each participant's per-question answers and their associated score values were built out of step with each other whenever an answer's…
  • Fixed radar/pie/doughnut/polar/bar/line chart shortcodes ([survey_answers style="radarchart"], etc.) failing to render on the front end with browser console errors "Cannot read properties of undefined (reading 'register')" and "Cannot set properties of undefined (setting 'legend')". The shipped templates/assets/js/modal_survey_answer.min.js file was a stale, pre-Chart.js-v4 build that still called the old Chart.js v2 plugin registration API (Chart.pluginService.register), which no longer…

Versão 2.0.2.3.1

3 correções Assinar para baixar a versão 2.0.2.3.1

Correção

  • Bug Fix Release
  • Fixed PHP warnings ("Trying to access array offset on value of type null" and "Uninitialized string offset 142") when rendering the [survey_answers]/[modalsurvey] shortcode on the front end. The grid-columns setting (options index 142) was being read from a raw character offset of the still-JSON-encoded options string instead of the decoded options array, which produced garbage/undefined results and warnings whenever the options string was shorter than 143 characters. The options are now…
  • Fixed a critical bug where the entire Modal Survey admin screen could silently stop working: the Save button did nothing (no request was ever sent), and creating a new survey would hang and then create a bogus survey with ID 0. The admin JavaScript wrapped all of its button handlers in the deprecated jQuery(window).load(function {...}) shorthand. In modern jQuery this is not treated as an event binding; jQuery.fn.load unconditionally tries to read the first argument as a URL string…

Versão 2.0.2.3.0

2 correções Assinar para baixar a versão 2.0.2.3.0

Correção

  • Bug Fix Release
  • Fixed fatal PHP 8.x TypeError (Unsupported operand types: string / int) on line 546 of settings_savedforms.php, which crashed the Saved Surveys page when opening a survey whose options array did not contain a stored animation speed (options[11]) or end delay (options[23]). This affected older surveys that pre-dated these settings. The fix adds numeric defaults (400ms and 0ms respectively) in the options initialisation block so division by 1000 is always safe.

Versão 2.0.2.2.9

2 correções Assinar para baixar a versão 2.0.2.2.9

Correção

  • Bug Fix Release
  • Fixed PHP warning "Attempt to read property 'display_name' on bool" appearing 22 times in the Saved Surveys list (settings_savedforms.php). When a survey's owner account has been deleted, get_user_by returns false; the code now checks instanceof WP_User before accessing display_name, showing 'Unknown' as a fallback instead.

Versão 2.0.2.2.8

1 novidade 1 melhoria

Novidade

  • Added optional per-category score weighting: category tags in the answer/question brackets now support an optional ":weight" suffix (e.g. "[sensing/feeling (+sc):2]"). When present, the answer's score is multiplied by this weight before being added to that category's total, instead of every category always contributing with the same weight of 1. Existing category tags without a weight suffix keep working exactly as before.

Melhoria

  • Category Weighting Release

Versão 2.0.2.2.7

1 melhoria 5 correções

Melhoria

  • UI Fix Release

Correção

  • Fixed survey answer text indentation: answer labels are now properly left-aligned. The first line of each answer choice no longer shows a leading blank space caused by the default text-align on the label container.
  • Fixed paragraph breaks in open-text answers: users can now press Enter to add paragraph breaks in their responses. The open-answer save function now preserves newlines (sanitize_textarea_field), and results are rendered with nl2br so each line break appears correctly in the output.
  • Enlarged survey result images: result images in the [survey_answers] shortcode (progressbar / linebar styles) are enlarged from 50 px to 80 px.
  • Improved survey result layout: when an answer image is present, the image is now placed on the left and the answer label with its progress bar is placed on the right, using a flex row layout instead of the previous inline layout.
  • Updated plugin version constant (MODAL_SURVEY_VERSION) and plugin header to 2.0.2.2.7.

Versão 2.0.2.2.6

2 novidades 3 melhorias 1 correção

Novidade

  • PHP 8.4: Added explicit nullable type hints (?string, ?int) to functions using implicit nullable parameters, which are deprecated in PHP 8.4.
  • PHP 8.0+: Added ['allowed_classes' => false] option to all unserialize calls across modal_survey.php, settings.php, all export modules (csv, txt, xml, xls, pdf), and third-party API integrations (ymlp, benchmark, mailingboss, klicktipp). Also removed @ error suppression from the export_xls unserialize call.

Melhoria

  • Security & Compatibility Release
  • PHP 8.4: Replaced removed utf8_encode with mb_convert_encoding in campaignmonitor/serialisation.php.
  • WordPress 5.3+: Replaced deprecated current_time('timestamp') with time in the database maintenance routine.

Correção

  • Critical: Fixed REST API participant PII disclosure. The /user/, /allusers/, and /userresult/ endpoints now always require manage_options (administrator) regardless of the setting_restapi_privileges setting. Previously any subscriber-level user could enumerate all participant records (name, email, IP, survey history) by incrementing the uid parameter, and setting privileges to "public" removed the permission_callback entirely, allowing unauthenticated access to participant PII.

Versão 2.0.2.2.4

2 novidades 1 melhoria 8 reforços de segurança

Novidade

  • Critical: Added current_user_can('manage_options') capability check to manual plugin updater; previously any WP user could trigger a plugin overwrite.
  • Critical: Added version downgrade protection to manual updater; uploading an older plugin version is now rejected.

Melhoria

  • Critical: Removed print_r($this->temp_path) debug statement disclosing the absolute server filesystem path on the Update admin page.

Segurança

  • Security Release
  • Added esc_html around version strings and esc_html around changelog content read from uploaded ZIP in the updater.
  • Changed throw_error to use wp_kses_post instead of raw echo.
  • Added ['allowed_classes' => false] + is_array guard to all unserialize calls on participant .custom field data in settings_participants.php, settings.php (send_admin_email, send_autoresponse), and all four export modules (csv, xls, txt, xml).
  • Added wp_verify_nonce CSRF protection to all three participant delete operations (delete_samesession, delete_incomplete, bulk delete_participants).
  • Escaped survey name with esc_html in settings_savedforms.php survey title output.
  • Wrapped all custom-field configuration properties ($cf->id, $cf->name, $cf->warning, $cf->minlength, $cf->position) with esc_attr in the survey editor.
  • Replaced plugin_dir_path server path disclosure in import error message with a safe relative path.

Versão 2.0.2.2.3

3 correções 7 reforços de segurança Assinar para baixar a versão 2.0.2.2.3

Correção

  • Critical: Fixed logic bug where assignment operator was used instead of equality check for survey style detection, causing all surveys to incorrectly use the 'click' branch.
  • Fixed incorrect number_format call in survey_answers average-score path; third argument was the decimal count instead of the decimal separator, producing garbled output.
  • Fixed undefined variable warnings in survey_open_answers, survey_records, and survey_compare_chart shortcode handlers when results are absent or labels/sessions are not set.

Segurança

  • Critical: Fixed path traversal vulnerability in campaign module loader; allowed module names are now strictly whitelisted.
  • Critical: Sanitized cookie-sourced survey_viewed arrays with absint before use in SQL IN clauses to prevent injection via crafted cookie values.
  • All plugin cookies (ms-uid, ms-session, modal_survey) now set secure=is_ssl and httponly=true, including legacy fallback setcookie calls.
  • Replaced insecure mt_rand -based session ID generation with cryptographically secure bin2hex(random_bytes(16)).
  • Escaped featured image URL with esc_url in Open Graph meta output.
  • Fixed unsanitized direct $_COOKIE['ms-uid'] access in ajax_survey_back; now uses sanitize_text_field/wp_unslash with isset guard.
  • Reduced export directory permissions from 0777 to 0755.

Versão 2.0.2.2.2

1 novidade

Novidade

  • Added live font family preview in the survey style configuration panel: selecting a font now displays a sample of the font name rendered in the chosen typeface directly below the selector.

Versão 2.0.2.2.1

3 melhorias 3 correções 1 reforço de segurança

Melhoria

  • Improved completion-mail flow reliability after participant form submission.
  • Removed duplicate chart output in personal PDFs and disabled unnecessary global-chart duplication in that flow.
  • Cleaned up temporary debug instrumentation after verification.

Correção

  • Fixed end-content email timing so chartless PDFs are no longer sent prematurely; final emails are sent after chart capture is ready.
  • Fixed chart capture/render timing so PDF attachments receive actual chart images consistently.
  • Fixed PDF embedding of chart images (base64 handling, temp image lifecycle, and rendering behavior).

Segurança

  • Hardened backend chart-payload validation to accept only real image data, not empty JSON placeholders.

Versão 2.0.2.2.0

1 novidade 9 melhorias Assinar para baixar a versão 2.0.2.2.0

Novidade

  • Added client-side canvas snapshot capture: survey result charts are now captured as base64 PNG data before mail/PDF generation begins.

Melhoria

  • Refactored survey completion flow to separate lightweight answer saving from mail/PDF finalization, reducing timeout risk for large exports.
  • Implemented new finalize AJAX endpoint in settings.php to trigger mail and PDF exports after charts have been fully rendered on the client.
  • Enhanced front-end chart initialization with MutationObserver fallback to handle late-injected markup and delayed script loading gracefully.
  • Updated modal_survey.js to track pending completion mail state and conditionally defer mail sending until after chart rendering completes.
  • Improved modal_survey_answer.js with window.ModalSurveyCaptureChartData helper to extract chart canvases as base64 payloads for PDF embedding.
  • Result charts in generated PDFs now display the exact chart rendered to the user, eliminating missing or placeholder images.
  • Split completion request into two lightweight phases, improving reliability on servers with stricter timeout limits.
  • Chart images are now properly embedded in PDF exports by capturing rendered Chart.js canvases on the client side.
  • Bootstrap logic for answer charts is now resilient to DOM delays and late script injection, common in page builders and AJAX-heavy themes.

Versão 2.0.2.1.9

3 correções

Correção

  • Resolved Database Automatic Cleanup Loop: Fixed a bug in modal_survey.php where setting the automated cleanup to "Never" would incorrectly evaluate to 0 days, causing the cleanup routine to continuously trigger every 12 hours. The plugin now fully respects the "Never" configuration and stops the cleanup cycle entirely.
  • Fixed Blank Results Chart Rendering: Resolved a JavaScript error in modal_survey_answer.js where sparse or object-shaped PHP arrays broke the frontend chart initializer. Data sets are now fully normalized before rendering to guarantee the chart displays properly instead of appearing blank.
  • Chart Shortcode Clarification: When utilizing the [survey_answers] shortcode, ensure you pass style="barchart" if your goal is to render a bar chart. Using style="piechart" will explicitly generate a pie chart visualization.

Versão 2.0.2.1.8

4 melhorias 5 reforços de segurança Assinar para baixar a versão 2.0.2.1.8

Melhoria

  • The form branch in ajax_survey_answer now unslashes and sanitizes each customfieldsarray key before using it as an array key.
  • Empty keys are skipped.
  • Corresponding values are unslashed and sanitized before save.
  • Prevented undefined index behavior for the Summary tab when there are no sessions

Segurança

  • Implemented a direct mitigation for the reported unauthenticated stored XSS path, covering both ingestion and rendering.
  • Sanitized attacker-controlled custom field keys before storage.
  • Escaped legacy and current participant custom data on admin output in settings_participants.php
  • Hardened the participant details view and list rendering so custom field labels/values are escaped before HTML output, this blocks execution even for already-poisoned records stored in the database.
  • Escaped other participant-derived fields shown in the same page (name, email, IP, survey title links, session attributes).

Versão 2.0.2.1.7

4 novidades 1 melhoria Assinar para baixar a versão 2.0.2.1.7

Novidade

  • Added a retry-based bootstrap loop (polling with timeout) instead of immediate execution.
  • Added dependency checks before init: jQuery exists, plugin method exists (pmsresults or modalsurvey), localized params exist (ms_answer_init_params or ms_init_params), for answer init, waits for Chart only when chart styles are present
  • Added graceful timeout with console warning instead of throwing hard errors.
  • Added fallback mounting to body if .entry-content is missing (answer init).

Melhoria

  • Kept DOMContentLoaded-safe startup for both scripts.

Versão 2.0.2.1.6

1 novidade 1 reforço de segurança Assinar para baixar a versão 2.0.2.1.6

Novidade

  • New Helper Method: Introduced a utility to safely read server variables using wp_unslash for improved data handling.

Segurança

  • Replaced raw REQUEST_URI usage with the new helper method during constructor URL assembly to ensure consistent sanitization.

Versão 2.0.2.1.5

1 novidade 3 melhorias Assinar para baixar a versão 2.0.2.1.5

Novidade

  • Refactored Request Handling: Introduced helper methods to standardize $_REQUEST access.

Melhoria

  • Code Cleanup & Modernization: Replaced raw $_REQUEST reads with helper methods
  • Security & Consistency: Implemented consistent wp_unslash and string sanitization across touched paths.
  • Logic Simplification: Streamlined sspcmd=displaychart conditionals for improved readability without altering functional behavior.

Versão 2.0.2.1.4

2 melhorias 1 correção 1 reforço de segurança Assinar para baixar a versão 2.0.2.1.4

Melhoria

  • Replaced deprecated utf8_encode usage with a safe UTF-8 normalization helper
  • Declared legacy status properties to prevent dynamic-property deprecation warnings

Correção

  • Fix PHP 8.2 deprecation notices

Segurança

  • Hardened the main AJAX answer flow

Versão 2.0.2.1.2

2 correções

Correção

  • Fix edit page chart.js auto resize problem
  • Fix WP 6.9 compatibility issues

Versão 2.0.2.1.1

5 melhorias 2 correções 2 reforços de segurança Assinar para baixar a versão 2.0.2.1.1

Melhoria

  • Refactored participant cleanup
  • Sanitaze inputs, post and other variables
  • Replaced long OR chain with strict in_array(..., true) screen check.
  • Replaced legacy var properties with protected typed properties.
  • Standardized several loose comparisons (==) to strict (===) for options checks.

Correção

  • Fix dynamic-property issues on modern PHP.
  • Fix code standard issues

Segurança

  • Hardened social meta handling
  • Hardened server vars

Versão 2.0.2.1.0

5 melhorias 11 correções

Melhoria

  • Update Excel export: remove outdated PHPExcel and mograte the code to PHPSpreadsheet
  • Update colorpicker plugin
  • MySQL 8.0 Compatibility
  • Modify Column Width Logic
  • Strengthened Nonce Verification

Correção

  • Total Votes Calculation: fix a small bug in how the total votes are displayed in the general survey export
  • Fix REST API Bug
  • Fix Syntax Error in Path Construction
  • Fix Code Standards Issues
  • Fix datepicker bugs, positioning
  • Fix Modal width and button positions
  • Fix wrong modal width
  • Fix some admin page issues
  • Fix WP Dashboard Votes by Day window
  • Fix Unsanitized variables
  • Fix Email Header Injection

Versão 2.0.2.0.7

1 melhoria

Melhoria

  • Refactored and fixed some functions

Versão 2.0.2.0.5

1 melhoria 1 correção Assinar para baixar a versão 2.0.2.0.5

Melhoria

  • Refactored some of the code for better compatibility

Correção

  • Fixed minor bugs

Versão 2.0.2.0.3

2 melhorias 1 correção

Melhoria

  • Http to https fix (in the document, in the plugin, on the CC website)
  • Documentation improvement and addition

Correção

  • Fix non-existent domain (in the document, in the plugin, on the CC website)

Versão 2.0.2.0.2

1 melhoria 1 correção 1 reforço de segurança

Melhoria

  • Improved MS admin update page

Correção

  • Fixed MS admin update page PHP 8.3.9 issue

Segurança

  • Security improvements (MS admin update page and MS admin custom css page)

Versão 2.0.2.0.1

1 melhoria 1 correção

Melhoria

  • Minor optimization

Correção

  • Fixed minor bugs

Versão 2.0.1.9.9

1 melhoria

Melhoria

  • Minor optimization

Versão 2.0.1.9.7

1 melhoria

Melhoria

  • Minor optimization

Versão 2.0.1.9.6

1 novidade 1 correção

Novidade

  • Added option to translate the Thank you message dynamic string

Correção

  • Fixed minor CSS issue on the Participants Form in specific cases

Versão 2.0.1.9.5

1 novidade 1 melhoria

Novidade

  • Added option to show the survey as likert scale style

Melhoria

  • Automatically removing spaces from email address on the participants form

Versão 2.0.1.9.4

1 correção

Correção

  • Fixed session issue when all questions displayed and embed

Versão 2.0.1.9.3

2 correções

Correção

  • Fixed Logged in only bug on saved survey screen
  • Minor bug fixes on PHP8
Ver produto

As versões disponíveis na DROPE são liberadas para assinantes e para quem comprou o produto.

O que mudou

597 mudanças em 160 versões

  • Novidade 216
  • Melhoria 170
  • Correção 180
  • Segurança 31

Versões

160
  1. 2.0.2.3.529 out 2026
  2. 2.0.2.3.423 set 2026
  3. 2.0.2.3.322 set 2026
  4. 2.0.2.3.215 set 2026
  5. 2.0.2.3.112 set 2026
  6. 2.0.2.3.018 ago 2026
  7. 2.0.2.2.915 ago 2026
  8. 2.0.2.2.818 ago 2026
  9. 2.0.2.2.711 ago 2026
  10. 2.0.2.2.612 jul 2026
  11. 2.0.2.2.427 jun 2026
  12. 2.0.2.2.3
  13. 2.0.2.2.2
  14. 2.0.2.2.1
  15. 2.0.2.2.0
  16. 2.0.2.1.9
  17. 2.0.2.1.8
  18. 2.0.2.1.7
  19. 2.0.2.1.6
  20. 2.0.2.1.5
  21. 2.0.2.1.4
  22. 2.0.2.1.3
  23. 2.0.2.1.2
  24. 2.0.2.1.1
  25. 2.0.2.1.0
  26. 2.0.2.0.9
  27. 2.0.2.0.8
  28. 2.0.2.0.7
  29. 2.0.2.0.6
  30. 2.0.2.0.5
  31. 2.0.2.0.4
  32. 2.0.2.0.3
  33. 2.0.2.0.2
  34. 2.0.2.0.1
  35. 2.0.1.9.9
  36. 2.0.1.9.7
  37. 2.0.1.9.6
  38. 2.0.1.9.5
  39. 2.0.1.9.4
  40. 2.0.1.9.3
  41. 2.0.1.9.2
  42. 2.0.1.9.1
  43. 2.0.1.9
  44. 2.0.1.8.9
  45. 2.0.1.8.8
  46. 2.0.1.8.7
  47. 2.0.1.8.6
  48. 2.0.1.8.5
  49. 2.0.1.8.4
  50. 2.0.1.8.3
  51. 2.0.1.8.2
  52. 2.0.1.8.1
  53. 2.0.1.8
  54. 2.0.1.7
  55. 2.0.1.6.4
  56. 2.0.1.6.3
  57. 2.0.1.6.2
  58. 2.0.1.6.1
  59. 2.0.1.6
  60. 2.0.1.5
  61. 2.0.1.4
  62. 2.0.1.3
  63. 2.0.1.2
  64. 2.0.1.1
  65. 2.0.1
  66. 2.0.0.9
  67. 2.0.0.8
  68. 2.0.0.7
  69. 2.0.0.6
  70. 2.0.0.5
  71. 2.0.0.4
  72. 2.0.0.3
  73. 2.0.0.2
  74. 2.0.0.1
  75. 2.0
  76. 1.9.9.9
  77. 1.9.9.8
  78. 1.9.9.7
  79. 1.9.9.6
  80. 1.9.9.5
  81. 1.9.9.4
  82. 1.9.9.3
  83. 1.9.9.2
  84. 1.9.9.1
  85. 1.9.9
  86. 1.9.8.916 fev 2018
  87. 1.9.8.818 dez 2017
  88. 1.9.8.7
  89. 1.9.8.6
  90. 1.9.8.5
  91. 1.9.8.4.2
  92. 1.9.8.4
  93. 1.9.8.3
  94. 1.9.8.2
  95. 1.9.8.1
  96. 1.9.8
  97. 1.9.7.9
  98. 1.9.7.8
  99. 1.9.7.7
  100. 1.9.7.6
  101. 1.9.7.5
  102. 1.9.7.4
  103. 1.9.7.3
  104. 1.9.7.2
  105. 1.9.7.1
  106. 1.9.7
  107. 1.9.6.2
  108. 1.9.6.1
  109. 1.9.6
  110. 1.9.5
  111. 1.9.4
  112. 1.9.3
  113. 1.9.2
  114. 1.9.1
  115. 1.9
  116. 1.8.9
  117. 1.8.8
  118. 1.8.7
  119. 1.8.6
  120. 1.8.5
  121. 1.8.4
  122. 1.8.3.1
  123. 1.8.3
  124. 1.8.2
  125. 1.8.1
  126. 1.8
  127. 1.7.9.1
  128. 1.7.9
  129. 1.7.8
  130. 1.7.7
  131. 1.7.6.2
  132. 1.7.6.1
  133. 1.7.6
  134. 1.7.5.1
  135. 1.7.5
  136. 1.7.4
  137. 1.7.3
  138. 1.7.2
  139. 1.7.1
  140. 1.7
  141. 1.6.9
  142. 1.6.8
  143. 1.6.7
  144. 1.6.5
  145. 1.6.3
  146. 1.6.2
  147. 1.6.1
  148. 1.6
  149. 1.5.8
  150. 1.5.7
  151. 1.5.5
  152. 1.5.3
  153. 1.5.2
  154. 1.5.1
  155. 1.5
  156. 1.4
  157. 1.3
  158. 1.2
  159. 1.1
  160. 1.01

CUPONS

GANHE 5% DE DESCONTO na sua primeira compra

Preencha o formulário abaixo e garanta 5% de desconto na sua primeira compra. Válido por tempo limitado.