diff --git a/class/dashboard/subpage-main.php b/class/dashboard/subpage-main.php
index a553dd5..cf4841f 100644
--- a/class/dashboard/subpage-main.php
+++ b/class/dashboard/subpage-main.php
@@ -7,7 +7,7 @@
* @since 1.5.0 14.09.14 14:47
*
*
- * @lastmodified 2021-02-12T1705+0100
+ * @lastmodified 2021-02-17T1136+0100
*
* @since 2.0.4 restore arrow settings 2020-11-01T0509+0100
* @since 2.1.0 read-on button label 2020-11-08T2148+0100
@@ -615,8 +615,8 @@ class MCI_Footnotes_Layout_Settings extends MCI_Footnotes_LayoutEngine {
$l_arr_Enabled = array(
"yes" => __("Yes", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"no" => __("No", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)
- );
- // options for superscript normalize scope:
+ );
+ // options for superscript normalize scope:
$l_arr_NormalizeSuperscript = array(
"no" => __("No", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"referrers" => __("Footnote referrers", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
@@ -679,7 +679,7 @@ class MCI_Footnotes_Layout_Settings extends MCI_Footnotes_LayoutEngine {
"alternative" => $this->addSelectBox(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE, $l_arr_Enabled),
"notice-alternative" => __("Intended to work around a configuration-related tooltip outage.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
// The placeholder is the name of the plugin as logogram “footnotes”.
- "description-alternative" => sprintf(__("These alternative tooltips work around a website related jQuery UI outage. They are low-script but use the AMP incompatible onmouseover and onmouseout arguments, along with CSS transitions for fade-in/out. The very small script is inserted after Footnotes’ internal stylesheet. When this option is enabled, %s does not load jQuery UI nor jQuery Tools.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME), '' . MCI_Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME . ''),
+ "description-alternative" => sprintf(__("These alternative tooltips work around a website related jQuery UI outage. They are low-script but use the AMP incompatible onmouseover and onmouseout arguments, along with CSS transitions for fade-in/out. The very small script is inserted after Footnotes’ internal stylesheet. When this option is enabled, %s does not load jQuery UI nor jQuery Tools.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME), '' . MCI_Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME . ''),
)
);
@@ -839,9 +839,9 @@ class MCI_Footnotes_Layout_Settings extends MCI_Footnotes_LayoutEngine {
"label-separator" => $this->addLabel(MCI_Footnotes_Settings::C_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR, __("Separator between tooltip text and footnote text:", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"separator" => $this->addTextBox(MCI_Footnotes_Settings::C_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR),
- "notice-separator" => __("May be a simple space, or a line break <br />, or any string in your language.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
-
- "description-mirror" => __("Tooltips, even jQuery-driven, may be hard to consult on mobiles. This option allows to find the tooltip content in the reference container too.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
+ "notice-separator" => __("May be a simple space, or a line break <br />, or any string in your language.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
+
+ "description-mirror" => __("Tooltips, even jQuery-driven, may be hard to consult on mobiles. This option allows to read the tooltip content in the reference container too.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
)
diff --git a/class/settings.php b/class/settings.php
index ddd1407..2ba15ae 100644
--- a/class/settings.php
+++ b/class/settings.php
@@ -7,7 +7,7 @@
* @since 1.5.0 14.09.14 10:43
*
*
- * @lastmodified 2021-02-17T1026+0100
+ * @lastmodified 2021-02-17T1136+0100
*
* @since 2.0.4 restore arrow settings 2020-11-02T2115+0100
* @since 2.0.7 remove hook the_post 2020-11-06T1342+0100
@@ -699,7 +699,7 @@ class MCI_Footnotes_Settings {
const C_BOOL_FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE = "footnotes_inputfield_shortcode_syntax_validation_enable";
/**
- * Settings container key to enable a backlink tooltip.
+ * Settings container key to enable backlink tooltips.
*
* - Update: Reference container: Hard backlinks (optional): optional configurable tooltip hinting to use the backbutton instead, thanks to @theroninjedi47 bug report.
*
@@ -708,7 +708,8 @@ class MCI_Footnotes_Settings {
* @reporter @theroninjedi47
* @link https://wordpress.org/support/topic/hyperlinked-footnotes-creating-excessive-back-history/
*
- * When hard links are enabled, clicks on the backlinks are logged in the browsing history.
+ * When hard links are enabled, clicks on the backlinks are logged in the browsing history,
+ * along with clicks on the referrers.
* This tooltip hints to use the backbutton instead, so the history gets streamlined again.
* @link https://wordpress.org/support/topic/making-it-amp-compatible/#post-13837359
*
@@ -758,7 +759,7 @@ class MCI_Footnotes_Settings {
* @var str
*
* Tooltips, even jQuery-driven, may be hard to consult on mobiles.
- * This option allows to find the tooltip content in the reference container too.
+ * This option allows to read the tooltip content in the reference container too.
* @link https://wordpress.org/support/topic/change-tooltip-text/#post-13935050
* But this must not be the default behavior.
* @link https://wordpress.org/support/topic/change-tooltip-text/#post-13935488
diff --git a/class/task.php b/class/task.php
index e043a6b..13c416d 100644
--- a/class/task.php
+++ b/class/task.php
@@ -7,7 +7,7 @@
* @since 1.5.0
*
*
- * @lastmodified 2021-02-16T0055+0100
+ * @lastmodified 2021-02-17T1142+0100
*
* @since 2.0.0 Bugfix: various.
* @since 2.0.4 Bugfix: Referrers and backlinks: remove hard links to streamline browsing history, thanks to @theroninjedi47 bug report.
@@ -78,6 +78,7 @@
* @since 2.5.4 Bugfix: Reference container, tooltips: URL wrap: account for leading space in value, thanks to @karolszakiel example provision.
* @since 2.5.4 Update: Reference container: Hard backlinks (optional): optional configurable tooltip hinting to use the backbutton instead, thanks to @theroninjedi47 bug report.
* @since 2.5.4 Bugfix: Tooltips: fix display in Popup Maker popups by correcting a coding error.
+ * @since 2.5.5 Bugfix: Process: fix numbering bug impacting footnote #2 with footnote #1 close to start, thanks to @rumperuu bug report, thanks to @lolzim code contribution.
*/
// If called directly, abort:
@@ -1701,7 +1702,27 @@ class MCI_Footnotes_Task {
}
// add offset to the new starting position
$l_int_PosStart += $l_int_Length + strlen($l_str_EndingTag);
- $l_int_PosStart = $l_int_Length + strlen($l_str_FootnoteReplaceText);
+
+ /**
+ * Fixes a footnotes numbering bug (happening under de facto rare circumstances).
+ *
+ * - Bugfix: Process: fix numbering bug impacting footnote #2 with footnote #1 close to start, thanks to @rumperuu bug report, thanks to @lolzim code contribution.
+ *
+ * @since 2.5.5
+ *
+ * @contributor @lolzim
+ * @link https://wordpress.org/support/topic/footnotes-numbered-incorrectly/#post-14062032
+ *
+ * @reporter @rumperuu
+ * @link https://wordpress.org/support/topic/footnotes-numbered-incorrectly/
+ *
+ * This line caused the algorithm to jump back near the post start, disturbing
+ * the order of the footnotes depending on the text before the first footnote,
+ * the length of the first footnote and the length of the footnote and tooltip
+ * templates.
+ */
+ // $l_int_PosStart = $l_int_Length + strlen($l_str_FootnoteReplaceText);
+
} while (true);
// return content
diff --git a/css/settings.min.css b/css/settings.min.css
index d8387a1..fbafda4 100644
--- a/css/settings.min.css
+++ b/css/settings.min.css
@@ -1 +1 @@
-.postbox-header{position:relative;padding:0 20px}.footnotes_logo_heading{display:inline-block;float:left;position:absolute}.footnotes_logo_part1_heading{left:20px}.footnotes_logo_part2_heading{left:51px}.footnotes_heart_heading{color:#ff6d3b;font-weight:700;position:absolute;left:96px}#footnote_inputfield_love,#footnote_inputfield_readon_label,#footnote_inputfield_references_label{padding-left:8px!important;padding-right:8px!important;width:80%!important}#footnote_inputfield_reference_container_place{width:310px}#footnote_inputfield_counter_style,#footnotes_inputfield_page_layout_support{width:505px}#footnote_inputfield_custom_mouse_over_box_excerpt_length,#footnote_inputfield_placeholder_end,#footnote_inputfield_placeholder_start{width:180px}#footnote_inputfield_placeholder_end_user_defined,#footnote_inputfield_placeholder_start_user_defined{width:320px}#footnote_inputfield_combine_identical,#footnote_inputfield_custom_mouse_over_box_border_radius,#footnote_inputfield_custom_mouse_over_box_border_width,#footnote_inputfield_custom_mouse_over_box_excerpt_enabled,#footnote_inputfield_custom_mouse_over_box_max_width,#footnote_inputfield_custom_mouse_over_box_offset_x,#footnote_inputfield_custom_mouse_over_box_offset_y,#footnotes_inputfield_alternative_mouse_over_box_offset_x,#footnotes_inputfield_alternative_mouse_over_box_offset_y,#footnotes_inputfield_alternative_mouse_over_box_width,#footnotes_inputfield_mouse_over_box_fade_in_delay,#footnotes_inputfield_mouse_over_box_fade_in_duration,#footnotes_inputfield_mouse_over_box_fade_out_delay,#footnotes_inputfield_mouse_over_box_fade_out_duration,#footnotes_inputfield_scroll_duration,#footnotes_inputfield_scroll_offset{width:80px}#footnote_inputfield_custom_hyperlink_symbol,#footnotes_inputfield_backlinks_separator_option,#footnotes_inputfield_backlinks_terminator_option{width:230px}#footnotes_inputfield_backlinks_column_max_width_scalar,#footnotes_inputfield_backlinks_column_width_scalar,#footnotes_inputfield_mouse_over_box_font_size_scalar,#footnotes_inputfield_reference_container_bottom_margin,#footnotes_inputfield_reference_container_top_margin{width:85px}#footnotes_inputfield_backlinks_column_max_width_unit,#footnotes_inputfield_backlinks_column_width_unit,#footnotes_inputfield_mouse_over_box_font_size_unit{width:140px}label{display:inline-block}.postbox>h3{height:32px!important;line-height:32px!important}.postbox>h3>span{padding:0 10px}.postbox>.inside>table{border:none!important}.postbox>.inside>table>tbody>tr>td:first-child{width:15%!important;font-weight:700!important}.footnote_placeholder_box_container{text-align:center!important}span.footnote_highlight_placeholder{font-weight:700!important;padding:0 8px!important}.footnote_placeholder_box_example{border:2px solid #2bb975!important;border-radius:4px!important;padding:16px 0!important;width:50%!important;display:block!important;margin:20px auto!important;text-align:center!important}.expert_lookup tr td:first-child,.expert_lookup tr th:first-child{width:170px!important}.expert_lookup tr td:nth-child(2),.expert_lookup tr th:nth-child(2){width:65px!important}.expert_lookup tr td:nth-child(3),.expert_lookup tr th:nth-child(3){width:200px!important}.expert_lookup tr td:nth-child(3) input{width:190px}.expert_lookup tr td:last-child,.expert_lookup tr th:last-child{white-space:nowrap}#customize_css_new tr td:first-child{width:38%!important;font-weight:400!important}.customize_css_new tr td:first-child span:first-child{font-weight:700!important}.customize_css_new .list{padding-top:10px}.customize_css_new .list p{font-family:monospace;padding:0 10px;text-indent:-10px;margin:.5em 0}#footnote_inputfield_custom_css_new{height:500px}#footnote_inputfield_custom_css,#footnote_inputfield_custom_css_new{width:96%;resize:both;overflow:scroll;font-family:monospace}.footnotes_notice{font-style:italic;display:inline-block;text-align:end}.footnotes_description{padding:0 6%}.footnotes_description p{font-size:1.2em;font-style:italic}
\ No newline at end of file
+.footnotes_logo_heading{display:inline-block;float:left;position:absolute;text-decoration:none;font-weight:400}.footnotes_logo_part1_heading{left:20px;color:#2bb975}.footnotes_logo_part2_heading{left:51px;color:#545f5a}.footnotes_heart_heading{color:#ff6d3b;font-weight:700;position:absolute;left:96px}.postbox-header{position:relative;padding:0 20px}#footnote_inputfield_love,#footnote_inputfield_readon_label,#footnote_inputfield_references_label{padding-left:8px!important;padding-right:8px!important;width:80%!important}#footnote_inputfield_reference_container_place{width:310px}#footnote_inputfield_counter_style,#footnotes_inputfield_page_layout_support{width:505px}#footnote_inputfield_custom_mouse_over_box_excerpt_length,#footnote_inputfield_placeholder_end,#footnote_inputfield_placeholder_start{width:180px}#footnote_inputfield_placeholder_end_user_defined,#footnote_inputfield_placeholder_start_user_defined{width:320px}#footnote_inputfield_combine_identical,#footnote_inputfield_custom_mouse_over_box_border_radius,#footnote_inputfield_custom_mouse_over_box_border_width,#footnote_inputfield_custom_mouse_over_box_excerpt_enabled,#footnote_inputfield_custom_mouse_over_box_max_width,#footnote_inputfield_custom_mouse_over_box_offset_x,#footnote_inputfield_custom_mouse_over_box_offset_y,#footnotes_inputfield_alternative_mouse_over_box_offset_x,#footnotes_inputfield_alternative_mouse_over_box_offset_y,#footnotes_inputfield_alternative_mouse_over_box_width,#footnotes_inputfield_mouse_over_box_fade_in_delay,#footnotes_inputfield_mouse_over_box_fade_in_duration,#footnotes_inputfield_mouse_over_box_fade_out_delay,#footnotes_inputfield_mouse_over_box_fade_out_duration,#footnotes_inputfield_scroll_duration,#footnotes_inputfield_scroll_offset{width:80px}#footnote_inputfield_custom_hyperlink_symbol,#footnotes_inputfield_backlinks_separator_option,#footnotes_inputfield_backlinks_terminator_option{width:230px}#footnotes_inputfield_backlinks_column_max_width_scalar,#footnotes_inputfield_backlinks_column_width_scalar,#footnotes_inputfield_mouse_over_box_font_size_scalar,#footnotes_inputfield_reference_container_bottom_margin,#footnotes_inputfield_reference_container_top_margin{width:85px}#footnotes_inputfield_backlinks_column_max_width_unit,#footnotes_inputfield_backlinks_column_width_unit,#footnotes_inputfield_mouse_over_box_font_size_unit{width:140px}label{display:inline-block}.postbox>h3{height:32px!important;line-height:32px!important}.postbox>h3>span{padding:0 10px}.postbox>.inside>table{border:none!important}.postbox>.inside>table>tbody>tr>td:first-child{width:15%!important;font-weight:700!important}.footnote_placeholder_box_container{text-align:center!important}span.footnote_highlight_placeholder{font-weight:700!important;padding:0 8px!important}.footnote_placeholder_box_example{border:2px solid #2bb975!important;border-radius:4px!important;padding:16px 0!important;width:50%!important;display:block!important;margin:20px auto!important;text-align:center!important}.expert_lookup tr td:first-child,.expert_lookup tr th:first-child{width:170px!important}.expert_lookup tr td:nth-child(2),.expert_lookup tr th:nth-child(2){width:65px!important}.expert_lookup tr td:nth-child(3),.expert_lookup tr th:nth-child(3){width:200px!important}.expert_lookup tr td:nth-child(3) input{width:190px}.expert_lookup tr td:last-child,.expert_lookup tr th:last-child{white-space:nowrap}#customize_css_new tr td:first-child{width:38%!important;font-weight:400!important}.customize_css_new tr td:first-child span:first-child{font-weight:700!important}.customize_css_new .list{padding-top:10px}.customize_css_new .list p{font-family:monospace;padding:0 10px;text-indent:-10px;margin:.5em 0}#footnote_inputfield_custom_css_new{height:500px}#footnote_inputfield_custom_css,#footnote_inputfield_custom_css_new{width:96%;resize:both;overflow:scroll;font-family:monospace}.footnotes_notice{font-style:italic;display:inline-block;text-align:end}.footnotes_description{padding:0 4%}.footnotes_description p{font-size:1.06em;font-style:italic}
\ No newline at end of file
diff --git a/footnotes.php b/footnotes.php
index e761423..069e4d7 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.5d1
+ Version: 2.5.5d2
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-17T1028+0100
+ * @lastmodified 2021-02-17T1137+0100
* @committer @pewgeuges
*/
-define( 'C_STR_FOOTNOTES_VERSION', '2.5.5d1' );
+define( 'C_STR_FOOTNOTES_VERSION', '2.5.5d2' );
/*
LICENSE NOTICE
@@ -70,6 +70,6 @@ $g_obj_MCI_Footnotes->run();
* In production, a minified CSS file tailored to the settings is enqueued.
*
* Developing stylesheets is meant to be easier when this is set to false.
- * WARNING: This facility is designed for development and must NOT be used in production.
+ * WARNING: This facility designed for development must NOT be used in production.
*/
define( 'C_BOOL_CSS_PRODUCTION_MODE', true );
diff --git a/readme.txt b/readme.txt
index 0717b4b..19633d7 100755
--- a/readme.txt
+++ b/readme.txt
@@ -83,6 +83,7 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
- Update: Stylesheets: increase speed and energy efficiency by tailoring stylesheets to the needs of the instance, thanks to @docteurfitness design contribution.
- Bugfix: Stylesheets: minify to shrink the carbon footprint, increase speed and implement best practice, thanks to @docteurfitness issue report.
- Bugfix: Libraries: optimize processes by loading external and internal scripts only if needed, thanks to @docteurfitness issue report.
+- Bugfix: Process: fix numbering bug impacting footnote #2 with footnote #1 close to start, thanks to @rumperuu bug report, thanks to @lolzim code contribution.
- Update: Dashboard: add or edit descriptions to the tooltips and tooltip text delimiter settings and the backlink symbol configuration setting.
- Update: Dashboard: decrease font size and padding of the descriptions.