=== Foodle Add-On for Democracy Poll ===
Contributors: mitfi
Donate link: 
Tags: democracy, poll, interactive, choir, feedback
Requires at least: 4.3
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 2.5.24.0
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Online polls (incl. mixed = check + radio) - use the flexible and interactive Doodle©-like front end options for display with voter categories.

== Description ==

Provides a seamless and flexible, interactive display option for online polls with Democracy Poll with a lot of parameters to be controlled for various display possibilities.
To be used as a shortcode alongside the poll for an interactive results display or separately just for result display purposes.
It provides and will further provide enhancements for Democracy Poll, like e.g. mixed polls (checkboxes plus radiobuttons in one poll). User fields (poll categories) can be defined and maintained in the users' profiles to provide enhanced result statistics (e.g. showing a choir's voices representation on proposed concert or rehearsal dates being polled in order to judge the ability to sing) - this was the author's initial motivation.
Fields can as well be automatized in input based on regular expressions applied on the main user's field (poll category).
Email reminders to users that didn't vote, yet. Flexible sorting options and much more. Of course: the main shortcode is made for registered users only. Give it a try!

Inspired by and enhancing: Tkama's Democracy Poll plugin.

<br>
<strong>Latest important updates:</strong>

* <strong>New from version 2.5.21.0: In the "Meta Field Defaults & Sorting" tab, sorting lists can be auto-generated for non-drop-down fields, based on the first meta field and the related regular expression, if existing.</strong>
* <strong>New from version 2.5.20.0: The meta fields can now be related to specific roles. This will influence the visibility of the meta fields in the user profiles. Furthermore, a new meta field clean-up can be performed by administrators in the "Meta Field Defaults & Sorting" tab.</strong>
* <strong>New from version 2.5.18.0: The ICS data for [foodle-create-ics] can now as well be stored in each poll\'s edit page.</strong>
* <strong>New from version 2.5.17.0: A new shortcode [foodle-create-ics] can be used to download an ics file and generate a calendar entry for events (e.g. those queried for in a poll and can therefore as well be used in a poll's text field).</strong>
* <strong>New from version 2.5.13.1: The comments display can now be limited to the user's own & admin comments (show_just_mine="true"). This can be useful in combination with the complete comments display e.g. in the Foodle table. And from version 2.5.14.0, comment email notifications can be set for each poll individually.</strong>
* <strong>New from version 2.5.12.0: Comments are now part of the Excel download.</strong>
* <strong>New from version 2.5.10.0: Individuals can be excluded from being considered as voters - regardless their role(s) - by the tab 'Special Roles & Users'. From version 2.5.9.0, the bar graph text can be edited in the Foodle settings.</strong>
* <strong>New from version 2.5.8.0: The visibility of the bar graph tooltip with users who did not vote yet can now be controlled by roles.</strong>
* <strong>New from version 2.5.7.0: Added a dynamic icon (2.5.6.0) in the Democracy poll list and edit pages to visualize the following: a) everyone voted already, b) not everyone voted so far, c) the numer of users to vote is zero or d) an unexpected voter did vote or the participation rate exceeds 100%. In version 2.5.7.0, the following visualization was added: e) NOT all (maybe the brandnew) Foodle poll parameters have been saved so far, so they are still in their programmed default state.</strong>
* <strong>New from version 2.5.5.0: A table with a list of users who did not vote so far for a poll is being displayed interactively as a tooltip when hovering with the mouse over the related bar graph (also available on touch screens: just touch the bar graph). Can be limited to administrators for each poll individually (= default). This is also available in the back end poll list an in each poll edit page (icon).</strong>
* <strong>New from version 2.5.4.0: Only voters asigned for a poll are able to vote. For each poll, entering new comments can be controlled by roles and administrators' vote option is controllable as well (since 2.5.3.0).</strong>
* <strong>New from version 2.5.1.0: A comments table preview is being displayed interactively as a tooltip when hovering with the mouse over the related green icon, which indicates that comments are available for a poll, <span style="color:#2271b1;">or when touching the green icon on touch screens (since 2.5.2.0)</span>.</strong>
* <strong>New from version 2.5.1.0: A comment's preview is being displayed interactively as a tooltip when hovering with the mouse over the related green icon <span style="color:#2271b1;">(or when touching it on touch screens)</span>, which indicates that comments are available for a poll.</strong>
* <strong>New from version 2.5.0.0: A new shortcode to display the participation rate of individual polls by means of a bar graph.</strong>
* <strong>New from version 2.4.0.0: Visibility Management: In each Democracy Poll edit page, the poll-related visibility of Democracy Poll, Foodle and the poll's comments can be tailored in detail depending on the users' roles.</strong>
* <strong>New from version 2.3.0.0: A new shortcode was introduced for logged-in users to collect and display user comments related to individual polls. And from version 2.3.7.0 onward, a user template for automated use in the Democracy Poll textarea is available.</strong>
* <strong>New from version 2.2.0.0: Selection of roles is now possible for polls in order to easier control reminder emails and statistics.</strong>
* <strong>New from version 2.1.0.0: A new back end tab was introduced to display the use of the Democracy shortcode and the Foodle main shortcode.</strong>
* <strong>New from version 2.0.0.0: Major release with a number of improvements and enhancements.</strong>

