From 0612b7641201c8127db8fb6b672f5772686e0aa8 Mon Sep 17 00:00:00 2001
From: pewgeuges <73141620+pewgeuges@users.noreply.github.com>
Date: Tue, 9 Feb 2021 23:33:29 +0000
Subject: [PATCH] traceability update 2.5.4d4
git-svn-id: https://plugins.svn.wordpress.org/footnotes/trunk@2472020 b8457f37-d9ea-0310-8a92-e5e31aec5664
---
class/init.php | 38 +-
class/language.php | 18 +-
class/settings.php | 5 +-
class/task.php | 485 ++++++++++++------
class/template.php | 24 +-
footnotes.php | 6 +-
readme.txt | 61 +--
templates/dashboard/editor-button.html | 19 +-
templates/public/footnote-alternative.html | 4 +
templates/public/footnote.html | 4 +-
.../reference-container-body-3column.html | 4 +
.../reference-container-body-combi.html | 4 +
.../reference-container-body-switch.html | 4 +
.../public/reference-container-body.html | 8 +
templates/public/reference-container.html | 40 +-
templates/public/tooltip.html | 6 +-
16 files changed, 456 insertions(+), 274 deletions(-)
diff --git a/class/init.php b/class/init.php
index e5ee037..589e90c 100644
--- a/class/init.php
+++ b/class/init.php
@@ -7,12 +7,12 @@
* @since 1.5.0 12.09.14 10:56
*
*
- * @lastmodified 2021-02-06T0304+0100
+ * @lastmodified 2021-02-08T1910+0100
*
* @since 1.6.5 Bugfix: Improve widgets registration, thanks to @felipelavinz code contribution.
* @since 1.6.5 Update: Fix for deprecated PHP function create_function(), thanks to @psykonevro @daliasued bug reports, thanks to @felipelavinz code contribution.
* @since 2.0.0 Update: Tooltips: fix disabling bug by loading jQuery UI library, thanks to @rajinderverma @ericcorbett2 @honlapdavid @mmallett bug reports, thanks to @vonpiernik code contribution.
- *
+ *
* @since 2.0.3 add versioning of public.css for cache busting 2020-10-29T1413+0100
* @since 2.0.4 add jQuery UI from WordPress 2020-11-01T1902+0100
* @since 2.1.4 automate passing version number for cache busting 2020-11-30T0646+0100
@@ -44,13 +44,13 @@ class MCI_Footnotes {
*
*
* - Bugfix: Improve widgets registration, thanks to @felipelavinz code contribution.
- *
+ *
* @since 1.6.5
*
* @contributor @felipelavinz
* @link https://github.com/media-competence-institute/footnotes/commit/87173d2980c7ff90e12ffee94ca7153e11163793
- *
- * @see initializeWidgets()
+ *
+ * @see initializeWidgets()
*/
public function run() {
// register language
@@ -81,7 +81,7 @@ class MCI_Footnotes {
*
*
* - Update: Fix for deprecated PHP function create_function(), thanks to @psykonevro @daliasued bug reports, thanks to @felipelavinz code contribution
- *
+ *
* @since 1.6.5
*
* @contributor @felipelavinz
@@ -99,8 +99,8 @@ class MCI_Footnotes {
*
* The fix is to move add_action() above into run(),
* and use the bare register_widget() here.
- * @see run()
- *
+ * @see run()
+ *
* Also, the visibility of initializeWidgets() is not private any longer.
*/
public function initializeWidgets() {
@@ -134,21 +134,21 @@ class MCI_Footnotes {
* @author Stefan Herndler
* @since 1.5.0
*
- *
- * - Update: Tooltips: fix disabling bug by loading jQuery UI library, thanks to @rajinderverma @ericcorbett2 @honlapdavid @mmallett bug reports, thanks to @vonpiernik code contribution.
- *
- * @since 2.0.0
+ *
+ * - Update: Tooltips: fix disabling bug by loading jQuery UI library, thanks to @rajinderverma @ericcorbett2 @honlapdavid @mmallett bug reports, thanks to @vonpiernik code contribution.
+ *
+ * @since 2.0.0
* Updated for v2.0.4 by adding jQuery UI from WordPress following @check2020de:
*
* See
*
- * jQueryUI re-enables the tooltip infobox disabled when WPv5.5 was released.
- * @since 2.0.0 Update: Tooltips: fix disabling bug by loading jQuery UI library, thanks to @rajinderverma @ericcorbett2 @honlapdavid @mmallett bug reports, thanks to @vonpiernik code contribution.
- * @since 2.0.3 add versioning of public.css for cache busting 2020-10-29T1413+0100
- * @since 2.0.4 add jQuery UI from WordPress 2020-11-01T1902+0100
- * @since 2.1.4 automate passing version number for cache busting 2020-11-30T0646+0100
- * @since 2.1.4 optionally enqueue an extra style sheet 2020-12-04T2231+0100
- */
+ * jQueryUI re-enables the tooltip infobox disabled when WPv5.5 was released.
+ * @since 2.0.0 Update: Tooltips: fix disabling bug by loading jQuery UI library, thanks to @rajinderverma @ericcorbett2 @honlapdavid @mmallett bug reports, thanks to @vonpiernik code contribution.
+ * @since 2.0.3 add versioning of public.css for cache busting 2020-10-29T1413+0100
+ * @since 2.0.4 add jQuery UI from WordPress 2020-11-01T1902+0100
+ * @since 2.1.4 automate passing version number for cache busting 2020-11-30T0646+0100
+ * @since 2.1.4 optionally enqueue an extra style sheet 2020-12-04T2231+0100
+ */
public function registerPublic() {
//### SCRIPTS
diff --git a/class/language.php b/class/language.php
index 8f74092..a7f5500 100644
--- a/class/language.php
+++ b/class/language.php
@@ -7,7 +7,7 @@
* @since 1.5.0 14.09.14 17:47
*
*
- * @lastmodified 2021-02-06T1352+0100
+ * @lastmodified 2021-02-08T1914+0100
*
* @since 2.0.0 Bugfix: Localization: correct function call apply_filters() with all required arguments after PHP 7.1 promoted warning to error, thanks to @matkus2 bug report and code contribution.
* @since 2.1.6 Bugfix: Localization: conform to WordPress plugin language file name scheme, thanks to @nikelaos bug report.
@@ -83,17 +83,17 @@ class MCI_Footnotes_Language {
* @param string $p_str_LanguageCode Language Code to load a specific text domain.
* @return bool
*
- *
+ *
* - Bugfix: Localization: conform to WordPress plugin language file name scheme, thanks to @nikelaos bug report.
- *
- * @since 2.1.6
- * @datetime 2020-12-08T1931+0100
- *
- * @reporter @nikelaos
+ *
+ * @since 2.1.6
+ * @datetime 2020-12-08T1931+0100
+ *
+ * @reporter @nikelaos
* @link https://wordpress.org/support/topic/more-feature-ideas/
- *
+ *
* That is done by using load_plugin_textdomain():
- * “The .mo file should be named based on the text domain with a dash, and then the locale exactly.”
+ * “The .mo file should be named based on the text domain with a dash, and then the locale exactly.”
* @see wp-includes/l10n.php:857
*/
private static function load($p_str_LanguageCode) {
diff --git a/class/settings.php b/class/settings.php
index 1175d60..049e25a 100644
--- a/class/settings.php
+++ b/class/settings.php
@@ -60,8 +60,9 @@
* @since 2.3.0 reference container: settings for top (and bottom) margin, thanks to @hamshe
* @link https://wordpress.org/support/topic/reference-container-in-elementor/#post-13786635
*
- * @since 2.3.0 swap Custom CSS migration Boolean from 'migration complete' to 'show legacy' 2020-12-27T1243+0100
- *
+ * @since 2.3.0 Bugfix: Dashboard: Custom CSS: swap migration Boolean, meaning 'show legacy' instead of 'migration complete', due to storage data structure constraints.
+ * @datetime 2020-12-27T1243+0100
+
* @since 2.3.0 referrers, reference container: settings for anchor slugs 2020-12-31T1429+0100
*
* @since 2.4.0 footnote shortcode syntax validation 2021-01-01T0624+0100
diff --git a/class/task.php b/class/task.php
index e549ec3..79a0a3d 100644
--- a/class/task.php
+++ b/class/task.php
@@ -7,9 +7,9 @@
* @since 1.5.0
*
*
- * @lastmodified 2021-02-06T0241+0100
+ * @lastmodified 2021-02-10T0027+0100
*
- * @since 2.0.0 Bugfix: Various.
+ * @since 2.0.0 Bugfix: various.
* @since 2.0.5 Bugfix: Reference container: fix relative position through priority level, thanks to @june01 @imeson @spaceling bug reports, thanks to @spaceling code contribution.
* @since 2.0.5 Update: Hooks: Default-enable all hooks to prevent footnotes from seeming broken in some parts.
* @since 2.0.6 Bugfix: Infinite scroll: debug autoload by adding post ID, thanks to @docteurfitness code contribution.
@@ -17,7 +17,7 @@
* @since 2.0.7 BUGFIX: Hooks: Default-disable 'the_post', thanks to @spaceling @@markcheret @nyamachi @whichgodsaves @spiralofhope2 @mmallett @andreasra @widecast @ymorin007 @tashi1es bug reports.
* @since 2.0.9 Bugfix: Remove the_post hook 2020-11-08T1839+0100.
* @since 2.1.0 Adding: Tooltips: Read-on button: Label: configurable instead of localizable.
- * @since 2.1.1 Bugfix: Combining identical footnotes: fix dead links and ensure referrer-backlink bijectivity, thanks to @happyches bug report.
+ * @since 2.1.1 Bugfix: Referrers, reference container: Combining identical footnotes: fix dead links and ensure referrer-backlink bijectivity, thanks to @happyches bug report.
* @since 2.1.1 Bugfix: Reference container: fix start pages by making its display optional, thanks to @dragon013 bug report.
* @since 2.1.1 Bugfix: Referrers: new setting for vertical align: superscript (default) or baseline (optional), thanks to @cwbayer bug report.
* @since 2.1.1 Bugfix: Reference container: option to append symbol (prepended by default), thanks to @spaceling code contribution.
@@ -25,110 +25,51 @@
* @since 2.1.1 Bugfix: Reference container: option to restore 3-column layout (combining identicals turned off).
* @since 2.1.1 Bugfix: Dashboard: priority level setting for the_content hook, thanks to @imeson bug report.
* @since 2.1.2 Bugfix: Dashboard: priority level settings for all other hooks, thanks to @nikelaos bug report.
- *
- * @since 2.1.4 Bugfix: Reference container, tooltips: fix line wrapping of URLs based on pattern, not link element.
- * @datetime 2020-11-25T0837+0100
* @since 2.1.4 Bugfix: Styling: Referrers and backlinks: make link elements optional to fix issues.
- * @datetime 2020-11-26T1051+0100
* @since 2.1.4 Bugfix: Reference container: Backlink symbol: support for appending when combining identicals is on.
- * @datetime 2020-11-26T1633+0100
* @since 2.1.4 Bugfix: Reference container: make separating and terminating punctuation optional and configurable.
- * @datetime 2020-11-28T1048+0100
* @since 2.1.4 Bugfix: Reference container: Backlinks: fix stacked enumerations by adding optional line breaks.
- * @datetime 2020-11-28T1049+0100
* @since 2.1.4 Bugfix: Reference container: fix layout issues by moving backlink column width to settings.
* @since 2.1.4 Bugfix: Styling: Tooltips: fix font size issue by adding font size to settings with legacy as default.
- * @datetime 2020-12-03T0954+0100
* @since 2.1.4 Bugfix: Scroll offset: make configurable to fix site-dependent issues related to fixed headers.
* @since 2.1.4 Bugfix: Scroll duration: make configurable to conform to website content and style requirements.
- * @datetime 2020-12-05T0538+0100
* @since 2.1.4 Bugfix: Tooltips: make display delays and fade durations configurable to conform to website style.
- * @datetime 2020-12-06T1320+0100
- * @since 2.1.4 Bugfix: Styling: Referrers and backlinks: make link elements optional to fix issues.
- * @since 2.1.4 Bugfix: Reference container, tooltips: fix line wrapping of URLs based on pattern, not link element.
+ * @since 2.1.4 Bugfix: Referrers and backlinks: Styling: make link elements optional to fix issues.
+ * @since 2.1.4 Bugfix: Reference container, tooltips: fix line wrapping of URLs (hyperlinked or not) based on pattern, not link element.
* @since 2.1.4 Bugfix: Reference container: Backlink symbol: support for appending when combining identicals is on.
- * @since 2.1.4 Reference container: Backlinks: fix line breaking with respect to separators and terminators.
- *
- * @since 2.1.5 URL wrap: exclude image source too, thanks to @bjrnet21 bug report
- * @link https://wordpress.org/support/topic/2-1-4-breaks-on-my-site-images-dont-show/
- *
- * @since 2.1.6 option to disable URL line wrapping
- * @datetime 2020-12-09T1606+0100
- *
- * @since 2.1.6 add catch-all exclusion to fix URL line wrapping, thanks to @a223123131 bug report
- * @datetime 2020-12-09T1921+0100
- * @link https://wordpress.org/support/topic/broken-layout-starting-version-2-1-4/
- *
+ * @since 2.1.4 Bugfix: Reference container: Backlinks: fix line breaking with respect to separators and terminators.
+ * @since 2.1.5 Bugfix: Reference container, tooltips: URL wrap: exclude image source too, thanks to @bjrnet21 bug report.
+ * @since 2.1.6 Bugfix: Reference container, tooltips: URL wrap: fix regex, thanks to @a223123131 bug report.
+ * @since 2.1.6 Bugfix: Dashboard: URL wrap: add option to properly enable/disable URL wrap.
* @since 2.2.0 Adding: Reference container: support for custom position shortcode, thanks to @hamshe issue report.
- * @datetime 2020-12-13T2058+0100
- * @link https://wordpress.org/support/topic/reference-container-in-elementor/
- *
- * @since 2.2.3 custom CSS from new setting in header after legacy
- * @datetime 2020-12-15T1128+0100
- *
- * @since 2.2.5 connect alternative tooltips to position and timing settings
- * @datetime 2020-12-18T1113+0100
- *
- * @since 2.2.5 delete unused position shortcode when ref container in widget or footer, thanks to @hamshe bug report
- * @datetime 2020-12-18T1437+0100
- * @link https://wordpress.org/support/topic/reference-container-in-elementor/#post-13784126
- *
- * @since 2.2.5 options for label element and label bottom border, thanks to @markhillyer support request
- * @datetime 2020-12-18T1447+0100
- * @link https://wordpress.org/support/topic/how-do-i-eliminate-the-horizontal-line-beneath-the-reference-container-heading/
- *
- * @since 2.2.6 URL wrap: make the quotation mark optional in the exclusion regex, thanks to @spiralofhope2 bug report
- * @datetime 2020-12-23T0409+0100
- * @link https://wordpress.org/support/topic/two-links-now-breaks-footnotes-with-blogtext/
- *
- * @since 2.2.7 revert that change in the exclusion regex, thanks to @rjl20, @spaceling, @friedrichnorth, @bernardzit bug reports
- * @datetime 2020-12-23T1046+0100
- * @link https://wordpress.org/support/topic/two-links-now-breaks-footnotes-with-blogtext/
- * @link https://wordpress.org/support/topic/footnotes-dont-show-after-update-to-2-2-6/
- *
- * @since 2.2.8 URL wrap: correct lookbehind by duplicating it with and without quotation mark class
- * @datetime 2020-12-23T1108+0100
- *
- * @since 2.2.9 URL wrap: account for RFC 2396 allowed characters in parameter names
- * @datetime 2020-12-24T1956+0100
- * @link https://stackoverflow.com/questions/814700/http-url-allowed-characters-in-parameter-names
- *
- * @since 2.2.9 Reference containers, widget_text hook: support for multiple containers in a page, thanks to @justbecuz bug report
- * @link https://wordpress.org/support/topic/reset-footnotes-to-1/#post-13662830
- *
- * @since 2.2.9 URL wrap: exclude URLs also where the equals sign is preceded by an entity or character reference
- * @datetime 2020-12-25T1251+0100
- *
- * @since 2.2.10 URL wrap: support also file transfer protocol URLs
- * @datetime 2020-12-25T2220+0100
- *
- * @since 2.2.10 Reference container: add option for table borders to revert 2.0.0/2.0.1 change made on user request, thanks to @noobishh
- * @datetime 2020-12-25T2304+0100
- * @link https://wordpress.org/support/topic/borders-25/
- *
- * @since 2.3.0 Reference container: convert top padding to margin and make it a setting, thanks to @hamshe bug report
- * @link https://wordpress.org/support/topic/reference-container-in-elementor/#post-13786635
- *
- * @since 2.3.0 optional hard links in referrers and backlinks for AMP compatibility, thanks to @psykonevro bug report, thanks to @martinneumannat code contribution
- * @since 2.3.0 swap Custom CSS migration Boolean from 'migration complete' to 'show legacy'
- * @datetime 2020-12-27T1243+0100
- * @since 2.4.0 syntax validation for balanced footnote start and end tags 2021-01-01T0227+0100
- * @since 2.4.0 initialize scroll offset variable to 34 as a more robust default, thanks to @lukashuggenberg 2021-01-04T0504+0100
- * @since 2.4.0 set empty reference container label to NNBSP to make it more robust, thanks to @lukashuggenberg 2021-01-04T0504+0100
- * @since 2.4.0 Performance: optimize template load and process according to settings, thanks to @misfist code contribution
- * @since 2.4.0 initialize hard link address as empty to fix undefined variable bug, thanks to @a223123131 2021-01-04T1622+0100
- *
- * @since 2.5.0 Shortcode syntax validation: exclude certain cases involving scripts, thanks to @andreasra 2021-01-07T0824+0100
- * @since 2.5.0 Shortcode syntax validation: complete message with hint about setting, thanks to @andreasra
- * @since 2.5.0 Shortcode syntax validation: limit length of quoted string to 300 characters, thanks to @andreasra
- * @link https://wordpress.org/support/topic/warning-unbalanced-footnote-start-tag-short-code-before/
- *
- * @since 2.5.0 Hooks: support footnotes on category pages, thanks to @vitaefit bug report, thanks to @misfist code contribution
- * @since 2.5.1 Hooks: support footnotes in Popup Maker popups, thanks to @squatcher bug report
- *
- * @since 2.5.2 Tooltips: ability to display dedicated content, thanks to @jbj2199 bug report
- *
- * @since 2.5.3 URL wrap: exclude URL pattern as folder name in Wayback Machine URL, thanks to @rumperuu bug report
+ * @since 2.2.3 Bugfix: Custom CSS: insert new CSS in the public page header element after existing CSS.
+ * @since 2.2.5 Bugfix: Reference container: delete position shortcode if unused because position may be widget or footer, thanks to @hamshe bug report.
+ * @since 2.2.5 Bugfix: Reference container: Label: make bottom border an option, thanks to @markhillyer issue report.
+ * @since 2.2.5 Bugfix: Reference container: Label: option to select paragraph or heading element, thanks to @markhillyer issue report.
+ * @since 2.2.5 Update: Tooltips: Alternative tooltips: connect to position/timing settings (for themes not supporting jQuery tooltips).
+ * @since 2.2.6 Bugfix: Reference container, tooltips: URL wrap: make the quotation mark optional wrt query parameters, thanks to @spiralofhope2 bug report.
+ * @since 2.2.7 Bugfix: Reference container, tooltips: URL wrap: remove a bug introduced in the regex, thanks to @rjl20 @spaceling @lukashuggenberg @klusik @friedrichnorth @bernardzit bug reports.
+ * @since 2.2.8 Bugfix: Reference container, tooltips: URL wrap: correctly make the quotation mark optional wrt query parameters, thanks to @spiralofhope2 bug report.
+ * @since 2.2.9 Bugfix: Reference container, tooltips: URL wrap: account for RFC 2396 allowed characters in parameter names.
+ * @since 2.2.9 Bugfix: Reference container, widget_text hook: support for multiple containers in a page, thanks to @justbecuz bug report.
+ * @since 2.2.9 Bugfix: Reference container, tooltips: URL wrap: exclude URLs also where the equals sign is preceded by an entity or character reference.
+ * @since 2.2.10 Bugfix: Reference container: add option for table borders to restore pre-2.0.0 design, thanks to @noobishh issue report.
+ * @since 2.2.10 Bugfix: Reference container, tooltips: URL wrap: support also file transfer protocol URLs.
+ * @since 2.3.0 Bugfix: Reference container: convert top padding to margin and make it a setting, thanks to @hamshe bug report.
+ * @since 2.3.0 Adding: Referrers and backlinks: optional hard links for AMP compatibility, thanks to @psykonevro bug report, thanks to @martinneumannat code contribution.
+ * @since 2.3.0 Bugfix: Dashboard: Custom CSS: swap migration Boolean, meaning 'show legacy' instead of 'migration complete', due to storage data structure constraints.
+ * @since 2.4.0 Adding: Footnote delimiters: syntax validation for balanced footnote start and end tag short codes.
+ * @since 2.4.0 Bugfix: Scroll offset: initialize to safer one third window height for more robustness, thanks to @lukashuggenberg bug report.
+ * @since 2.4.0 Bugfix: Reference container: Label: set empty label to U+202F NNBSP for more robustness, thanks to @lukashuggenberg feedback.
+ * @since 2.4.0 Bugfix: Templates: optimize template load and processing based on settings, thanks to @misfist code contribution.
+ * @since 2.4.0 Bugfix: Process: initialize hard link address variables to empty string to fix 'undefined variable' bug, thanks to @a223123131 bug report.
+ * @since 2.5.0 Bugfix: Hooks: support footnotes on category pages, thanks to @vitaefit bug report, thanks to @misfist code contribution.
+ * @since 2.5.0 Bugfix: Footnote delimiter syntax validation: exclude certain cases involving scripts, thanks to @andreasra bug report.
+ * @since 2.5.0 Bugfix: Footnote delimiter syntax validation: complete message with hint about setting, thanks to @andreasra bug report.
+ * @since 2.5.0 Bugfix: Footnote delimiter syntax validation: limit length of quoted string to 300 characters, thanks to @andreasra bug report.
+ * @since 2.5.1 Bugfix: Hooks: support footnotes in Popup Maker popups, thanks to @squatcher bug report.
+ * @since 2.5.2 Update: Tooltips: ability to display dedicated content before `[[/tooltip]]`, thanks to @jbj2199 issue report.
+ * @since 2.5.3 Bugfix: Reference container, tooltips: URL wrap: exclude URL pattern as folder name in Wayback Machine URL, thanks to @rumperuu bug report.
*/
// If called directly, abort:
@@ -195,17 +136,16 @@ class MCI_Footnotes_Task {
/**
* Multiple reference containers in content and widgets
*
- * - Bugfix: Reference containers, widget_text hook: support for multiple containers in a page, thanks to @justbecuz bug report
+ * - Bugfix: Reference container, widget_text hook: support for multiple containers in a page, thanks to @justbecuz bug report.
*
* @since 2.2.9
* @datetime 2020-12-25T0338+0100
*
* @reporter @justbecuz
- *
* @link https://wordpress.org/support/topic/reset-footnotes-to-1/
* @link https://wordpress.org/support/topic/reset-footnotes-to-1/#post-13662830
*
- * @var int incremented each time after a reference container is inserted
+ * @var int 1; incremented each time after a reference container is inserted
*
* This ID disambiguates multiple reference containers in a page
* as they may occur when the widget_text hook is active and the page
@@ -216,7 +156,7 @@ class MCI_Footnotes_Task {
/**
* Template process optimization
*
- * - Bugfix: Performance: optimize template load and process according to settings, thanks to @misfist code contribution
+ * - Bugfix: Templates: optimize template load and processing based on settings, thanks to @misfist code contribution.
*
* @since 2.4.0
* @datetime 2021-01-04T1355+0100
@@ -229,16 +169,16 @@ class MCI_Footnotes_Task {
*
* @var bool from DB
*
- * Streamline process depending on tooltip enabled status
- * Load tooltip inline script only if jQuery tooltips are enabled
+ * Streamline process depending on tooltip enabled status.
+ * Load tooltip inline script only if jQuery tooltips are enabled.
*/
public static $a_bool_TooltipsEnabled = false;
public static $a_bool_AlternativeTooltipsEnabled = false;
/**
- * Hard links for AMP
+ * Hard links for AMP compatibility
*
- * - Bugfix: Optional hard links in referrers and backlinks for AMP compatibility, thanks to @psykonevro bug report, thanks to @martinneumannat code contribution.
+ * - Adding: Referrers and backlinks: optional hard links for AMP compatibility, thanks to @psykonevro bug report, thanks to @martinneumannat code contribution.
*
* @since 2.3.0
* @var bool|str|int
@@ -267,25 +207,48 @@ class MCI_Footnotes_Task {
/**
* Scroll offset
*
+ * - Bugfix: Scroll offset: initialize to safer one third window height for more robustness, thanks to @lukashuggenberg bug report.
+ *
* @since 2.4.0
* @datetime 2021-01-03T2055+0100
+ * @datetime 2021-01-04T0504+0100
+ *
+ * @reporter @lukashuggenberg
+ * @link https://wordpress.org/support/topic/2-2-6-breaks-all-footnotes/#post-13857922
+ *
* @var int
*
* Websites may use high fixed headers not contracting at scroll.
* Scroll offset may now need to get into inline CSS.
- * Hence it needs to be loaded twice.
+ * Hence it needs to be loaded twice, because priority levels may not match.
*/
public static $a_int_ScrollOffset = 34;
/**
* Optional link element for footnote referrers and backlinks
*
- * @since 2.3.0
- * @datetime 2020-12-30T2313+0100
* @var str
*
+ * @since 2.0.0 add link elements with hard links
+ * @since 2.0.4 remove hard links on user request
+ * @link https://wordpress.org/support/topic/hyperlinked-footnotes-creating-excessive-back-history/
+ *
+ *
+ * - Bugfix: Styling: Referrers and backlinks: make link elements optional to fix issues.
+ *
+ * @since 2.1.4
+ * @datetime 2020-11-25T1306+0100
+ * @datetime 2020-11-26T1051+0100
+ *
+ *
+ * - Adding: Referrers and backlinks: optional hard links for AMP compatibility, thanks to @psykonevro bug report, thanks to @martinneumannat code contribution.
+ *
+ * @since 2.3.0
+ * @datetime 2020-12-30T2313+0100
+ * @see $a_bool_HardLinksEnable
+ *
* # Styling
- *
+ *
* Link color is preferred for referrers and backlinks.
* Setting a global link color is a common feature in WordPress themes.
* CSS does not support identifiers for link colors (color: link | hover | active | visited)
@@ -295,7 +258,7 @@ class MCI_Footnotes_Task {
* If not, the very presence of the link elements may need to be avoided.
*
* # Functionality
- *
+ *
* Although widely used for that purpose, hyperlinks are disliked for footnote linking.
* Browsers may need to be prevented from logging these clicks in the browsing history,
* as logging compromises the usability of the 'return to previous' button in browsers.
@@ -307,14 +270,6 @@ class MCI_Footnotes_Task {
* of the already supported pseudo-classes :link, :hover, :active and :visited that can
* still not be used in color names.
*
- * @since 2.0.0 add link elements with hard links
- *
- * @since 2.0.4 remove hard links on user request
- * @link https://wordpress.org/support/topic/hyperlinked-footnotes-creating-excessive-back-history/
- *
- * link elements optional for styling purposes
- * @since 2.1.4
- * @datetime 2020-11-25T1306+0100
*
* this variable keeps its default value if hard links are disabled
*/
@@ -325,7 +280,7 @@ class MCI_Footnotes_Task {
/**
* Dedicated tooltip text
*
- * - Bugfix: Tooltips: ability to display dedicated content, thanks to @jbj2199 bug report
+ * - Update: Tooltips: ability to display dedicated content before `[[/tooltip]]`, thanks to @jbj2199 issue report.
*
* @since 2.5.2
* @datetime 2021-01-19T2223+0100
@@ -345,11 +300,15 @@ class MCI_Footnotes_Task {
/**
* Footnote delimiter syntax validation
*
+ * - Adding: Footnote delimiters: syntax validation for balanced footnote start and end tag short codes.
+ *
* @since 2.4.0
+ * @datetime 2021-01-01T0227+0100
+ *
* @var bool
*
- * The algorithm first checks for balanced footnote opening and closing tag short codes.
- * The first encountered error triggers the display of a warning below the post title.
+ * The algorithm first checks for balanced footnote opening and closing tag short codes.
+ * The first encountered error triggers the display of a warning below the post title.
*
* Unbalanced short codes have caused significant trouble because they are hard to detect.
* Any compiler or other tool reports syntax errors in the first place. Footnotes’ exception
@@ -466,17 +425,17 @@ class MCI_Footnotes_Task {
/**
* Hook for category pages
*
- * -Bugfix: Hooks: support footnotes on category pages, thanks to @vitaefit bug report, thanks to @misfist code contribution
+ * - Bugfix: Hooks: support footnotes on category pages, thanks to @vitaefit bug report, thanks to @misfist code contribution.
*
* @since 2.5.0
* @datetime 2021-01-05T1402+0100
*
- * @reporter @vitaefit
- * @link https://wordpress.org/support/topic/footnote-doesntwork-on-category-page/
- *
* @contributor @misfist
* @link https://wordpress.org/support/topic/footnote-doesntwork-on-category-page/#post-13864859
*
+ * @reporter @vitaefit
+ * @link https://wordpress.org/support/topic/footnote-doesntwork-on-category-page/
+ *
* Category pages can have rich HTML content in a term description with article status.
* For this to happen, WordPress’ built-in partial HTML blocker needs to be disabled.
* @link https://docs.woocommerce.com/document/allow-html-in-term-category-tag-descriptions/
@@ -486,7 +445,7 @@ class MCI_Footnotes_Task {
/**
* Hook for popup maker popups
*
- * - Bugfix: Hooks: support footnotes in Popup Maker popups, thanks to @squatcher bug report
+ * - Bugfix: Hooks: support footnotes in Popup Maker popups, thanks to @squatcher bug report.
*
* @since 2.5.1
* @datetime 2021-01-18T2038+0100
@@ -586,14 +545,14 @@ class MCI_Footnotes_Task {
* @since 1.5.0
*
*
- * @since 2.1.1 Bugfix: Reference container: fix start pages by making its display optional, thanks to @dragon013 bug report
+ * @since 2.1.1 Bugfix: Reference container: fix start pages by making its display optional, thanks to @dragon013 bug report.
* @since 2.1.1 Bugfix: Tooltips: optional alternative JS implementation with CSS transitions to fix configuration-related outage, thanks to @andreasra feedback.
* @since 2.1.3 raise settings priority to override theme style sheets
- * @since 2.1.4 tootip font size and backlink column width settings
- * @since 2.2.5 options for label element and label bottom border, thanks to @markhillyer 2020-12-18T1447+0100
- * @link https://wordpress.org/support/topic/how-do-i-eliminate-the-horizontal-line-beneath-the-reference-container-heading/
- * @since 2.3.0 Reference container: convert top padding to margin and make it a setting, thanks to @hamshe
- * @link https://wordpress.org/support/topic/reference-container-in-elementor/#post-13786635
+ * @since 2.1.4 Bugfix: Tooltips: Styling: fix font size issue by adding font size to settings with legacy as default.
+ * @since 2.1.4 Bugfix: Reference container: fix layout issues by moving backlink column width to settings.
+ * @since 2.2.5 Bugfix: Reference container: Label: make bottom border an option, thanks to @markhillyer issue report.
+ * @since 2.2.5 Bugfix: Reference container: Label: option to select paragraph or heading element, thanks to @markhillyer issue report.
+ * @since 2.3.0 Bugfix: Reference container: convert top padding to margin and make it a setting, thanks to @hamshe bug report.
*/
public function wp_head() {
@@ -614,7 +573,16 @@ class MCI_Footnotes_Task {
echo ".home .footnotes_reference_container { display: none; }\r\n";
}
- // ref container top and bottom margins:
+ /**
+ * Referernce container top and bottom margins
+ *
+ * - Bugfix: Reference container: convert top padding to margin and make it a setting, thanks to @hamshe bug report.
+ *
+ * @since 2.3.0
+ *
+ * @reporter @hamshe
+ * @link https://wordpress.org/support/topic/reference-container-in-elementor/#post-13786635
+ */
$l_int_ReferenceContainerTopMargin = intval(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_INT_REFERENCE_CONTAINER_TOP_MARGIN));
$l_int_ReferenceContainerBottomMargin = intval(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_INT_REFERENCE_CONTAINER_BOTTOM_MARGIN));
echo ".footnotes_reference_container {margin-top: ";
@@ -623,14 +591,36 @@ class MCI_Footnotes_Task {
echo empty($l_int_ReferenceContainerBottomMargin) ? '0' : $l_int_ReferenceContainerBottomMargin;
echo "px !important;}\r\n";
- // ref container label bottom border:
+ /**
+ * Reference container label bottom border
+ *
+ * - Bugfix: Reference container: Label: make bottom border an option, thanks to @markhillyer issue report.
+ * - Bugfix: Reference container: Label: option to select paragraph or heading element, thanks to @markhillyer issue report.
+ *
+ * @since 2.2.5
+ * @datetime 2020-12-18T1447+0100
+ *
+ * @reporter @markhillyer
+ * @link https://wordpress.org/support/topic/how-do-i-eliminate-the-horizontal-line-beneath-the-reference-container-heading/
+ *
+ */
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_LABEL_BOTTOM_BORDER))) {
echo ".footnote_container_prepare > ";
echo MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_REFERENCE_CONTAINER_LABEL_ELEMENT);
echo " {border-bottom: 1px solid #aaaaaa !important;}\r\n";
}
- // ref container table row borders:
+ /**
+ * Reference container table row borders
+ *
+ * - Bugfix: Reference container: add option for table borders to restore pre-2.0.0 design, thanks to @noobishh issue report.
+ *
+ * @since 2.2.10
+ * @datetime 2020-12-25T2304+0100
+ *
+ * @reporter @noobishh
+ * @link https://wordpress.org/support/topic/borders-25/
+ */
if ( MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_ROW_BORDERS_ENABLE))) {
echo ".footnotes_table, .footnotes_plugin_reference_row {";
echo "border: 1px solid #060606;";
@@ -687,7 +677,13 @@ class MCI_Footnotes_Task {
echo "}\r\n";
}
- // hard links scroll offset:
+ /**
+ * Hard links scroll offset
+ *
+ * - Bugfix: Scroll offset: make configurable to fix site-dependent issues related to fixed headers.
+ *
+ * @since 2.1.4
+ */
self::$a_bool_HardLinksEnable = MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_HARD_LINKS_ENABLE));
self::$a_int_ScrollOffset = intval(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_INT_FOOTNOTES_SCROLL_OFFSET));
if (self::$a_bool_HardLinksEnable) {
@@ -706,7 +702,14 @@ class MCI_Footnotes_Task {
// tooltip appearance:
- // font size:
+ /**
+ * Tooltip font size
+ *
+ * - Bugfix: Styling: Tooltips: fix font size issue by adding font size to settings with legacy as default.
+ *
+ * @since 2.1.4
+ * @datetime 2020-12-03T0954+0100
+ */
echo ' font-size: ';
if(MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_MOUSE_OVER_BOX_FONT_SIZE_ENABLED))) {
echo MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_FLO_MOUSE_OVER_BOX_FONT_SIZE_SCALAR);
@@ -754,6 +757,21 @@ class MCI_Footnotes_Task {
printf(" box-shadow: 2px 2px 11px %s;", $l_str_BoxShadowColor);
}
+
+ /**
+ * Tooltip position and timing
+ *
+ * - Bugfix: Tooltips: make display delays and fade durations configurable to conform to website style.
+ *
+ * @since 2.1.4
+ * @datetime 2020-12-06T1320+0100
+ *
+ *
+ * - Update: Tooltips: Alternative tooltips: connect to position/timing settings (for themes not supporting jQuery tooltips).
+ *
+ * @since 2.2.5
+ * @datetime 2020-12-18T1113+0100
+ */
// alternative tooltips:
if ( ! self::$a_bool_AlternativeTooltipsEnabled) {
@@ -812,10 +830,20 @@ class MCI_Footnotes_Task {
}
}
- // set custom CSS to override settings, not conversely:
- // Legacy Custom CSS is used until it’s set to disappear after dashboard tab migration:
- if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_CUSTOM_CSS_LEGACY_ENABLE))) {
- echo MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_CUSTOM_CSS);
+ /**
+ * Custom CSS
+ *
+ * - Bugfix: Custom CSS: insert new CSS in the public page header element after existing CSS.
+ *
+ * @since 2.2.3
+ * @datetime 2020-12-15T1128+0100
+ *
+ * Set custom CSS to override settings, not conversely.
+ * Legacy Custom CSS is used until it’s set to disappear after dashboard tab migration.
+ */
+ if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_CUSTOM_CSS_LEGACY_ENABLE))) {
+ echo MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_CUSTOM_CSS);
+ echo "\r\n";
}
echo MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_CUSTOM_CSS_NEW);
@@ -1040,7 +1068,7 @@ class MCI_Footnotes_Task {
self::$a_int_ReferenceContainerId++;
}
- // delete position shortcode should any remain e.g. when ref container is in footer, thanks to @hamshe:
+ // delete position shortcode should any remain:
$p_str_Content = str_replace( $l_str_ReferenceContainerPositionShortcode, '', $p_str_Content );
// take a look if the LOVE ME slug should NOT be displayed on this page/post, remove the short code if found
@@ -1062,12 +1090,18 @@ class MCI_Footnotes_Task {
* @param bool $p_bool_HideFootnotesText Hide footnotes found in the string.
* @return string
*
- * Edited since 2.0.0
+ * @since 2.0.0 various.
+ * @since 2.4.0 Adding: Footnote delimiters: syntax validation for balanced footnote start and end tag short codes.
*
- * @since 2.4.0 footnote shortcode syntax validation
- * @since 2.5.0 Shortcode syntax validation: exclude certain cases involving scripts, thanks to @andreasra 2021-01-07T0824+0100
- * @since 2.5.0 Shortcode syntax validation: complete message with hint about setting, thanks to @andreasra
- * @since 2.5.0 Shortcode syntax validation: limit length of quoted string to 300 characters, thanks to @andreasra
+ *
+ * - Bugfix: Footnote delimiter syntax validation: exclude certain cases involving scripts, thanks to @andreasra bug report.
+ * - Bugfix: Footnote delimiter syntax validation: complete message with hint about setting, thanks to @andreasra bug report.
+ * - Bugfix: Footnote delimiter syntax validation: limit length of quoted string to 300 characters, thanks to @andreasra bug report.
+ *
+ * @since 2.5.0
+ * @datetime 2021-01-07T0824+0100
+ *
+ * @reporter @andreasra
* @link https://wordpress.org/support/topic/warning-unbalanced-footnote-start-tag-short-code-before/
*/
public function search($p_str_Content, $p_bool_ConvertHtmlChars, $p_bool_HideFootnotesText) {
@@ -1220,43 +1254,101 @@ class MCI_Footnotes_Task {
/**
* URL line wrapping for Unicode non conformant browsers
*
- * Fix line wrapping of URLs (hyperlinked or not) based on pattern, not link element,
- * to prevent them from hanging out of the tooltip or extending the reference container
- * in non-Unicode-compliant user agents, mainly Chrome (not Firefox).
- * @see public.css
+ * Despite Unicode recommends to line-wrap URLs at slashes, and Firefox follows
+ * the Unicode standard, Chrome does not, making long URLs hang out of tooltips
+ * or extend reference containers, so that the end is hidden outside the window
+ * and may eventually be viewed after we scroll horizontally or zoom out. It is
+ * up to the web page to make URLs breaking anywhere by wrapping them in a span
+ * that is assigned appropriate CSS properties and values.
+ * @see css/public.css
*
- * spare however values of the href and the src arguments!
- * @since 2.1.5 exclude image source too, thanks to @bjrnet21
+ * - Bugfix: Reference container, tooltips: fix line wrapping of URLs (hyperlinked or not) based on pattern, not link element.
+ *
+ * @since 2.1.4
+ * @datetime 2020-11-25T0837+0100
+ *
+ *
+ * - Bugfix: Reference container, tooltips: URL wrap: exclude image source too, thanks to @bjrnet21 bug report.
+ *
+ * @since 2.1.5
+ *
+ * @reporter @bjrnet21
* @link https://wordpress.org/support/topic/2-1-4-breaks-on-my-site-images-dont-show/
*
- * Even ARIA labels may take a URL as value, so use \w=[\'"] as a catch-all 2020-12-10T1005+0100
- * @since 2.1.6 add catch-all exclusion to fix URL line wrapping, thanks to @a223123131 2020-12-09T1921+0100
+ *
+ * - Bugfix: Reference container, tooltips: URL wrap: fix regex, thanks to @a223123131 bug report.
+ *
+ * @since 2.1.6
+ * @datetime 2020-12-09T1921+0100
+ *
+ * @reporter @a223123131
* @link https://wordpress.org/support/topic/broken-layout-starting-version-2-1-4/
*
- * @since 2.1.6 option to disable URL line wrapping 2020-12-09T1606+0100
+ * Even ARIA labels may take a URL as value, so use \w=[\'"] as a catch-all 2020-12-10T1005+0100
*
- * URLs may be a query string in a URL:
- * @since 2.2.6 make the quotation mark optional in the exclusion regex, thanks to @spiralofhope2 2020-12-23T0409+0100
+ * - Bugfix: Dashboard: URL wrap: add option to properly enable/disable URL wrap.
+ *
+ * @since 2.1.6
+ * @datetime 2020-12-09T1606+0100
+ *
+ *
+ * - Bugfix: Reference container, tooltips: URL wrap: make the quotation mark optional wrt query parameters, thanks to @spiralofhope2 bug report.
+ *
+ * @since 2.2.6
+ * @datetime 2020-12-23T0409+0100
+ *
+ * @reporter @spiralofhope2
* @link https://wordpress.org/support/topic/two-links-now-breaks-footnotes-with-blogtext/
*
- * @since 2.2.7 revert that change in the exclusion regex, thanks to @rjl20, @spaceling, @friedrichnorth, @bernardzit 2020-12-23T1046+0100
- * @link https://wordpress.org/support/topic/two-links-now-breaks-footnotes-with-blogtext/
*
+ * - Bugfix: Reference container, tooltips: URL wrap: remove a bug introduced in the regex, thanks to @rjl20 @spaceling @lukashuggenberg @klusik @friedrichnorth @bernardzit bug reports.
+ *
+ * @since 2.2.7
+ * @datetime 2020-12-23T1046+0100
+ *
+ * @reporter @rjl20
+ * @link https://wordpress.org/support/topic/two-links-now-breaks-footnotes-with-blogtext/#post-13825479
+ *
+ * @reporter @spaceling
+ * @link https://wordpress.org/support/topic/two-links-now-breaks-footnotes-with-blogtext/#post-13825532
+ *
+ * @reporter @lukashuggenberg
+ * @link https://wordpress.org/support/topic/2-2-6-breaks-all-footnotes/
+ *
+ * @reporter @klusik
+ * @link https://wordpress.org/support/topic/2-2-6-breaks-all-footnotes/#post-13825885
+ *
+ * @reporter @friedrichnorth
* @link https://wordpress.org/support/topic/footnotes-dont-show-after-update-to-2-2-6/
- * @since 2.2.8 correct lookbehind by duplicating it with and without quotation mark class 2020-12-23T1107+0100
*
- * @since 2.2.9 account for RFC 2396 allowed characters in parameter names 2020-12-24T1956+0100
+ * @reporter @bernardzit
+ * @link https://wordpress.org/support/topic/footnotes-dont-show-after-update-to-2-2-6/#post-13826029
+ *
+ *
+ * @since 2.2.8 Bugfix: Reference container, tooltips: URL wrap: correctly make the quotation mark optional wrt query parameters, thanks to @spiralofhope2 bug report.
+ * @datetime 2020-12-23T1107+0100
+ *
+ * Correct is duplicating the negative lookbehind w/o quotes: '(?get(MCI_Footnotes_Settings::C_BOOL_FOOTNOTE_URL_WRAP_ENABLED))) {
$l_str_FootnoteText = preg_replace( '#(?$1', $l_str_FootnoteText );
@@ -1380,7 +1472,18 @@ class MCI_Footnotes_Task {
} else {
- // no hyperlink nor offset anchor needed:
+ /**
+ * Initialize hard link variables when hard links are disabled.
+ *
+ * - Bugfix: Process: initialize hard link address variables to empty string to fix 'undefined variable' bug, thanks to @a223123131 bug report.
+ *
+ * @since 2.4.0
+ * @datetime 2021-01-04T1622+0100
+ *
+ * @reporter @a223123131
+ * @link https://wordpress.org/support/topic/wp_debug-php-notice/
+ */
+ // no hyperlink nor offset anchor needed, initialize as empty:
$l_str_FootnoteLinkArgument = '';
$l_str_ReferrerAnchorElement = '';
@@ -1534,6 +1637,11 @@ class MCI_Footnotes_Task {
/**
* Backlink separator
*
+ * - Bugfix: Reference container: make separating and terminating punctuation optional and configurable.
+ *
+ * @since 2.1.4
+ * @datetime 2020-11-28T1048+0100
+ *
* Initially a comma was appended in this algorithm for enumerations.
* The comma in enumerations is not generally preferred.
* @since 2.1.4 the separator is optional, has options, and is configurable:
@@ -1596,6 +1704,11 @@ class MCI_Footnotes_Task {
/**
* Line breaks
*
+ * - Bugfix: Reference container: Backlinks: fix stacked enumerations by adding optional line breaks.
+ *
+ * @since 2.1.4
+ * @datetime 2020-11-28T1049+0100
+ *
* The backlinks of combined footnotes are generally preferred in an enumeration.
* But when few footnotes are identical, stacking the items in list form is better.
* Variable number length and proportional character width require explicit line breaks.
@@ -1656,6 +1769,11 @@ class MCI_Footnotes_Task {
* @contributor @spaceling
* @link https://wordpress.org/support/topic/change-the-position-5/#post-13615994
*
+ *
+ * - Bugfix: Reference container: Backlink symbol: support for appending when combining identicals is on.
+ *
+ * @since 2.1.4
+ * @datetime 2020-11-26T1633+0100
*/
$l_bool_SymbolSwitch = MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH));
@@ -1718,11 +1836,13 @@ class MCI_Footnotes_Task {
/**
* Support for combining identicals: compose enumerated backlinks
*
- * Combining identical footnotes: fix dead links and ensure referrer-backlink bijectivity
- * @reporter @happyches bug report
- * @link https://wordpress.org/support/topic/custom-css-for-jumbled-references/
+ * - Bugfix: Referrers, reference container: Combining identical footnotes: fix dead links and ensure referrer-backlink bijectivity, thanks to @happyches bug report.
+ *
* @since 2.1.1
* @datetime 2020-11-14T2233+0100
+ *
+ * @reporter @happyches
+ * @link https://wordpress.org/support/topic/custom-css-for-jumbled-references/
*
* Prepare to have single footnotes, where the click event and
* optional hard link need to be set to cover the table cell,
@@ -1921,9 +2041,32 @@ class MCI_Footnotes_Task {
// streamline:
$l_bool_CollapseDefault = MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_COLLAPSE));
+ /**
+ * Reference container label
+ *
+ * - Bugfix: Reference container: Label: set empty label to U+202F NNBSP for more robustness, thanks to @lukashuggenberg feedback.
+ *
+ * @since 2.4.0
+ * @datetime 2021-01-04T0504+0100
+ *
+ * @reporter @lukashuggenberg
+ *
+ * Themes may drop-cap a first letter of initial paragraphs, like this label.
+ * In case of empty label that would apply to the left half button character.
+ * Hence the point in setting an empty label to U+202F NARROW NO-BREAK SPACE.
+ */
// prevent empty from being less robust:
$l_str_ReferenceContainerLabel = MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_REFERENCE_CONTAINER_NAME);
+ /**
+ * Scroll offset and duration
+ *
+ * - Bugfix: Scroll offset: make configurable to fix site-dependent issues related to fixed headers.
+ * - Bugfix: Scroll duration: make configurable to conform to website content and style requirements.
+ *
+ * @since 2.1.4
+ * @datetime 2020-12-05T0538+0100
+ */
// load 'templates/public/reference-container.html':
$l_obj_TemplateContainer = new MCI_Footnotes_Template(MCI_Footnotes_Template::C_STR_PUBLIC, "reference-container");
$l_obj_TemplateContainer->replace(
diff --git a/class/template.php b/class/template.php
index f4343c8..848ebe7 100644
--- a/class/template.php
+++ b/class/template.php
@@ -6,8 +6,8 @@
* @author Stefan Herndler
* @since 1.5.0 14.09.14 10:58
*
- *
- * @lastmodified 2021-02-06T0604+0100
+ *
+ * @lastmodified 2021-02-08T1925+0100
*
* @since 2.0.3 prettify reference container template
* @since 2.0.3 replace tab with a space
@@ -15,16 +15,16 @@
* @since 2.0.4 collapse multiple spaces
* @since 2.0.6 prettify other templates (footnote, tooltip script, ref container row)
* @since 2.2.6 delete a space before a closing pointy bracket
- *
+ *
* @since 2.2.6 support for custom templates in fixed location, while failing to add filter thanks to @misfist 2020-12-19T0606+0100
* @link https://wordpress.org/support/topic/template-override-filter/
- *
+ *
* @since 2.4.0 templates may be in active theme, thanks to @misfist
* @link https://wordpress.org/support/topic/template-override-filter/#post-13846598
- *
+ *
* @since 2.5.0 Enable template location stack, contributed by @misfist
* @link https://wordpress.org/support/topic/template-override-filter/#post-13864301
- *
+ *
* @since 2.5.4 collapse HTML comments and PHP/JS docblocks (only)
*/
@@ -93,7 +93,7 @@ class MCI_Footnotes_Template {
* @param string $p_str_FileName Template file name inside the Template directory without the file extension.
* @param string $p_str_Extension Optional Template file extension (default: html)
*
- *
+ *
* @since 2.2.6 support for custom templates 2020-12-19T0606+0100
* @link https://wordpress.org/support/topic/template-override-filter/
*
@@ -185,18 +185,18 @@ class MCI_Footnotes_Template {
*
* @param string $template
* @return void
- *
- *
+ *
+ *
* @since 2.0.3 replace tab with a space
* @since 2.0.3 replace 2 spaces with 1
* @since 2.0.4 collapse multiple spaces
* @since 2.2.6 delete a space before a closing pointy bracket
- * @since 2.5.4 collapse HTML comments and PHP/JS docblocks (only)
+ * @since 2.5.4 collapse HTML comments and PHP/JS docblocks (only)
*/
public function process_template( $template ) {
- $this->a_str_OriginalContent = preg_replace( '##s', " ", file_get_contents( $template ) );
+ $this->a_str_OriginalContent = preg_replace( '##s', " ", file_get_contents( $template ) );
$this->a_str_OriginalContent = preg_replace( '#/\*\*.+?\*/#s', " ", $this->a_str_OriginalContent );
- $this->a_str_OriginalContent = str_replace( "\n", "", $this->a_str_OriginalContent );
+ $this->a_str_OriginalContent = str_replace( "\n", "", $this->a_str_OriginalContent );
$this->a_str_OriginalContent = str_replace( "\r", "", $this->a_str_OriginalContent );
$this->a_str_OriginalContent = str_replace( "\t", " ", $this->a_str_OriginalContent );
$this->a_str_OriginalContent = preg_replace( '# +#', " ", $this->a_str_OriginalContent );
diff --git a/footnotes.php b/footnotes.php
index 7572a64..4114c93 100755
--- a/footnotes.php
+++ b/footnotes.php
@@ -4,7 +4,7 @@
Plugin URI: https://wordpress.org/plugins/footnotes/
Description: time to bring footnotes to your website! footnotes are known from offline publishing and everybody takes them for granted when reading a magazine.
Author: Mark Cheret
- Version: 2.5.4d3
+ Version: 2.5.4d4
Author URI: http://cheret.de/plugins/footnotes-2/
Text Domain: footnotes
Domain Path: /languages
@@ -18,10 +18,10 @@
* @since 2.1.4
* @since 2.5.3 (Hungarian)
* @var str
- * @lastmodified 2021-02-08T1900+0100
+ * @lastmodified 2021-02-10T0028+0100
* @committer @pewgeuges
*/
-define( 'C_STR_FOOTNOTES_VERSION', '2.5.4d3' );
+define( 'C_STR_FOOTNOTES_VERSION', '2.5.4d4' );
/*
LICENSE NOTICE
diff --git a/readme.txt b/readme.txt
index 6c58390..a0ec0db 100755
--- a/readme.txt
+++ b/readme.txt
@@ -1,5 +1,5 @@
=== footnotes ===
-Contributors: mark.cheret, lolzim, dartiss, docteurfitness, felipelavinz, martinneumannat, matkus2, misfist, rumperuu, spaceling, vonpiernik, pewgeuges
+Contributors: mark.cheret, lolzim, dartiss, docteurfitness, felipelavinz, martinneumannat, matkus2, meglio, misfist, rumperuu, spaceling, vonpiernik, pewgeuges
Tags: footnote, footnotes, bibliography, formatting, notes, Post, posts, reference, referencing
Requires at least: 3.9
Tested up to: 5.6.1
@@ -79,18 +79,18 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
== Changelog ==
-= 2.5.4d3 =
+= 2.5.4d4 =
- Update: Libraries: jQuery Tools: replace deprecated function jQuery.isFunction(), thanks to @a223123131 bug report.
-- Bugfix: Tooltips: fix display in Popup Maker popups.
+- Bugfix: Tooltips: fix display in Popup Maker popups by correcting a coding error.
- Bugfix: Libraries: jQuery Tools: replace discouraged double equals sign with recommended triple equals sign.
- Bugfix: Editor button: Classic Editor text mode: try to fix uncaught reference error of “QTags is not defined”, thanks to @dpartridge bug report.
- Bugfix: Editor button: Classic Editor text mode: correct label to singular.
= 2.5.3 =
-- Bugfix: URL wrap: exclude URL pattern as folder name in Wayback Machine URL, thanks to @rumperuu bug report.
+- Bugfix: Reference container, tooltips: URL wrap: exclude URL pattern as folder name in Wayback Machine URL, thanks to @rumperuu bug report.
= 2.5.2 =
-- Bugfix: Tooltips: ability to display dedicated content before `[[/tooltip]]`, thanks to @jbj2199 bug report.
+- Update: Tooltips: ability to display dedicated content before `[[/tooltip]]`, thanks to @jbj2199 issue report.
- Bugfix: Localization: plugin language file name changes effective in version control system.
= 2.5.1 =
@@ -103,21 +103,21 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
- Update: Readme/documentation: update or fix URLs in Download, Support and Development sections.
= 2.5.0 =
-- Adding: Customization: Enable template location stack, thanks to @misfist source file contribution.
+- Adding: Templates: Enable template location stack, thanks to @misfist code contribution.
- Bugfix: Hooks: support footnotes on category pages, thanks to @vitaefit bug report, thanks to @misfist code contribution.
-- Bugfix: Shortcode syntax validation: exclude certain cases involving scripts, thanks to @andreasra bug report.
-- Bugfix: Shortcode syntax validation: complete message with hint about setting, thanks to @andreasra bug report.
-- Bugfix: Shortcode syntax validation: limit length of quoted string to 300 characters, thanks to @andreasra bug report.
-- Update: Shortcode syntax validation: add more information around the setting.
-- Bugfix: Shortcodes: Dashboard: warning about '>' escapement disruption in WordPress Block Editor.
+- Bugfix: Footnote delimiter syntax validation: exclude certain cases involving scripts, thanks to @andreasra bug report.
+- Bugfix: Footnote delimiter syntax validation: complete message with hint about setting, thanks to @andreasra bug report.
+- Bugfix: Footnote delimiter syntax validation: limit length of quoted string to 300 characters, thanks to @andreasra bug report.
+- Update: Dashboard: Footnote delimiter syntax validation: add more information around the setting.
+- Bugfix: Dashboard: Footnote delimiters: warning about '>' escapement disruption in WordPress Block Editor.
= 2.4.0 =
-- Adding: Shortcodes: syntax validation for balanced footnote start and end tag short codes.
-- Bugfix: Performance: optimize template load and process according to settings, thanks to @misfist code contribution.
-- Bugfix: Process: initialize hard link address variable to empty to fix 'undefined variable' bug, thanks to @a223123131 bug report.
-- Bugfix: Reference container: Label: set empty label to U+202F NNBSP for more robustness, thanks to @lukashuggenberg bug report.
+- Adding: Footnote delimiters: syntax validation for balanced footnote start and end tag short codes.
+- Bugfix: Templates: optimize template load and processing based on settings, thanks to @misfist code contribution.
+- Bugfix: Process: initialize hard link address variables to empty string to fix 'undefined variable' bug, thanks to @a223123131 bug report.
+- Bugfix: Reference container: Label: set empty label to U+202F NNBSP for more robustness, thanks to @lukashuggenberg feedback.
- Bugfix: Scroll offset: initialize to safer one third window height for more robustness, thanks to @lukashuggenberg bug report.
-- Bugfix: Shortcodes: Dashboard: remove new option involving HTML comment tags only usable in source mode.
+- Bugfix: Footnote delimiters: Dashboard: remove new option involving HTML comment tags only usable in source mode.
- Bugfix: Reference container: Row borders: adapt left padding to the presence of an optional left border.
- Bugfix: Reference container: add class 'footnote_plugin_symbol' to disambiguate repurposed class 'footnote_plugin_link'.
@@ -133,32 +133,33 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
- Bugfix: Reference container: Basic responsive page layout: edits to one of the optional style sheets.
= 2.2.10 =
-- Bugfix: Reference container: add option for table borders to revert 2.0.0/2.0.1 change, thanks to @noobishh bug report.
-- Bugfix: Reference container: add missing container ID in function name in one of the four table row templates.
+- Bugfix: Reference container: add option for table borders to restore pre-2.0.0 design, thanks to @noobishh issue report.
+- Bugfix: Reference container: add missing container ID in function name in default table row template for uncombined footnotes.
- Bugfix: Reference container, tooltips: URL wrap: support also file transfer protocol URLs.
= 2.2.9 =
-- Bugfix: Reference container, widget_text hook: support for multiple reference containers in a page, thanks to @justbecuz bug report.
+- Bugfix: Reference container, widget_text hook: support for multiple containers in a page, thanks to @justbecuz bug report.
- Update: Priority levels: set widget_text default to 98 and update its description in the dashboard Priority level tab.
- Bugfix: Reference container, tooltips: URL wrap: account for RFC 2396 allowed characters in parameter names.
- Bugfix: Reference container, tooltips: URL wrap: exclude URLs also where the equals sign is preceded by an entity or character reference.
= 2.2.8 =
-- Bugfix: Reference container, tooltips: URL wrap: correct lookbehind by duplicating it with and without quotation mark class.
+- Bugfix: Reference container, tooltips: URL wrap: correctly make the quotation mark optional wrt query parameters, thanks to @spiralofhope2 bug report.
= 2.2.7 =
-- Bugfix: Reference container, tooltips: URL wrap: revert the change in the regex, thanks to @rjl20 @spaceling @friedrichnorth @bernardzit @lukashuggenberg bug reports.
+- Bugfix: Reference container, tooltips: URL wrap: remove a bug introduced in the regex, thanks to @rjl20 @spaceling @lukashuggenberg @klusik @friedrichnorth @bernardzit bug reports.
= 2.2.6 =
- Bugfix: Reference container, tooltips: URL wrap: make the quotation mark optional wrt query parameters, thanks to @spiralofhope2 bug report.
-- Adding: Customization: support for custom templates in sibling folder, thanks to @misfist filter request.
+- Adding: Templates: support for custom templates in sibling folder, thanks to @misfist issue report.
= 2.2.5 =
- Bugfix: Dashboard: Footnotes numbering: add missing support for Ibid. notation to suggestions, thanks to @meglio code contribution.
-- Bugfix: Reference container: Label: not enforce bottom border but make it an option, thanks to @markhillyer bug report.
-- Bugfix: Reference container: Label: allow to switch from paragraph element to heading, thanks to @markhillyer code contribution.
+- Bugfix: Reference container: Label: make bottom border an option, thanks to @markhillyer issue report.
+- Bugfix: Reference container: Label: option to select paragraph or heading element, thanks to @markhillyer issue report.
- Bugfix: Reference container: delete position shortcode if unused because position may be widget or footer, thanks to @hamshe bug report.
-- Bugfix: Dashboard: Tooltip position/timing settings: include alternative tooltips (for themes not supporting jQuery tooltips).
+- Update: Tooltips: Alternative tooltips: connect to position/timing settings (for themes not supporting jQuery tooltips).
+- Update: Dashboard: Tooltip position/timing settings: include alternative tooltips (for themes not supporting jQuery tooltips).
- Bugfix: Dashboard: Tooltip position/timing settings: raise above tooltip truncation settings for better consistency.
= 2.2.4 =
@@ -209,15 +210,15 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
- Bugfix: Scroll offset: make configurable to fix site-dependent issues related to fixed headers.
- Bugfix: Scroll duration: make configurable to conform to website content and style requirements.
- Bugfix: Tooltips: make display delays and fade durations configurable to conform to website style.
-- Bugfix: Styling: Tooltips: fix font size issue by adding font size to settings with legacy as default.
+- Bugfix: Tooltips: Styling: fix font size issue by adding font size to settings with legacy as default.
- Bugfix: Reference container: fix layout by optionally enqueuing additional style sheet (depends on theme).
- Bugfix: Reference container: fix layout issues by moving backlink column width to settings.
- Bugfix: Reference container: make separating and terminating punctuation optional and configurable.
- Bugfix: Reference container: Backlinks: fix stacked enumerations by adding optional line breaks.
- Bugfix: Layout: Tooltips: prevent line break in Read-on link label.
-- Bugfix: Styling: Referrers and backlinks: make link elements optional to fix issues.
-- Bugfix: Styling: Referrers: disable hover underline.
-- Bugfix: Reference container, tooltips: fix line wrapping of URLs based on pattern, not link element.
+- Bugfix: Referrers and backlinks: Styling: make link elements optional to fix issues.
+- Bugfix: Referrers: Styling: disable hover underline.
+- Bugfix: Reference container, tooltips: fix line wrapping of URLs (hyperlinked or not) based on pattern, not link element.
- Bugfix: Reference container: Backlink symbol: support for appending when combining identicals is on.
- Bugfix: Reference container: Backlinks: deprioritize hover underline to ease customization.
- Bugfix: Reference container: Backlinks: fix line breaking with respect to separators and terminators.
@@ -248,7 +249,7 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
- Update: Dashboard: feature description for the hooks priority level settings, thanks to @nikelaos bug report.
= 2.1.1 =
-- Bugfix: Combining identical footnotes: fix dead links and ensure referrer-backlink bijectivity, thanks to @happyches bug report.
+- Bugfix: Referrers, reference container: Combining identical footnotes: fix dead links and ensure referrer-backlink bijectivity, thanks to @happyches bug report.
- Bugfix: Dashboard: priority level setting for the_content hook, thanks to @imeson bug report.
- Update: Libraries: jQuery Tools: redact (comment out) all 6 instances of deprecated function jQuery.browser(), thanks to @bjrnet21 @cconser @vyassuresh @spaceling @widecast @olivlyon @maxident bug reports.
- Bugfix: Libraries: jQuery Tools: complete minification.
diff --git a/templates/dashboard/editor-button.html b/templates/dashboard/editor-button.html
index 33799c5..50d6ff0 100644
--- a/templates/dashboard/editor-button.html
+++ b/templates/dashboard/editor-button.html
@@ -1,6 +1,18 @@
+