Urgent bugfix development 2.5.11d5 with ST 2.5.10.

On top of 2.6.0d7.
Debugs Footnotes for all input field values with footnotes coming in from field label.
Preparing unreleased tagged v2.5.11 in response to Forum support request.
Accessibility fixes and AMP compat enhancements not fully debugged yet, draft only.

git-svn-id: https://plugins.svn.wordpress.org/footnotes/trunk@2499807 b8457f37-d9ea-0310-8a92-e5e31aec5664
This commit is contained in:
pewgeuges 2021-03-19 23:58:23 +00:00
parent 41676ea716
commit 7aa9d8803f
26 changed files with 103 additions and 74 deletions

View file

@ -130,8 +130,7 @@ class MCI_Footnotes_Layout_Settings extends MCI_Footnotes_Layout_Engine {
protected function get_meta_boxes() {
$l_arr_meta_boxes = array();
// Sync box name with mirror in task.php.
$l_arr_meta_boxes[] = $this->add_meta_box( 'settings', 'amp-compat', __( 'AMP compatibility', 'footnotes' ), 'amp_compat' );
$l_arr_meta_boxes[] = $this->add_meta_box( 'settings', 'amp-compat', __( 'AMP compatibility (draft status only; debugging not complete)', 'footnotes' ), 'amp_compat' );
$l_arr_meta_boxes[] = $this->add_meta_box( 'settings', 'start-end', __( 'Footnote start and end short codes', 'footnotes' ), 'start_end' );
$l_arr_meta_boxes[] = $this->add_meta_box( 'settings', 'numbering', __( 'Footnotes numbering', 'footnotes' ), 'Numbering' );
$l_arr_meta_boxes[] = $this->add_meta_box( 'settings', 'scrolling', __( 'Scrolling behavior', 'footnotes' ), 'Scrolling' );
@ -168,7 +167,7 @@ class MCI_Footnotes_Layout_Settings extends MCI_Footnotes_Layout_Engine {
/**
* Displays the AMP compatibility mode option.
*
* @since 2.6.0
* @since 2.5.11 (draft)
*/
public function amp_compat() {
@ -181,7 +180,7 @@ class MCI_Footnotes_Layout_Settings extends MCI_Footnotes_Layout_Engine {
'amp' => $this->add_checkbox( MCI_Footnotes_Settings::C_STR_FOOTNOTES_AMP_COMPATIBILITY_ENABLE ),
'notice-amp' => __( 'This option enables hard links with configurable scroll offset in % window height.', 'footnotes' ),
// Translators: '%s' is the logogram of the 'Footnotes' plugin.
'description-amp' => sprintf( __( '%s is AMP compatible (without scroll animation) when this box is checked. Styled tooltips are displayed with fade-in/fade-out effect if enabled, and the reference container expands also on clicking a referrer if its collapsed by default.', 'footnotes' ), '<span style="font-style: normal;">' . MCI_Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME . '</span>' ),
'description-amp' => sprintf( __( '%s shall become AMP compatible thanks to @milindmore22 and @westonruter code contributions.', 'footnotes' ), '<span style="font-style: normal;">' . MCI_Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME . '</span>' ),
)
);
// Display template with replaced placeholders.

View file

@ -83,7 +83,7 @@ class MCI_Footnotes {
* - Bugfix: Tooltips: enable accessibility by keyboard navigation, thanks to @westonruter code contribution.
* - Adding: Reference container: get expanding and collapsing to work also in AMP compatibility mode, thanks to @westonruter code contribution.
*
* @since 2.6.0
* @since 2.5.11 (draft)
*
* @contributor @milindmore22
* @link @link https://github.com/ampproject/amp-wp/issues/5913#issuecomment-785306933

View file

@ -326,7 +326,7 @@ class MCI_Footnotes_Settings {
*
* - Bugfix: Tooltips: Styling: Background color: empty default value to adopt theme background, thanks to 4msc bug report.
*
* @since 2.6.0
* @since 2.5.11
*
* @reporter @4msc
* @link https://wordpress.org/support/topic/tooltip-not-showing-on-dark-theme-with-white-text/
@ -1094,7 +1094,7 @@ class MCI_Footnotes_Settings {
* - Bugfix: Tooltips: enable accessibility by keyboard navigation, thanks to @westonruter code contribution.
* - Adding: Reference container: get expanding and collapsing to work also in AMP compatibility mode, thanks to @westonruter code contribution.
*
* @since 2.6.0
* @since 2.5.11 (draft)
*
* @contributor @milindmore22
* @link @link https://github.com/ampproject/amp-wp/issues/5913#issuecomment-785306933

View file

@ -80,9 +80,7 @@
* @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.
* @since 2.5.6 Bugfix: Reference container: optional alternative expanding and collapsing without jQuery for use with hard links, thanks to @hopper87it @pkverma99 issue reports.
* @since 2.5.7 Bugfix: Process: fix footnote duplication by emptying the footnotes list every time the search algorithm is run on the content, thanks to @inoruhana bug report.
* @since 2.6.0 Adding: Tooltips: make display work purely by style rules for AMP compatibility, thanks to @milindmore22 code contribution.
* @since 2.6.0 Bugfix: Tooltips: enable accessibility by keyboard navigation, thanks to @westonruter code contribution.
* @since 2.6.0 Adding: Reference container: get expanding and collapsing to work also in AMP compatibility mode, thanks to @westonruter code contribution.
* @since 2.5.11 Bugfix: Forms: remove footnotes from input field values, thanks to @bogosavljev bug report.
*/
// If called directly, abort.
@ -1111,6 +1109,7 @@ class MCI_Footnotes_Task {
* @return string Content with replaced footnotes.
*/
public function the_content( $p_str_content ) {
/**
* Empties the footnotes list every time Footnotes is run when the_content hook is called.
*
@ -1237,7 +1236,6 @@ class MCI_Footnotes_Task {
* @reporter @hamshe
* @link https://wordpress.org/support/topic/reference-container-in-elementor/
*
*
* - Bugfix: Reference container: delete position shortcode if unused because position may be widget or footer, thanks to @hamshe bug report.
*
* @since 2.2.5
@ -1331,7 +1329,6 @@ class MCI_Footnotes_Task {
*
* @since 2.4.0
*
*
* - Bugfix: Footnote delimiters: Syntax validation: exclude certain cases involving scripts, thanks to @andreasra bug report.
* - Bugfix: Footnote delimiters: Syntax validation: complete message with hint about setting, thanks to @andreasra bug report.
* - Bugfix: Footnote delimiters: Syntax validation: limit length of quoted string to 300 characters, thanks to @andreasra bug report.
@ -1342,16 +1339,17 @@ class MCI_Footnotes_Task {
* @reporter @andreasra
* @link https://wordpress.org/support/topic/warning-unbalanced-footnote-start-tag-short-code-before/
*
*
* If footnotes short codes are unbalanced, and syntax validation is not disabled,
* prepend a warning to the content; displays de facto beneath the post title.
*
* The delimiter shortcode regex forms are also used later below.
*/
if ( MCI_Footnotes_Convert::to_bool( MCI_Footnotes_Settings::instance()->get( MCI_Footnotes_Settings::C_STR_FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE ) ) ) {
// Make shortcodes conform to regex syntax.
$l_str_start_tag_regex = preg_replace( '#([\(\)\{\}\[\]\*\.\?\!])#', '\\\\$1', $l_str_starting_tag );
$l_str_end_tag_regex = preg_replace( '#([\(\)\{\}\[\]\*\.\?\!])#', '\\\\$1', $l_str_ending_tag );
if ( MCI_Footnotes_Convert::to_bool( MCI_Footnotes_Settings::instance()->get( MCI_Footnotes_Settings::C_STR_FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE ) ) ) {
// Apply different regex depending on whether start shortcode is double/triple opening parenthesis.
if ( '((' === $l_str_starting_tag || '(((' === $l_str_starting_tag ) {
@ -1406,6 +1404,26 @@ class MCI_Footnotes_Task {
}
}
/**
* Patch to allow footnotes in input field labels.
*
* - Bugfix: Forms: remove footnotes from input field values, thanks to @bogosavljev bug report.
*
* @since 2.5.11
*
* @reporter @bogosavljev
* @link https://wordpress.org/support/topic/compatibility-issue-with-wpforms/
*
* When the HTML 'input' element 'value' attribute value
* is derived from 'label', footnotes need to be removed
* in the value of 'value'.
*/
$l_str_value_regex = '#(<input [^>]+?value=["\'][^>]+?)' . $l_str_start_tag_regex . '[^>]+?' . $l_str_end_tag_regex . '#';
do {
$p_str_content = preg_replace( $l_str_value_regex, '$1', $p_str_content );
} while ( preg_match( $l_str_value_regex, $p_str_content ) );
/*
* Load footnote referrer template file.
*/
@ -1682,7 +1700,10 @@ class MCI_Footnotes_Task {
$l_str_excerpt_text .= '&nbsp;&#x2026; <';
$l_str_excerpt_text .= self::$a_bool_hard_links_enabled ? 'a' : 'span';
$l_str_excerpt_text .= ' class="footnote_tooltip_continue" ';
$l_str_excerpt_text .= 'onclick="footnote_move_to_anchor_' . self::$a_int_post_id;
// Reverted wrong linting 2021-03-20T0032+0100.
$l_str_excerpt_text .= 'onclick="footnote_moveToAnchor_' . self::$a_int_post_id;
$l_str_excerpt_text .= '_' . self::$a_int_reference_container_id;
$l_str_excerpt_text .= '(\'footnote_plugin_reference_' . self::$a_int_post_id;
$l_str_excerpt_text .= '_' . self::$a_int_reference_container_id;
@ -1834,7 +1855,7 @@ class MCI_Footnotes_Task {
// Reset the template.
$l_obj_template->reload();
// If standard tooltips are enabled but neither AMP nor alternative are.
// If tooltips are enabled but neither AMP nor alternative are.
if ( MCI_Footnotes::$a_bool_tooltips_enabled && ! MCI_Footnotes::$a_bool_amp_enabled && ! MCI_Footnotes::$a_bool_alternative_tooltips_enabled ) {
$l_int_offset_y = intval( MCI_Footnotes_Settings::instance()->get( MCI_Footnotes_Settings::C_INT_FOOTNOTES_MOUSE_OVER_BOX_OFFSET_Y ) );
@ -2282,8 +2303,12 @@ class MCI_Footnotes_Task {
}
$l_str_footnote_reference .= ' class="footnote_backlink"';
// The click event goes in the table cell if footnote remains single.
$l_str_backlink_event = ' onclick="footnote_move_to_anchor_';
/*
* The click event goes in the table cell if footnote remains single.
*/
// Reverted wrong linting 2021-03-20T0032+0100.
$l_str_backlink_event = ' onclick="footnote_moveToAnchor_';
$l_str_backlink_event .= self::$a_int_post_id;
$l_str_backlink_event .= '_' . self::$a_int_reference_container_id;
$l_str_backlink_event .= "('footnote_plugin_tooltip_";
@ -2359,7 +2384,10 @@ class MCI_Footnotes_Task {
}
$l_str_footnote_backlinks .= ' class="footnote_backlink"';
$l_str_footnote_backlinks .= ' onclick="footnote_move_to_anchor_';
// Reverted wrong linting 2021-03-20T0032+0100.
$l_str_footnote_backlinks .= ' onclick="footnote_moveToAnchor_';
$l_str_footnote_backlinks .= self::$a_int_post_id;
$l_str_footnote_backlinks .= '_' . self::$a_int_reference_container_id;
$l_str_footnote_backlinks .= "('footnote_plugin_tooltip_";

View file

@ -5,7 +5,7 @@
* - Adding: Tooltips: make display work purely by style rules for AMP compatibility, thanks to @milindmore22 code contribution.
* - Bugfix: Tooltips: enable accessibility by keyboard navigation, thanks to @westonruter code contribution.
*
* @since 2.6.0
* @since 2.5.11 (draft)
*
* @contributor @milindmore22
* @link https://github.com/ampproject/amp-wp/issues/5913#issuecomment-785306933

View file

@ -6,8 +6,8 @@
* Created-Time: 16:21
* Since: 1.0
*
* @version 2.6.0
* @lastmodified 2021-03-18T0448+0100
* @version 2.5.11
* @lastmodified 2021-03-19T2214+0100
*
* Classes recommended for Custom CSS:
* @see templates/dashboard/customize-css-new.html
@ -66,7 +66,7 @@
* @since 2.3.0 offset anchors for optional hard links, thanks to @psychonevro @martinneumannat bug reports
* @since 2.4.0 validation error warning box
* @since 2.5.0 validation error warning box more paragraphs
* @since 2.6.0 AMP compatible tooltips and reference container
* @since 2.5.11 Bugfix: Reference container: apply web semantics to improve readability for assistive technologies, thanks to @derivationfr issue report and code contribution.
*/
/**
@ -356,9 +356,19 @@ table
border: none;
}
/*
caption
*/
/**
* Table caption.
*
* - Bugfix: Reference container: apply web semantics to improve readability for assistive technologies, thanks to @derivationfr issue report and code contribution.
*
* @since 2.5.11
*
* @contributor @derivationfr
* @link https://wordpress.org/support/topic/enhance-accesibility-by-using-instead-of/
* @link https://a11y-101.com/development/tables
*
* The table caption must be present for screen readers but may be hidden to sighted users.
*/
caption.accessibility {
text-align: start;

View file

@ -3,8 +3,6 @@
* Additional stylesheet for alternative tooltips.
*
* @since 2.5.5
* @version 2.6.0
* @lastmodified 2021-03-17T1552+0100
*
* System of unified minified style sheets tailored to the instance.
*

View file

@ -5,9 +5,6 @@
* Created-Date: 15.05.14
* Created-Time: 16:21
* Since: 1.0
*
* @version 2.6.0
* @lastmodified 2021-03-16T2349+0100
*/
/**

View file

@ -4,8 +4,8 @@
* 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
* Package V.: 2.6.0d7
* Version: 2.6.0d
* Package V.: 2.5.11d5
* Version: 2.5.11d
* CAUTION: THIS V. FIELD IS PARSED FOR UPDATE CONFIGURATION.
* Author URI: https://cheret.org/footnotes/
* Text Domain: footnotes
@ -24,9 +24,9 @@
* @since 2.1.4
* @since 2.5.3 (Hungarian)
* @var str
* @lastmodified 2021-03-18T1845+0100
* @lastmodified 2021-03-19T2134+0100
*/
define( 'C_STR_PACKAGE_VERSION', '2.6.0d7' );
define( 'C_STR_PACKAGE_VERSION', '2.5.11d5' );
/**
* Version numbers in WordPress plugin readme.txt and main PHP headers.

View file

@ -69,7 +69,7 @@
author : 'Mark Cheret',
authorurl : 'https://cheret.org/footnotes/',
infourl : 'https://wordpress.org/plugins/footnotes/',
version : "2.6.0"
version : "2.5.11"
};
}
});

View file

@ -4,8 +4,8 @@ Tags: footnote, footnotes, bibliography, formatting, notes, Post, posts, referen
Requires at least: 3.9
Tested up to: 5.7
Requires PHP: 5.6
Package Version: 2.6.0d7
Version: 2.6.0d
Package Version: 2.5.11d5
Version: 2.5.11d
Stable Tag: 2.5.10
CAUTION: THE S. T. FIELD IS PARSED FOR RELEASE CONFIGURATION.
License: GPLv3 or later
@ -80,12 +80,9 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
== Changelog ==
= 2.6.0 =
- Adding: Reference container: get expanding and collapsing to work also in AMP compatibility mode, thanks to @westonruter code contribution.
= 2.5.11 =
- Bugfix: Forms: remove footnotes from input field values, thanks to @bogosavljev bug report.
- Bugfix: Reference container: apply web semantics to improve readability for assistive technologies, thanks to @derivationfr issue report and code contribution.
- Adding: Tooltips: make display work purely by style rules for AMP compatibility, thanks to @milindmore22 code contribution.
- Bugfix: Tooltips: AMP tooltips: enable accessibility by keyboard navigation, thanks to @westonruter code contribution.
- Bugfix: Tooltips: Alternative tooltips: add missing accessibility, thanks to @derivationfr issue report.
- Bugfix: Tooltips: Styling: Background color: empty default value to adopt theme background, thanks to 4msc bug report.
- Update: Documentation: Readme.txt: comment line below the 'Stable Tag' field to warn that this field is (unintuitively) parsed for release configuration.
- Update: Documentation: Readme.txt: informative 'Version' field in sync with 'Version' in 'footnotes.php' for bugfix versions available ahead of the Stable Tag.

View file

@ -6,7 +6,7 @@
* - Bugfix: Tooltips: enable accessibility by keyboard navigation, thanks to @westonruter code contribution.
* - Adding: Reference container: get expanding and collapsing to work also in AMP compatibility mode, thanks to @westonruter code contribution.
*
* @since 2.6.0
* @since 2.5.11 (draft)
*
* @contributor @milindmore22
* @link @link https://github.com/ampproject/amp-wp/issues/5913#issuecomment-785306933

View file

@ -5,7 +5,7 @@
* - Adding: Tooltips: make display work purely by style rules for AMP compatibility, thanks to @milindmore22 code contribution.
* - Bugfix: Tooltips: enable accessibility by keyboard navigation, thanks to @westonruter code contribution.
*
* @since 2.6.0
* @since 2.5.11 (draft)
*
* @contributor @milindmore22
* @link @link https://github.com/ampproject/amp-wp/issues/5913#issuecomment-785306933

View file

@ -2,11 +2,11 @@
/**
* AMP compatible table row template with legacy extra column for backlink symbol, uncombined footnotes.
*
* @since 2.6.0
* @since 2.5.11 (draft)
*
* - Bugfix: Reference container: apply web semantics to improve readability for assistive technologies, thanks to @derivationfr issue report and code contribution.
*
* @since 2.6.0
* @since 2.5.11
*
* @contributor @derivationfr
* @link https://wordpress.org/support/topic/enhance-accesibility-by-using-instead-of/

View file

@ -2,7 +2,7 @@
/**
* AMP compatible table row template with the ability to have combined footnotes.
*
* @since 2.6.0
* @since 2.5.11 (draft)
*
* - Bugfix: Referrers, reference container: Combining identical footnotes: fix dead links and ensure referrer-backlink bijectivity, thanks to @happyches bug report.
*
@ -13,7 +13,7 @@
*
* - Bugfix: Reference container: apply web semantics to improve readability for assistive technologies, thanks to @derivationfr issue report and code contribution.
*
* @since 2.6.0
* @since 2.5.11
*
* @contributor @derivationfr
* @link https://wordpress.org/support/topic/enhance-accesibility-by-using-instead-of/

View file

@ -2,7 +2,7 @@
/**
* AMP compatible table row template for uncombined footnotes with the backlink symbol appended.
*
* @since 2.6.0
* @since 2.5.11 (draft)
*
* - Bugfix: Reference container: option to append symbol (prepended by default), thanks to @spaceling code contribution.
*
@ -13,7 +13,7 @@
*
* - Bugfix: Reference container: apply web semantics to improve readability for assistive technologies, thanks to @derivationfr issue report and code contribution.
*
* @since 2.6.0
* @since 2.5.11
*
* @contributor @derivationfr
* @link https://wordpress.org/support/topic/enhance-accesibility-by-using-instead-of/

View file

@ -2,11 +2,11 @@
/**
* AMP compatible table row default template for uncombined footnotes.
*
* @since 2.6.0
* @since 2.5.11 (draft)
*
* - Bugfix: Reference container: apply web semantics to improve readability for assistive technologies, thanks to @derivationfr issue report and code contribution.
*
* @since 2.6.0
* @since 2.5.11
*
* @contributor @derivationfr
* @link https://wordpress.org/support/topic/enhance-accesibility-by-using-instead-of/

View file

@ -4,7 +4,7 @@
*
* - Adding: Reference container: get expanding and collapsing to work also in AMP compatibility mode, thanks to @westonruter code contribution.
*
* @since 2.6.0
* @since 2.5.11 (draft)
*
* @contributor @westonruter
* @link https://github.com/markcheret/footnotes/issues/48#issuecomment-799580854
@ -13,7 +13,7 @@
*
* - Bugfix: Reference container: apply web semantics to improve readability for assistive technologies, thanks to @derivationfr issue report and code contribution.
*
* @since 2.6.0
* @since 2.5.11
*
* @contributor @derivationfr
* @link https://wordpress.org/support/topic/enhance-accesibility-by-using-instead-of/

View file

@ -4,7 +4,7 @@
*
* - Adding: Reference container: get expanding and collapsing to work also in AMP compatibility mode, thanks to @westonruter code contribution.
*
* @since 2.6.0
* @since 2.5.11 (draft)
*
* @contributor @westonruter
* @link https://github.com/markcheret/footnotes/issues/48#issuecomment-799580854
@ -13,7 +13,7 @@
*
* - Bugfix: Reference container: apply web semantics to improve readability for assistive technologies, thanks to @derivationfr issue report and code contribution.
*
* @since 2.6.0
* @since 2.5.11
*
* @contributor @derivationfr
* @link https://wordpress.org/support/topic/enhance-accesibility-by-using-instead-of/

View file

@ -11,7 +11,7 @@
*
* - Bugfix: Tooltips: Alternative tooltips: add missing accessibility, thanks to @derivationfr issue report.
*
* @since 2.6.0
* @since 2.5.11 (draft)
*
* @reporter @derivationfr
* @link https://wordpress.org/support/topic/enhance-accesibility-by-using-instead-of/

View file

@ -23,7 +23,7 @@
*
* - Bugfix: Reference container: apply web semantics to improve readability for assistive technologies, thanks to @derivationfr issue report and code contribution.
*
* @since 2.6.0
* @since 2.5.11
*
* @contributor @derivationfr
* @link https://wordpress.org/support/topic/enhance-accesibility-by-using-instead-of/

View file

@ -8,7 +8,7 @@
*
* - Bugfix: Reference container: apply web semantics to improve readability for assistive technologies, thanks to @derivationfr issue report and code contribution.
*
* @since 2.6.0
* @since 2.5.11
*
* @contributor @derivationfr
* @link https://wordpress.org/support/topic/enhance-accesibility-by-using-instead-of/

View file

@ -11,7 +11,7 @@
*
* - Bugfix: Reference container: apply web semantics to improve readability for assistive technologies, thanks to @derivationfr issue report and code contribution.
*
* @since 2.6.0
* @since 2.5.11
*
* @contributor @derivationfr
* @link https://wordpress.org/support/topic/enhance-accesibility-by-using-instead-of/

View file

@ -11,7 +11,7 @@
*
* - Bugfix: Reference container: apply web semantics to improve readability for assistive technologies, thanks to @derivationfr issue report and code contribution.
*
* @since 2.6.0
* @since 2.5.11
*
* @contributor @derivationfr
* @link https://wordpress.org/support/topic/enhance-accesibility-by-using-instead-of/

View file

@ -7,7 +7,7 @@
*
* - Bugfix: Reference container: apply web semantics to improve readability for assistive technologies, thanks to @derivationfr issue report and code contribution.
*
* @since 2.6.0
* @since 2.5.11
*
* @contributor @derivationfr
* @link https://wordpress.org/support/topic/enhance-accesibility-by-using-instead-of/

View file

@ -17,7 +17,7 @@
*
* - Bugfix: Reference container: apply web semantics to improve readability for assistive technologies, thanks to @derivationfr issue report and code contribution.
*
* @since 2.6.0
* @since 2.5.11
*
* @contributor @derivationfr
* @link https://wordpress.org/support/topic/enhance-accesibility-by-using-instead-of/