<br>
<strong>Some General Considerations and more details:</strong>

The basic idea for this plugin was developed when the need for polls arrived for the choir I have the pleasure to be part of: <a target="_blank" href="https://voicesunlimited.de">Voices Unlimited</a>.
This plugin can be used by any organization, association, union, society, club or group of people when polls shall be executed and results be displayed in a structured way, e.g.:

* For this or that choir rehearsal or planned public event to be scheduled, would sufficient Sopranos 1 or Tenors 2 be available?
* Or do the choir members support this or that idea and from which sub-group do they come from?
* Or what could be winning ideas for the next concert stage dress (Democracy Poll with answers to be brought by the voters and be displayed for everyone easy to understand) and would this spread nicely in color on stage, considering the choir's stage order?

You will surely translate all this into your own environment and your own needs...

<strong>Main feature</strong> is the Foodle shortcode, which allows to display poll results in a configurable table format. Alongside the Democracy Poll shortcode, it will display the results interactively by use of AJAX communication.
However, it can as well be used independently to just display poll results.
Together with the WordPress comments function in pages or posts, this can be considered a good tool for online interaction with your registered (!) users.

<strong>Warning! Democracy Poll's logging and IP storing option must be activated in order for Foodle to work.</strong> By this, all votes are stored in the database for Foodle to work with. You may select to avoid IP storage in each individual poll in order to avoid failures when voters share the same IP address, e.g. when voting in the same WLAN environment.

<strong>The list of Foodle features comprises:</strong>

* The interactive poll results table (shortcode [foodle-democracy-poll-list-log])
* This shortcode only makes sense and therefore only works for registered users (else: no display) and registered voters (else: message)
* All other functions work regardless this necessary restriction
* A shortcode for logged-in users ([foodle-comments]) to collect and display user comments related to individuall polls (hint: in the back end Democracy poll list and each poll edit page, when hovering with the mouse over the related icon or touching it on a touch screen, a tooltip with a comments table preview is being displayed)
* A shortcode for logged-in users ([foodle-poll-bar-graph]) to display the participation rate of individual polls by means of a bar graph (hint: when hovering with the mouse over the bar graph or touching it on touch screens, a tooltip with a list of users that did not vote yet is being displayed - the same is true in the back end Democracy poll list and each poll edit page by use of the related icon)
* Several Democracy Poll shortcodes on one page/post (like before)
* Full shortcode flexibility: Several Foodle shortcodes - even for the same Democracy Poll id with differing parameters - on one page/post
* Email reminders for users who are late to vote
* An unlimited number of user metafields to be defined and used with relation to user roles (in user profile - can be switched off in Foodle settings)
* A meta field clean-up can be performed by administrators in the "Meta Field Defaults & Sorting" tab
* In the user profile, for already existing metafields as well used by Foodle, these can be deactiviated elsewhere in the user profile in order to just be filled in the user profile's Foodle area
* A shortcode for a front end interface to these extra user metafields
* Recovery of orphaned metafield field names, which still have data in the database (user meta)
* Deletion of data in the database (user meta) for metafield field names, which are orphaned
* Manual drag-n-drop fields sorting
* Careful (!) selection and use of existing user metafields
* Manual entry or drop-down entry in the user profile
* Automated filling of user metafields by use of Regular Expressions
* Easy overview and control over past user entries (normalization)
* Flexible sorting definitions
* Definition of role & user plugin-internal capabilities
* Dashboard widget (and shortcode) to provide statistics and check for logical errors in democracy_q, democracy_a and democracy_log databases
* A shortcode to link to the Foodle page/post
* A shortcode to display content based on roles
* A free name/title definition for Foodle, e.g. for the user profile and the email
* Changeable highlighting of Foodle & Democracy Poll in the admin menu and admin toolbar
* You can define a list of page/post IDs where the AJAX interactivitiy is switched off.
* Switchable interactive explanations for all functions ('Help-Tooltips')
* Warning-Tooltips can be disabled
* Help-Tooltips and Warning-Tooltips are available anywhere for the administrator (front end and back end)
* A smooth scrolling function is available anywhere for the administrator (front end and back end)
* A scroll up button with Foodle settings to have control over its visibility throughout front end and back end
* A number of Foodle CSS classes to have the design control
* In parallel to the 'administrator' role, managing Foodle can be delegated to other roles and their allowances can be tailored to your needs - some settings, however, will remain an administrator privilege (Foodle title, post exclusion, roles/allowances and vote expiry)
* Tracking of Foodle shortcode use in pages/posts
* A user template for automated use in the textarea of Democracy Poll is available
* A shortcode to create calendar entries with ics files
* Download of Foodle tables to Excel format (Beta)

<strong>In addition to that, functionality is added to Democracy Poll:</strong>

* In multiple answers polls, you can combine checkboxes and radio buttons
* In each poll edit page, you may select from the available categories (user metafields) for display
* In each poll edit page, you may define the (main) category to be used for the category column
* In each poll edit page, you may define the related text of its sorting button
* In each poll edit page, you may decide whether to display an AJAX refresh button in the results displays (voted and/or not voted)
* In each poll edit page, you may decide whether to have marked users to be counted (columns sums and first-come-first-serve answers)
* In each poll edit page, you may decide whether to prevent from storing the voters' IP adresses for this poll in order to preserve full functionality even when voters share the same IP address.<br><strong>Reminder:</strong> Democracy Poll's logging and IP storing option must remain activated in order for Foodle to work!
* In each poll edit page, you may decide for which roles the related poll is intented. Will determine the display of shortcodes 'foodle-democracy-poll-list-log' and 'foodle-comments' as well as determine the user base for email reminders (besides the settings in tab 'Special Roles & Users') and statistics
* In each poll edit page, you can control the Democracy Poll textarea and the use of its user template by a few buttons.
* In each poll edit page, the visibility of Democracy Poll, Foodle, the poll's comments, the bargraph and the bargraph tooltip can be tailored in detail depending on the users' roles.
* In each poll edit page, you can determine whether the administrator role is allowed to vote anyway, regardless the Foodle visibility settings
* In each poll edit page and in the poll list, an icon will visualize the following: a) this poll has no comments, yet or b) this poll has received comments (hint: when hovering with the mouse over the related icon or touching it on a touch screen, a tooltip with a comments table preview is being displayed)
* In each poll edit page and in the poll list, a dynamic icon will visualize the following: a) everyone voted already, b) not everyone voted so far, c) the numer of users to vote is zero, d) an unexpected voter did vote or the participation rate exceeds 100% or e) NOT all (maybe the brandnew) Foodle poll parameters have been saved so far, so they are still in their programmed default state (hint: when hovering with the mouse over the related icon or touching it on a touch screen, a tooltip with a list of users that did not vote yet is being displayed)
* In each poll edit page, you can store the ICS data for use by shortcode [foodle-create-ics]
* In the graphical poll results, a text will indicate the voter's choice(s)
* You can choose to avoid the vote expiry on polls lasting longer than 12 months
* The use of shortcodes is now possible inside the Democracy Poll's own text field located underneath the very poll
* A shortcode to disable the display of certain Foodle IDs in an archive listing (i.e. by enclosing the related Democracy Poll archive shortcode)
* A number of Democracy CSS classes to have the design control
* Corrected tracking of Democracy shortcode use in pages/posts

You will probably - at least in the beginning - want to switch-on the 'Help-Tooltips' (Foodle Settings) to see explanations for every function throughout the admin page tabs.
And don't hesitate to <a href="mailto:plugins@finkenberger.net?subject=Foodle%20Feature%20Proposal&">propose additional valuable features</a> you might still be missing - for me to review openly.
 
== Frequently Asked Questions ==

= FAQ #1: When updating a page, an error like "Updating failed. The response is not a valid JSON response." appears. What does this mean? =

This error typically appears with the "democracy" shortcode present on a page and is NOT linked to Foodle. A reason could not yet be determined, however, while unpleasant, this error is without any negative functional effect!

= FAQ #2: During testing, I experienced that deleting one vote of a poll would sometines eliminate all votes. What can I do to avoid this behavior? =

Your votes probably contain the same IP address, which typically happens if voters are in the same WLAN environment. For using Foodle, it is mandatory to switch Democracy's logging and storing of IP addresses on! When re-voting, Democracy would delete all votes with same IP address. In order to avoid this, you can prevent Democracy from storing IP adresses in the Foodle area of each poll admin page.

= FAQ #3: I have a few brilliant ideas to further enhance this plugin. What should I do? =

That's great to hear! Just <a href="mailto:plugins@finkenberger.net?subject=Got a brilliant idea for Foodle">contact the plugin author</a> to propose your ideas :)!

== Screenshots ==

1. Sample front end poll
2. Sample front end poll #2 (with comments)
3. Sample front end poll #3
4. Admin tab: Metafields
5. Admin tab: Normaization and sorting
6. Admin tab: Roles & User internal capabilities
7. Admin tab: Edit email
8. Admin tab: Shortcode use
9. Admin tab: Foodle settings
10. Admin tab: Tips tab with detailed explanations
11. Admin tab: Tips tab with detailed explanations #2
12. Enhanced Democracy Poll edit screen
13. Enhanced Democracy Poll poll list screen
14. User profile extract example

== Changelog ==

= 2.5.24.0 =
* (New) Placeholders for email text may now be copied by a mouseclick or by &lt;TAB&gt; and &lt;ENTER&gt;.
* (Tweak) Some improvements for robustness.
* (Tweak) Optimized size and structural arrangement of plugin files.

= 2.5.23.8 =
* (Tweak) A few improvements in error logging.
* Thorough test with WordPress 7.0 version.

= 2.5.23.7 =
* (Tweak) Adding further stability and code improvements, following the 2.5.23.6 enhancements.

= 2.5.23.6 =
* (Tweak) Further stability and code improvements.

= 2.5.23.5 =
* (Tweak) Some stability improvements in order to ensure a sustainable collaboration with the latest version of Democracy Poll.

= 2.5.23.4 =
* (Tweak) In the Foodle settings, the default content for Democracy Poll's textarea can now contain basic HTML code, limited like in WordPress posts.

= 2.5.23.3 =
* (New) During the shortcode use checks, all id-dependent shortcodes will be considered, not only those listed in detail in the tab.
* (Tweak) Added additional shortcode use warnings data.
* (Fix) Fixed a temporary error that could occur during an automatic plugin update.

= 2.5.23.2 =
* (New) The shortcode use tab content, error detection and messaging was newly coded and further enhanced.
* (Tweak) Any link from the shortcode use tab to a poll edit window will now directly focus the poll's textarea.

= 2.5.23.1 =
* (Tweak) Improved a few more strings.

= 2.5.23.0 =
* (New) The shortcode use tab will now display direct page/post edit links as well.
* (Tweak) Changed a few strings.

= 2.5.22.0 =
* (New) The shortcode use tab will now display the use of [foodle-comments] as well.
* (New) The shortcode use within the polls' textareas will as well be displayed.
* (Tweak) The shortcode use error handling has been extended and improved.

= 2.5.21.3 =
* (New) The shortcode [foodle-create-ics] will now contain the new optional parameter "event_url" for the event's URL. The new parameter will as well be available in each Democracy poll edit page.

= 2.5.21.2 =
* (Tweak) The ICS calendar download will now carry a proper filename, based on the event description.
* (Tweak) Introduced some additional string filtering for event parameters.

= 2.5.21.1 =
* (Fix) The introduction of protected spaces by sort lists and during clean-up of meta fields is now as well considered by the Foodle table algorithm.

= 2.5.21.0 =
* (New) In the "Meta Field Defaults & Sorting" tab, sorting lists can be auto-generated for non-drop-down fields, based on the first meta field and the related regular expression, if existing.
* (Fix) Under certain circumstances, in the meta field definition tab, the regexp replacement string was not properly saved.
* (Tweak) A few minor improvements.

= 2.5.20.3 =
* (Tweak) A few minor improvements.

= 2.5.20.2 =
* (New) In the "Meta Field Defaults & Sorting" tab, a list of related users of the sub categories can now be triggered, including links to the individual user profiles for further examination/editing.
* (Tweak) A few minor improvements.

= 2.5.20.1 =
* (Tweak) During a meta field clean-up, the related drop down list is being updated as if it was saved with the new 2.5.20.0 algorithm.

= 2.5.20.0 =
* (New) For each meta field, related roles can be defined (default = all roles for backward compatibility). This will also influence the meta field visibility in the concerned user profiles. For administrators, the meta field visibility will be visualized in each user profile.
* (New) A new meta field clean-up can be performed in the "Meta Field Defaults & Sorting" tab. This will only be available for non-empty drop down lists.
* (Tweak) In the 'Metafields Defaults & Sorting' tab, when an empty line is generated in the sorting column (i.e. a line with spaces, protected spaces or just an empty first line, e.g. for drop-down use), Foodle will replace all such lines by a protected space. By this, all users who will save their profile with such a selection will be in the same category and be visible in the tab's middle column 'Current Values & Replacements', which is not the case today.

= 2.5.19.1 =
* (New) Introduced unique event hash for calendar UID based on event summary and event start date/time to refer to the same calendar entry upon change.
* (Tweak) Some CSS format improvements.

= 2.5.19.0 =
* (New) Completely new error handling for the shortcode use update tab.

= 2.5.18.5 =
* (Tweak) Added a calendar button clipart.
* (Tweak) A few minor clarifications in texts.
* Thorough test with WordPress 6.7 version.

= 2.5.18.4 =
* (Tweak) A few minor improvements in text and images.

= 2.5.18.3 =
* (Tweak) A few structural improvements and text enhancements.

= 2.5.18.2 =
* (New) The indiviual ics button text can now as well be defined in each poll edit page.
* (New) An automatic ics button can be initiated in each poll edit page. It requires proper event data to be provided.

= 2.5.18.1 =
* (New) A new parameter (ics_button_text) was added to shortcode [foodle-create-ics] in order to be able to define each button text individually.

= 2.5.18.0 =
* (New) The ICS data for [foodle-create-ics] can now as well be stored in each poll\'s edit page.

= 2.5.17.0 =
* (New) Introduced a new shortcode [foodle-create-ics] to insert a button for adding events to a calendar (e.g. in the poll's text field - or elsewhere - while polling for this event).

= 2.5.16.1 =
* (Fix) A back end tooltip explanation was corrected and precised.

= 2.5.16.0 =
* (Tweak) Optimized column width for comments in a Foodle table.
* (Fix) Format correction for an answerlist related to comments.
* Thorough test with WordPress 6.6 version.

= 2.5.15.0 =
* (New) Upon show_just_mine="true" in shortcode [foodle-comments], comments of non-voters will be displayed alongside own and admin comments.

= 2.5.14.3 =
* (Fix) Small code correction/improvement with comments detection in database.

= 2.5.14.2 =
* (Tweak) New icons and tooltips for polls with comment emails.

= 2.5.14.1 =
* (Fix) A small bug fix.
* (Fix) Precised some German translations.

= 2.5.14.0 =
* (New) Upon new, updated or deleted comments, email notifications to the admin can be initiated for each poll individually in the Foodle poll settings.

= 2.5.13.2 =
* (Fix) Removed a bug where comments could be deleted under certain conditions when using show_just_mine="true".

= 2.5.13.1 =
* (Tweak) Admin comments will be shown as well when using show_just_mine="true".

= 2.5.13.0 =
* (New) The comments display can now be limited to the user's own comments (show_just_mine="true"). This can be useful in combination with the complete comments display in the Foodle table.

= 2.5.12.1 =
* (New) Comments can now be switched on/off in the Foodle shortcode [foodle-democracy-poll-list-log] by 'comments="false/true"' (default = false).

= 2.5.12.0 =
* (New) Comments are now part of the Excel download.
* (New) Foodle table formats were optimized for Excel download.

= 2.5.11.4 =
* (Fix) Update of a few German translations.

= 2.5.11.3 =
* (Fix) Users with more than one role are not counted more than once.

= 2.5.11.2 =
* (Fix) Removed a bug which prevented from adding additional Foodle metafields if only the first one existed (before the bug was introduced).

= 2.5.11.1 =
* (Fix) Triggers to show the warning message for roles selection of the bar graph tooltip visibility were optimized.
* Thorough test with WordPress 6.5 version.

= 2.5.11.0 =
* (New) If those exist: Added a table with "unexpected voters" in front of the AJAX tooltip table with voters that did not vote, yet. Unexpected voters can occur when playing around with the voter settings after votes have been done.

= 2.5.10.1 =
* (Tweak) Improved poll data gathering and related error handling.

= 2.5.10.0 =
* (New) Individuals can be excluded from being considered as voters - regardless their role(s) - by the tab 'Special Roles & Users'.

= 2.5.9.1 =
* (Fix) Corrected the help tooltip for the bar graph text definition in the Foodle settings.

= 2.5.9.0 =
* (New) Introduced bar graph text definition in the Foodle settings.

= 2.5.8.7 =
* (Tweak) Added a little structural improvement and a dynamic warning for the bar graph tooltip roles selection in each Democracy Poll edit page.
* (Tweak) A few code improvements.

= 2.5.8.6 =
* (Fix) Language correction.

= 2.5.8.5 =
* (Fix) Under certain circumstances, hide on mouse out did not work with warning tooltips. Fixed.

= 2.5.8.4 =
* (Fix) Small bug fix.

= 2.5.8.3 =
* (Tweak) The icon information above the poll list table was further improved and a second icon information underneath the list will show up as soon as the poll list is getting longer than 7 entries.

= 2.5.8.2 =
* (New) Added parameter 'foodle_tooltip_touch' to the Foodle tooltip function (see Foodle tips-tab).
* (Tweak) Added tooltip explanations to the icon information above the poll list table.

= 2.5.8.1 =
* (New) Added an icon information above the poll list table.

= 2.5.8.0 =
* (New) The visibility of the bar graph tooltip with users who did not vote yet can now be controlled by roles.
* (Fix) The adherence to the visibility settings was further improved.

= 2.5.7.1 =
* (Tweak) The tips tab content was further improved with relevant information.

= 2.5.7.0 =
* (New) Added a new image for the dynamic icon to visualize the following: e) NOT all (maybe the brandnew) Foodle poll parameters have been saved so far, so they are still in their programmed default state.
* (Fix) A few bugs were fixed.

= 2.5.6.0 =
* (New) Added additional information to the tooltip with the list of users that did not vote so far.
* (New) Added an indication in case the number of users to vote is zero (could e.g. happen when there's an incorrect role selection for a poll).
* (New) Added a dynamic icon in the Democracy poll list and edit pages to visualize the following: a) everyone voted already, b) not everyone voted so far, c) the numer of users to vote is zero or d) the participation rate exceeds 100%.

= 2.5.5.1 =
* (Tweak) The tooltip table with users who did not yet vote is also available in the back end poll list an in each poll edit page (icon).

= 2.5.5.0 =
* (New) A table with a list of users who did not vote so far for a poll is being displayed interactively as a tooltip when hovering with the mouse over the related bar graph (also available on touch screens: just touch the bar graph). Can be limited to administrators for each poll individually (= default).

= 2.5.4.2 =
* (Fix) Fixed a bug with hiding Democracy Poll and Democracy Poll archives for certain roles.

= 2.5.4.1 =
* (Tweak) Added some information to the bar graph (number of users that did vote and total number of users concerned by this poll, plus an indication in case the participation rate exceeds 100%).
* (Tweak) A few optimizations for robustness.
* (Fix) Fixed a bug where administrators could eventually not vote as long as the Foodle poll parameters weren't yet saved at least once for a poll.

= 2.5.4.0 =
* (New) Only voters assigned for a poll will be able to vote, provided, they can see the poll anyway. This logic includes the administrator role.
* (New) Aside the visibility of comments, it can now be decided for each poll, whether comments can be entered, depending on roles.
* (Tweak) Some strings were improved for better clarity.

= 2.5.3.0 =
* (New) In each Democracy Poll edit page, it can be decided separately, whether administrators count for the pool of voters (bar graph), when they are selected. This provides additional flexibility for the visibility setup.
* (Tweak) The shortcode [foodle-link-democracy-poll] is no longer visible in Democracy Poll archives, as these archives provide a link anyway.
* (Tweak) Added classes 'foodle-link-shortcode' and 'foodle-link-shortcode-xx' with xx being the poll id to the [foodle-link-democracy-poll] output link.
* (Tweak) Added some robustness to the bar graph animation function.

= 2.5.2.1 =
* (Fix) Fixed a bug introduced with the interactive comments tooltip: the safety query before deleting all comments of a poll is back.

= 2.5.2.0 =
* (Tweak) The interactive tooltip display of poll comments is now also available on touch screens (just touch the green icon).
* (Fix) Added two missing CSS styles for the comments table in the back end.

= 2.5.1.0 =
* (New) A comments table preview is being displayed interactively as a tooltip when hovering with the mouse over the related green icon, which indicates that comments are available for a poll.

= 2.5.0.7 =
* (Fix) Make sure that the first ("original") use of each of both shortcodes, [democracy] and [foodle-democracy-poll-list-log], will stay as the first in the list to be properly used by shortcode [foodle-link-democracy-poll].
* (Tweak) Optimized the navigation tabs on the foodle admin page.

= 2.5.0.6 =
* (Tweak) Bar graph visibility is now controlled as set in the Foodle settings like all other Foodle parts.
* (Tweak) CSS structures further improved.
* (Fix) A few strings improved.

= 2.5.0.5 =
* (Tweak) Further CSS cleanup to cover "aggressive" themes.

= 2.5.0.4 =
* (Tweak) Optimized the display logic of the 'so far no comments' message and some spacing with related CSS.

= 2.5.0.3 =
* (Tweak) Optimized the display logic and text size of the new comment input title.

= 2.5.0.2 =
* (Tweak) The title of both, the Foodle bar graph and the Foodle comments table, will only be removed, when inside the correct (!) Democracy textarea.

= 2.5.0.1 =
* (Tweak) The participation rate bar graph will now update simultaneously when a vote is done or changed.
* (Fix) Corrected a string.

= 2.5.0.0 =
* (New) A new shortcode [foodle-poll-bar-graph] to display the participation rate of individual polls by means of a bar graph.

= 2.4.3.0 =
* (New) The visibility of the Foodle scroll up button can now be controlled in detail throughout front end and back end.
* (Tweak) Some structural improvements in the plugin files.

= 2.4.2.2 =
* (Tweak) Scroll up button's hand symbol was corrected and enlarged a bit.
* (Fix) Scroll up button was lacking its help tooltip. Fixed.

= 2.4.2.1 =
* (Tweak) The tips tab scroll up button was enhanced to a dynamic version and is now available everywhere in the Foodle admin pages and the Democracy admin pages.

= 2.4.2.0 =
* (New) A new function was introduced: Smooth scrolling with various parameters also for administrator use in front end and back end.
* (New) The tips tab now contains top links to the different chapters (incl. a scroll up button) for overview and easy access to the numerous functions, which can also be considered as a list of contents.
* (Tweak) A few strings improved for better clarity.

= 2.4.1.0 =
* (New) The use of id="self" for shortcodes in the Democracy textarea now works as well in Democracy archives, i.e. when displayed through shortcode [democracy_archives].
* (Tweak) Translation for role names is now available in Foodle tab 'Special Roles & Users' as well.
* (Tweak) A few message and stability improvements.
* (Fix) Under certain circumstances, when used more than once in one Democracy textarea, id="self" did not properly work. This was fixed.

= 2.4.0.0 =
* (New) Introduced visibility management: In each Democracy Poll edit page, the poll-related visibility of Democracy Poll, Foodle and the poll's comments can be tailored in detail depending on the users' roles.
* (Tweak) Improved a few tooltips.
* (Tweak) A few other minor improvements and adaptations.

= 2.3.7.6 =
* (New) In each Democracy Poll edit page, an icon will indicate whether a poll did already receive comments (directly under the icon indicating the IP storage).

= 2.3.7.5 =
* (New) In the Democracy Poll's poll list, an icon will indicate whether a poll did already receive comments (directly under the icon indicating the IP storage).

= 2.3.7.4 =
* (New) During formular edit in Democracy and Foodle, changed fields (incl. the first new answer) are marked golden for better overview.
* (Tweak) Minor improvements in the handling of the Democracy textarea input field.

= 2.3.7.3 =
* (New) Add an admin button to delete all comments for a poll.

= 2.3.7.2 =
* (Fix) Fix behaviour of backslash and backslash combinations in comments.

= 2.3.7.1 =
* (Tweak) Further improved the handling of the Democracy textarea.

= 2.3.7.0 =
* (New) Introduce a user template in the Foodle settings to define a default Democracy textarea for automated use.
* (New) Parameter 'self' is now available as valid input for the Democracy id in shortcodes 'foodle-comments' and 'foodle-link-democracy-poll' when used inside the Democracy Poll textarea.
* (Fix) Secure the handling of backslashes in the comments.
* (Fix) Fix a few formats.

= 2.3.6.5 =
* (Fix) Optimize the use of single quotes in comments.

= 2.3.6.4 =
* (Fix) Secure line breaks in comments.

= 2.3.6.3 =
* (Fix) Comments are filtered in addition to enable the use of some special characters.

= 2.3.6.2 =
* (Fix) Bug upon multiple comment edits on one page.

= 2.3.6.1 =
* (Fix) Ensure a correct auto-scroll upon comment edit under multiple browsers/conditions.

= 2.3.6.0 =
* (New) Added a new parameter ('edit_comments') to shortcode 'foodle-comments' to allow or prohibit users to edit their own comments (see the tips tab).

= 2.3.5.0 =
* (New) In the shortcode use list, the related page/post status is now indicated as well as whether a page/post is secured by a password.
* (New) Make sure that the shortcode use will address all post statuses except 'inherit' (so far only 'publish' and 'private').
* (New) The search for shortcode use is now performed as well upon Democracy polls being saved (so far only upon page/post save).

= 2.3.4.3 =
* (Fix) Make sure that the shortcode use also addresses private posts (so far only published ones).

= 2.3.4.2 =
* (Tweak) A few smaller improvements including the search for shortcode uses, the democary poll edit page and some formats.

= 2.3.4.1 =
* (Tweak) Replaced the column header term 'Delete' by a clipart in order to reduce the column width.

= 2.3.4.0 =
* (New) Added a new parameter ('delete_comments') to shortcode 'foodle-comments' to allow or prohibit users to delete their own comments (see the tips tab).
* (Tweak) Added a few classes and ids for the Foodle comments table and its headlines (please consult the tips tab for details).

= 2.3.3.1 =
* (Tweak) Added robustness for multiple uses of the same Foodle comments table inside and outside of the Democracy Poll window on one page.

= 2.3.3.0 =
* (New) First headline of the Foodle comments table with the poll name will be removed when used inside the Democracy Poll window.

= 2.3.2.2 =
* (Tweak) Some format optimizations in the Foodle comments table.
* (Info) Description for changes in version 2.3.1.2 was corrected (the new ID comes with underscores). Please see below.

= 2.3.2.1 =
* (New) Updated the comment input headline to become a label for the textarea and indicating the poll's name.
* (Info) Description for changes in version 2.3.1.2 was updated. Please see below.

= 2.3.2.0 =
* (Tweak) Display shortcode 'foodle-comments' only, if the poll id exists and if the current user's role relates to the poll's roles concerned.
* (Tweak) Display shortcode 'foodle-democracy-poll-list-log' only, if the current user's role relates to the poll's roles concerned (poll id check was existing before).

= 2.3.1.2 =
* (Tweak) Adjusted some formats and added a few classes to have better CSS control over the new Foodle comments table (see the tips tab). Here's a brief list of the main additions: ID foodle-poll-comment-text changed to become a class instead and in parallel added ID foodle_poll_comment_text_X with X representing the related poll id; added Foodle comments table column classes foodle-comments-user, foodle-comments-date and foodle-comments-comment.

= 2.3.1.1 =
* (Fix) Ensure correct use of $_POST for sites with more than one instance of shortcode 'foodle_comments'.

= 2.3.1.0 =
* (New) Introduce parameter 'show_comments' for shortcode 'foodle-comments' in order to control the visibility of the comments.

= 2.3.0.2 =
* (Fix) Corrected shortcode slug from foodle_comments to foodle-comments.

= 2.3.0.1 =
* (Tweak) Make sure that shortcode 'foodle-comments' will work for logged-in users only.
= 2.3.0.0 =
* (New) Introduced shortcode 'foodle-comments' to collect and display user comments related to individual polls. More details can be found in the Foodle tips tab.
* (Tweak) Following the new shortcode, in order to have more control over the page, the default value of class 'foodle-table-bottom-spacing' was reduced to 0px (60px before).

= 2.2.0.5 =
* (Tweak) The role names will now be translated (as far as available) at selection as roles concerned for each Foodle.

= 2.2.0.4 =
* (Fix) Corrected the behaviour of the Special Roles & Users table (when adding and deleting lines).
* (Tweak) A few optimizations in back end CSS.

= 2.2.0.3 =
* (Fix) Minor improvement regarding the back end Foodle status messages.

= 2.2.0.2 =
* (Fix) A micro bug fix.

= 2.2.0.1 =
* (Fix) A minor bug fix.

= 2.2.0.0 =
* (New) Introduced a role selection per Foodle in order to determine the related roles concerned (e.g. for reminders). No selection = all roles are concerned for the Foodle (for backward compatibility).

= 2.1.7.0 =
* (New) Foodle front end tooltips can be switched on and of in the foodle settings (this does not influence the administrator's individual use of the tooltip function provided by Foodle).

= 2.1.6.1 =
* (New) Added a front end tooltip to better explain the Foodle table download function.
* (Fix) Some format corrections.

= 2.1.6.0 =
* (New) Introduced a button underneath the Foodle table to download the related table to Excel format (Beta).

= 2.1.5.2 =
* (Fix) Corrected handling of name attributes containing spaces.

= 2.1.5.1 =
* (Fix) Fixed the handling of certain name attributes in the user profile.

= 2.1.5.0 =
* (New) In the meta fields definition, the link reference to an existing field in the user profile can now be either an id (as before) or a name.
* Thorough test with WordPress 6.4 version.

= 2.1.4.3 =
* (Fix) Format correction in the Foodle table for certain answer list configurations (answerlist="true").
* (Tweak) Adapted headline for the Foodle settings.

= 2.1.4.2 =
* (New) In the Foodle settings, protected settings (not able to be delegated to other roles) will be marked with a red lock.

= 2.1.4.1 =
* (Tweak) In the Foodle settings, either vote time is disabled, if the related vote date is not checked.

= 2.1.4.0 =
* (New) Added a setting to determine, whether the vote date and vote time to be displayed for selected special viewers and/or administrators.

= 2.1.3.2 =
* (Tweak) The columns' sum content remark at the Foodle table top left does not appear with a Foodle table setting 'answerlist="true"'.

= 2.1.3.1 =
* (Tweak) Setting added to select whether the voters' valid email link in the Foodle table shall be visible for administrators and/or non-administrators.

= 2.1.3.0 =
* (New) Added voters' valid email link in the Foodle table for administrators.
* Thorough test with WordPress 6.3 version.

= 2.1.2.1 =
* (New) Button for orphaned metafield data deletion is only activated if such data is existing in the database.

= 2.1.2.0 =
* (Tweak) Shortcode [foodle-show-extra-fields] display will be visible for logged-in users only.

= 2.1.1.0 =
* (New) Added a button to trigger the shortcode use update manually.

= 2.1.0.0 =
* (New) Append democracy_q database by column 'in_foodles' to be able to track Foodle shortcode use.
* (New) With each page/post save, update democracy_q database with shortcode use information (correctly now for [democracy] and new for [foodle-for-democracy-poll-list-log]).
* (New) New tab added to dispay the Democracy shortcode use and Foodle shortcode use in pages/posts for each Democracy Poll id.
* (Tweak) Introduce option 'foodle_version' to better track updates (also through FTP) and necessary adaptations thereupon.
* (Fix) A few minor optimizations here and there.

= 2.0.0.5 =
* (Fix) Corrected some minor formatting.

= 2.0.0.4 =
* (Fix) Corrected behaviour with some default settings.
* (Fix) Corrected behaviour with admin menu colors in some isolated cases.

= 2.0.0.3 =
* (Fix) Corrected an error on the vote expiry setting introduced with version 2.0.0.0.

= 2.0.0.2 =
* (New) The Foodle title setting has been added to the administrator privileges.
* (Tweak) Improved display format of the role allowances setting.

= 2.0.0.1 =
* (Fix) Correction of a string with functional influence.

= 2.0.0.0 =
* (New) Allow other user roles to manage Foodle (like existing for Democracy). The roles' allowances can be tailored as needed in the Foodle settings. Some settings will remain an administrator privilege (post exclusion, roles/allowances and vote expiry).
* (New) In the metafile definition tab's drop-down of existing metafiles, 'RECOVER' entries appear for recovery of orphaned Foodle field names with still existing data in the database.
* (New) Still existing data in the database for orphaned metafield names can be deleted, if not recovered through the above new function.
* (Tweak) Upon pressing the 'Delete orphaned metafiled entries' button, a confirm popup will explain how to recover still existing data before to really delete it.
* (Fix) A few minor code and string improvements plus some fixes for further stability.

= 1.0.0.0 - 1.9.1.2 =
* Will be available with a link from here soon (separately due to limited lenght allowance at this place in WordPress)

== Upgrade Notice ==

= None =
* No upgrades available at this time.


