From 4d884e22a0208c04278e364bd35f865f6c81e27b Mon Sep 17 00:00:00 2001 From: pewgeuges <73141620+pewgeuges@users.noreply.github.com> Date: Mon, 8 Feb 2021 18:04:15 +0000 Subject: [PATCH] traceability update 2.5.4d3 git-svn-id: https://plugins.svn.wordpress.org/footnotes/trunk@2471020 b8457f37-d9ea-0310-8a92-e5e31aec5664 --- class/init.php | 97 ++++++++------ class/language.php | 82 ++++++++---- class/task.php | 148 +++++++++++----------- class/template.php | 32 +++-- footnotes.php | 21 ++- note-for-developers.txt | 93 ++++++++++---- readme.txt | 144 ++++++++++----------- templates/dashboard/editor-button.html | 6 +- templates/public/footnote.html | 4 + templates/public/reference-container.html | 22 ++++ templates/public/tooltip.html | 2 +- 11 files changed, 398 insertions(+), 253 deletions(-) diff --git a/class/init.php b/class/init.php index 25c9778..e5ee037 100644 --- a/class/init.php +++ b/class/init.php @@ -5,20 +5,20 @@ * @filesource * @author Stefan Herndler * @since 1.5.0 12.09.14 10:56 - * * - * @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 + * + * @lastmodified 2021-02-06T0304+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 * @since 2.1.4 optionally enqueue an extra style sheet 2020-12-04T2231+0100 - * - * Last modified: 2021-01-31T0755+0100 */ - /** * Entry point of the Plugin. Loads the Dashboard and executes the Task. * @@ -41,13 +41,16 @@ class MCI_Footnotes { * * @author Stefan Herndler * @since 1.5.0 + * + * + * - 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 * - * 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() */ public function run() { // register language @@ -76,29 +79,32 @@ class MCI_Footnotes { * @author Stefan Herndler * @since 1.5.0 * + * + * - Update: Fix for deprecated PHP function create_function(), thanks to @psykonevro @daliasued bug reports, thanks to @felipelavinz code contribution * - * 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 - * @link https://github.com/media-competence-institute/footnotes/commit/87173d2980c7ff90e12ffee94ca7153e11163793 - * - * @reporter @psykonevro - * @link https://wordpress.org/support/topic/bug-function-create_function-is-deprecated/ - * @link https://wordpress.org/support/topic/deprecated-function-create_function-14/ - * - * @reporter @daliasued - * @link https://wordpress.org/support/topic/deprecated-function-create_function-14/#post-13312853 + * @since 1.6.5 + * + * @contributor @felipelavinz + * @link https://github.com/media-competence-institute/footnotes/commit/87173d2980c7ff90e12ffee94ca7153e11163793 + * + * @reporter @psykonevro + * @link https://wordpress.org/support/topic/bug-function-create_function-is-deprecated/ + * @link https://wordpress.org/support/topic/deprecated-function-create_function-14/ + * + * @reporter @daliasued + * @link https://wordpress.org/support/topic/deprecated-function-create_function-14/#post-13312853 * * create_function() was deprecated in PHP 7.2.0 and removed in PHP 8.0.0. - * @link https://www.php.net/manual/en/function.create-function.php + * @link https://www.php.net/manual/en/function.create-function.php + * + * The fix is to move add_action() above into run(), + * and use the bare register_widget() here. + * @see run() * - * The fix is to move add_action() above into run(), - * and use the bare register_widget() here. - * And declare initializeWidgets() public, not private. + * Also, the visibility of initializeWidgets() is not private any longer. */ public function initializeWidgets() { - register_widget("MCI_Footnotes_Widget_ReferenceContainer"); + register_widget( "MCI_Footnotes_Widget_ReferenceContainer" ); } /** @@ -128,14 +134,21 @@ class MCI_Footnotes { * @author Stefan Herndler * @since 1.5.0 * - * @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 - * Updated for v2.0.0 adding jQuery UI + * + * - 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. - */ + * 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 @@ -143,12 +156,12 @@ class MCI_Footnotes { // These are only enqueued if the jQuery tooltips are enabled. // If alternative tooltips are enabled, these libraries are not needed. // Scroll animation doesn’t seem to need even jQuery Core or it gets it from elsewhere. - // @since 2.0.0 add jQueryUI from Cloudflare 2020-10-26T1907+0100 - // @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 - + // @since 2.0.0 add jQueryUI from Cloudflare 2020-10-26T1907+0100 + // @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 + if (!MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE))) { // enqueue the jQuery plugin registered by WordPress: @@ -166,9 +179,9 @@ class MCI_Footnotes { // added versioning 2020-11-18T2150+0100 // not use '-js' in the handle, is appended automatically wp_enqueue_script( - 'mci-footnotes-jquery-tools', - plugins_url('footnotes/js/jquery.tools.min.js'), - array(), + 'mci-footnotes-jquery-tools', + plugins_url('footnotes/js/jquery.tools.min.js'), + array(), '1.2.7.redacted.2' ); diff --git a/class/language.php b/class/language.php index 55567c7..8f74092 100644 --- a/class/language.php +++ b/class/language.php @@ -1,23 +1,20 @@ \r\n"; /** - * REF CONTAINER DISPLAY ON HOME PAGE + * Reference container display on home page * * - Bugfix: Reference container: fix start pages by making its display optional, thanks to @dragon013 bug report. - * + * * @since 2.1.1 - * + * * @reporter @dragon013 * @link https://wordpress.org/support/topic/possible-to-hide-it-from-start-page/ */ @@ -844,7 +845,7 @@ class MCI_Footnotes_Task { * @author Stefan Herndler * @since 1.5.0 * - * + * * @since 2.2.0 more options 2020-12-11T0506+0100 */ public function wp_footer() { @@ -985,25 +986,9 @@ class MCI_Footnotes_Task { * @param bool $p_bool_HideFootnotesText Hide footnotes found in the string. * @return string * - * - * @since 2.2.0 Add: Reference container: support for custom position shortcode, thanks to @hamshe feature request. - * @since 2.2.5 Bugfix: Reference container: delete position shortcode if unused because position may be widget or footer, thanks to @hamshe bug report. - * - * - Add: Reference container: support for custom position shortcode, thanks to @hamshe feature request. - * - * @since 2.2.0 - * @datetime 2020-12-13T2057+0100 - * - * @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 - * @datetime 2020-12-18T1434+0100 - * - * @reporter @hamshe - * @link https://wordpress.org/support/topic/reference-container-in-elementor/#post-13784126 + * @since 2.2.0 Adding: Reference container: support for custom position shortcode, thanks to @hamshe issue report. + * @since 2.2.5 Bugfix: Reference container: delete position shortcode if unused because position may be widget or footer, thanks to @hamshe bug report. */ public function exec($p_str_Content, $p_bool_OutputReferences = false, $p_bool_HideFootnotesText = false) { @@ -1012,6 +997,27 @@ class MCI_Footnotes_Task { // replace all footnotes in the content, settings are NOT converted to html characters $p_str_Content = $this->search($p_str_Content, false, $p_bool_HideFootnotesText); + /** + * Reference container customized positioning through shortcode + * + * - Adding: Reference container: support for custom position shortcode, thanks to @hamshe issue report. + * + * @since 2.2.0 + * @datetime 2020-12-13T2057+0100 + * + * @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 + * @datetime 2020-12-18T1434+0100 + * + * @reporter @hamshe + * @link https://wordpress.org/support/topic/reference-container-in-elementor/#post-13784126 + * + */ // append the reference container or insert at shortcode: $l_str_ReferenceContainerPositionShortcode = MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_REFERENCE_CONTAINER_POSITION_SHORTCODE); if ( empty( $l_str_ReferenceContainerPositionShortcode ) ) { @@ -1212,7 +1218,7 @@ class MCI_Footnotes_Task { } /** - * URL WRAP + * 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 @@ -1288,9 +1294,9 @@ class MCI_Footnotes_Task { $l_str_ExcerptText = $l_str_FootnoteText; /** - * TOOLTIP TRUNCATION + * Tooltip truncation * - * - Add: Tooltips: Read-on button: Label: configurable instead of localizable. + * - Adding: Tooltips: Read-on button: Label: configurable instead of localizable. * * @since 2.1.0 * @datetime 2020-11-08T2146+0100 @@ -1331,7 +1337,7 @@ class MCI_Footnotes_Task { } /** - * REFERRERS ELEMENT SUPERSCRIPT OR BASELINE + * Referrers element superscript or baseline * * Referrers: new setting for vertical align: superscript (default) or baseline (optional), thanks to @cwbayer bug report * @since 2.1.1 @@ -1483,7 +1489,7 @@ class MCI_Footnotes_Task { /** - * FOOTNOTE INDEX BACKLINK SYMBOL + * Footnote index backlink symbol * * @since 2.0.0 Update: remove backlink symbol along with column 2 of the reference container * @since 2.0.3 Bugfix: prepend an arrow on user request @@ -1526,7 +1532,7 @@ class MCI_Footnotes_Task { /** - * BACKLINK SEPARATOR + * Backlink separator * * Initially a comma was appended in this algorithm for enumerations. * The comma in enumerations is not generally preferred. @@ -1556,7 +1562,7 @@ class MCI_Footnotes_Task { } /** - * BACKLINK TERMINATOR + * Backlink terminator * * Initially a dot was appended in the table row template. * @since 2.0.6 a dot after footnote numbers is discarded as not localizable; @@ -1588,7 +1594,7 @@ class MCI_Footnotes_Task { /** - * LINE BREAKS + * Line breaks * * 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. @@ -1606,7 +1612,7 @@ class MCI_Footnotes_Task { /** - * REFERENCE CONTAINER TABLE ROW TEMPLATE LOAD + * Reference container table row template load * * Reference container: option to restore 3-column layout (combining identicals turned off) * @since 2.1.1 @@ -1640,7 +1646,7 @@ class MCI_Footnotes_Task { } /** - * SWITCH BACKLINK SYMBOL AND FOOTNOTE NUMBER + * Switch backlink symbol and footnote number * * - Bugfix: Reference container: option to append symbol (prepended by default), thanks to @spaceling code contribution. * @@ -1710,7 +1716,7 @@ class MCI_Footnotes_Task { /** - * SUPPORT FOR COMBINING IDENTICALS: COMPOSE ENUMERATED BACKLINKS + * Support for combining identicals: compose enumerated backlinks * * Combining identical footnotes: fix dead links and ensure referrer-backlink bijectivity * @reporter @happyches bug report diff --git a/class/template.php b/class/template.php index 433c02d..f4343c8 100644 --- a/class/template.php +++ b/class/template.php @@ -6,20 +6,26 @@ * @author Stefan Herndler * @since 1.5.0 14.09.14 10:58 * - * Last modified: 2021-01-07T2209+0100 + * + * @lastmodified 2021-02-06T0604+0100 * - * Edited: * @since 2.0.3 prettify reference container template - * @since 2.0.3 further minify template content - * @since 2.0.4 regex to delete multiple spaces + * @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.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) */ @@ -87,15 +93,10 @@ 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) * - * Edited: - * @since 2.0.3 further minify template content - * @since 2.0.4 regex to delete multiple spaces - * + * * @since 2.2.6 support for custom templates 2020-12-19T0606+0100 * @link https://wordpress.org/support/topic/template-override-filter/ * - * @since 2.2.6 delete a space before a closing pointy bracket - * * @since 2.4.0 look for custom template in the active theme first, thanks to @misfist * @link https://wordpress.org/support/topic/template-override-filter/#post-13846598 */ @@ -184,9 +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) */ public function process_template( $template ) { - $this->a_str_OriginalContent = str_replace( "\n", "", 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( "\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 1a18c3f..7572a64 100755 --- a/footnotes.php +++ b/footnotes.php @@ -4,14 +4,27 @@ 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.4d2 + Version: 2.5.4d3 Author URI: http://cheret.de/plugins/footnotes-2/ Text Domain: footnotes Domain Path: /languages */ -define( 'C_STR_FOOTNOTES_VERSION', '2.5.4d2' ); /* - Copyright 2020 Mark Cheret (email: mark@cheret.de) + * Copyright 2021 Mark Cheret (email: mark@cheret.de) + */ +/** + * Version number for style sheet cache busting. + * + * @since 2.1.4 + * @since 2.5.3 (Hungarian) + * @var str + * @lastmodified 2021-02-08T1900+0100 + * @committer @pewgeuges + */ +define( 'C_STR_FOOTNOTES_VERSION', '2.5.4d3' ); + +/* + LICENSE NOTICE This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 3, as @@ -28,6 +41,8 @@ define( 'C_STR_FOOTNOTES_VERSION', '2.5.4d2' ); */ /** + * Plugin’s main PHP file. + * * @filesource * @author Stefan Herndler * @since 0.0.1 diff --git a/note-for-developers.txt b/note-for-developers.txt index 76f14c2..be17edd 100644 --- a/note-for-developers.txt +++ b/note-for-developers.txt @@ -1,13 +1,13 @@ note-for-developers.txt -2020-12-19T0609+0100 -Last modified: 2021-02-04T0544+0100 +@datetime 2020-12-19T0609+0100 +@lastmodified 2021-02-08T0843+0100 Footnotes plugin for WordPress, v2.5.3 and later -A. Support for custom templates - ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ +A. Customized template parts + ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ Since v2.2.6, Footnotes supports custom templates. @@ -48,11 +48,37 @@ Note: The timing parameters in the inline jQuery script 'tooltip.html' are alrea configurable in the dashboard > Referrers and tooltips > Tooltip timing. -B. PHPDOC custom tags - ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ -PHPDOC tags + + +B. Customized documentation schema + ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ + +In community-based, open source projects, it is important to comprehensively +recognize, acknowledge and document how developers, testers and users helped +build the product. + +Note: Per the WordPress Coding Standards, the '@author' tag must not be used. +https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/ + +PHPDOC tag: Role: In the changelog: + +@contributor Provided code. “thanks to @USERNAME code contribution.” + +@reporter Reported a bug. “thanks to @USERNAME bug report.” +@reporter Reported an issue. “thanks to @USERNAME issue report.” +@reporter Requested a feature. “thanks to @USERNAME issue report.” (!) + +@user Provided feedback. “thanks to @USERNAME feedback.” +@user Allowed insight. “thanks to @USERNAME usage.” + +@accountable Edited the codebase. - + +@committer Uploaded a version. - + + +PHPDOC tags & custom tags 2021-01-24T2310+0100 -2021-02-04T0831+0100 +2021-02-08T0415+0100 ▲ Source for standard tags: https://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.pkg.html @@ -120,7 +146,9 @@ phpDocumentor Inline tags ▲ Tags required/recommended by WordPress coding standard: https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/ -(the only tag added from draft PSR-5 recommendations is @type) + +Note: The only tag added from draft PSR-5 recommendations is @type. +https://stackoverflow.com/questions/48202550/source-of-type-tag-in-docblock @access @author [DO NOT USE] @@ -146,9 +174,17 @@ https://developer.wordpress.org/coding-standards/inline-documentation-standards/ @var +▲ Tags added by PHPStan: +https://phpstan.org/blog/generics-in-php-using-phpdocs + +@extends +@implements +@template + + ▲ Tags supported in Atom TextMate found in VSCode 1.47.3: /usr/share/code/resources/app/extensions/php/syntaxes/php.tmLanguage.json -(Note the 4 tags appended to the list, hence initially missing) +Note the 4 tags appended to the list, hence initially missing. @api @abstract @@ -195,8 +231,13 @@ MISSING TAGS: - wrt WordPress: @type +- wrt PHPStan: +@extends +@implements +@template -▲ up-to-date list (standard/WP, custom) as per 2021-02-04T0522+0100: + +▲ up-to-date list (standard/WP/PHPStan, custom) as per 2021-02-08T0335+0100: @api @abstract @@ -206,11 +247,13 @@ MISSING TAGS: @copyright @deprecated @example +@extends @filesource @final @global @id @ignore +@implements @inherit[Dd]oc @internal @license @@ -227,6 +270,7 @@ MISSING TAGS: @static @staticvar @subpackage +@template @throws @toc @todo @@ -240,29 +284,34 @@ MISSING TAGS: @accountable @bib @biblio -@bibliography -@bugfix @callback @commit -@committed @committer -@contributed -@contribution @contributor @courtesy @date @datetime -@feature -@featurerequest @lastmodified @modified @publisher @reporter -@time +@user -▲ Complements for update (missing and added tags): +▲ Config (original, missing and added tags): /usr/share/code/resources/app/extensions/php/syntaxes/php.tmLanguage.json -|access|filesource|id|name|staticvar|toc|tutorial|type|usedby -|accountable|bib|biblio|bugfix|callback|commit|committed|committer|contributed|contribution|contributor|courtesy|date|datetime|feature|featurerequest|lastmodified|modified|publisher|reporter +original: +abstract|api|author|category|copyright|deprecated|example|final|global|ignore|inherit[Dd]oc|internal|license|link|method|package|param|property(-(read|write))?|return|see|since|source|static|subpackage|throws|todo|uses|var|version + +missing: +|access|filesource|id|name|staticvar|toc|tutorial|usedby + +WordPress: +|type + +PHPStan: +|extends|implements|template + +custom: +|accountable|bib|biblio|callback|commit|committer|contributor|courtesy|date|datetime|lastmodified|modified|publisher|reporter|user diff --git a/readme.txt b/readme.txt index 222f24d..6c58390 100755 --- a/readme.txt +++ b/readme.txt @@ -1,8 +1,8 @@ === footnotes === -Contributors: mark.cheret, lolzim, dartiss, docteurfitness, felipelavinz, martinneumannat, misfist, rumperuu, spaceling, vonpiernik, pewgeuges +Contributors: mark.cheret, lolzim, dartiss, docteurfitness, felipelavinz, martinneumannat, matkus2, 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 +Tested up to: 5.6.1 Requires PHP: 5.6 Stable Tag: 2.5.3 License: GPLv3 or later @@ -79,11 +79,11 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest** == Changelog == -= 2.5.4d2 = += 2.5.4d3 = - Update: Libraries: jQuery Tools: replace deprecated function jQuery.isFunction(), thanks to @a223123131 bug report. - Bugfix: Tooltips: fix display in Popup Maker popups. - Bugfix: Libraries: jQuery Tools: replace discouraged double equals sign with recommended triple equals sign. -- Bugfix: Editor button: Text editor button: try to fix uncaught reference error of “QTags is not defined”, thanks to @dpartridge bug report. +- 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 = @@ -103,7 +103,7 @@ 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 = -- Add: Customization: Enable template location stack, thanks to @misfist source file contribution. +- Adding: Customization: Enable template location stack, thanks to @misfist source file 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. @@ -112,7 +112,7 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest** - Bugfix: Shortcodes: Dashboard: warning about '>' escapement disruption in WordPress Block Editor. = 2.4.0 = -- Add: Shortcodes: syntax validation for balanced footnote start and end tag short codes. +- 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. @@ -122,15 +122,15 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest** - Bugfix: Reference container: add class 'footnote_plugin_symbol' to disambiguate repurposed class 'footnote_plugin_link'. = 2.3.0 = -- Add: 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. - Bugfix: Reference container: convert top padding to margin and make it a setting, thanks to @hamshe bug report. -- Bugfix: Referrers and tooltips: disable box shadow to more effectively remove unwanted underline as bottom border, thanks to @klusik bug report. -- Bugfix: Dashboard: swap Custom CSS migration Boolean, meaning 'show legacy' instead of 'migration complete', due to storage data structure constraints. -- Update: Dashboard: rename 'Priority level' tab as 'Scope and priority', to account for the new alternative depending on widget_text hook activation. -- Bugfix: Referrers and tooltips: correct scope of the line height fix to only affect the referrers. +- Bugfix: Referrers and backlinks: more effectively remove unwanted underline by disabling box shadow used instead of bottom border, thanks to @klusik feedback. +- Bugfix: Dashboard: Custom CSS: swap migration Boolean, meaning 'show legacy' instead of 'migration complete', due to storage data structure constraints. +- Update: Dashboard: Priority level: rename tab as 'Scope and priority', to account for the new alternative depending on widget_text hook activation. +- Bugfix: Referrers and tooltips: correct scope of the line height fix to only affect the referrers, not the tooltip content. - Bugfix: Referrers: extend clickable area to the full line height in sync with current pointer shape. - Bugfix: Referrers: extend scope of the underline inhibition to be more comprehensive and consistent. -- Bugfix: Reference container: edits to optional basic responsive page layout style sheet. +- 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. @@ -151,7 +151,7 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest** = 2.2.6 = - Bugfix: Reference container, tooltips: URL wrap: make the quotation mark optional wrt query parameters, thanks to @spiralofhope2 bug report. -- Add: Customization: support for custom templates in sibling folder, thanks to @misfist filter request. +- Adding: Customization: support for custom templates in sibling folder, thanks to @misfist filter request. = 2.2.5 = - Bugfix: Dashboard: Footnotes numbering: add missing support for Ibid. notation to suggestions, thanks to @meglio code contribution. @@ -177,9 +177,9 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest** - Bugfix: Dashboard: duplicate moved settings under their legacy tab to account for data structure. = 2.2.0 = -- Add: Reference container: support for custom position shortcode, thanks to @hamshe feature request. -- Add: Start/end short codes: more predefined options. -- Add: Numbering styles: lowercase Roman numerals support. +- Adding: Reference container: support for custom position shortcode, thanks to @hamshe issue report. +- Adding: Start/end short codes: more predefined options. +- Adding: Numbering styles: lowercase Roman numerals support. - Update: Priority levels: update the notice in the dashboard Priority tab. - Update: Dashboard: Tooltip settings: group into 3 thematic containers. - Update: Dashboard: Main settings: group into 3 specific containers. @@ -190,7 +190,7 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest** - Bugfix: Tooltips: add 'important' property to z-index to fix display overlay issue. - Bugfix: Localization: correct arguments for plugin textdomain load function. - Bugfix: Reference container, tooltips: URL wrap: specifically catch the quotation mark. -- Add: Footnotes mention in the footer: more options. +- Adding: Footnotes mention in the footer: more options. = 2.1.6 = - Bugfix: Priority levels: set the_content priority level to 98 to prevent plugin conflict, thanks to @marthalindeman bug report. @@ -268,7 +268,7 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest** - Bugfix: Formatting: disable overline showing in some themes on hovered backlinks. = 2.1.0 = -- Add: Tooltips: Read-on button: Label: configurable instead of localizable. +- Adding: Tooltips: Read-on button: Label: configurable instead of localizable. - Bugfix: Referrers: disable bottom border for theme compatibility. - Update: Accessibility: add 'speaker-mute' class to reference container. - Bugfix: Dashboard: Layout: added named selectors to limit applicability of styles. @@ -319,29 +319,29 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest** - Bugfix: Reference container: Self-adjusting width of ID column but hidden overflow. - Update: Reference container: clarify backlink semantics by prepended transitional up arrow, thanks to bug report. - Bugfix: Fragment IDs: Prepended post ID to footnote number. -- Bugfix: Feed plugin version in style sheet query string for cache busting. +- Bugfix: External style sheets cache busting: add plugin version number argument in enqueuing function call. - Bugfix: Print style: prevent a page break just after the reference container label. - Bugfix: Print style: Hide reference collapse button. - Update: Reference container: Headline: remove padding before reference container label. - Update: Scroll offset: raise percentage from 5% to a safer 12% inner window height, by lack of setting. = 2.0.2 = -- Bugfix: Restored expand/collapse button of reference container. -- Bugfix: Dashboard: Available CSS selectors, last item display. -- Bugfix: Footnote anchor and ID color to default on screen, to inherit in print. -- Bugfix: Disabled underline in footnote anchors, underline only on hover. +- Bugfix: Reference container: restore expand/collapse button in the template, thanks to @ragonesi bug report. +- Bugfix: Dashboard: Custom CSS: Available selectors: fix display of the last item. +- Bugfix: Referrers and backlinks: restore default link color on screen, set color to inherit in print. +- Bugfix: Referrers: disable text decoration underline by default, enable underline on hover. = 2.0.1 = -- Bugfix: enforce borderless table cells through !important property, thanks to @ragonesi bug report. +- Bugfix: Reference container: enforce borderless table cells, thanks to @ragonesi bug report. - Update: Translations: revised fr_FR. = 2.0.0 = - Major contributions taken from WordPress user pewgeuges, all details here https://github.com/media-competence-institute/footnotes/blob/master/README.md: - Update: **symbol for backlinks** removed - Update: hyperlink moved to the reference number -- Update: Tooltips: fix disabling bug by loading jQuery UI library, thanks to @rajinderverma @ericcorbett2 @honlapdavid @mmallett @twellve_million bug reports, thanks to @vonpiernik code contribution -- Update: Libraries: jQuery Tools: add condition whether deprecated function jQuery.browser() exists, thanks to @vonpiernik code contribution -- Update: Account for disruptive PHP change +- Update: Tooltips: fix disabling bug by loading jQuery UI library, thanks to @rajinderverma @ericcorbett2 @honlapdavid @mmallett @twellve_million bug reports, thanks to @vonpiernik code contribution. +- Update: Libraries: jQuery Tools: add condition whether deprecated function jQuery.browser() exists, thanks to @vonpiernik code contribution. +- 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. - Bugfix: footnote links script independent - Bugfix: Get the “Continue reading” link to work in the mouse-over box - Bugfix: Debug printed posts and pages @@ -355,8 +355,8 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest** - Beginning of translation to French = 1.6.5 = -- Bugfix: Improve widgets registration, thanks to @felipelavinz code contribution -- Update: Fix for deprecated PHP function create_function(), thanks to @psykonevro @daliasued bug reports, thanks to @felipelavinz code contribution +- Bugfix: Improve widgets registration, thanks to @felipelavinz code contribution. +- Update: Fix for deprecated PHP function create_function(), thanks to @psykonevro @daliasued bug reports, thanks to @felipelavinz code contribution. - Update: The CSS had been modified in order to show the tooltip numbers a little less higher than text - Bugfix: Fixed error on demo in backend @@ -377,10 +377,10 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest** = 1.6.0 = - **IMPORTANT**: Improved performance. You need to Activate the Plugin again. (Settings won't change!) -- Add: Setting to customize the mouse-over box shadow -- Add: Translation: United States -- Add: Translation: Austria -- Add: Translation: Spanish (many thanks to Pablo L.) +- Adding: Setting to customize the mouse-over box shadow +- Adding: Translation: United States +- Adding: Translation: Austria +- Adding: Translation: Spanish (many thanks to Pablo L.) - Update: Translations (de_DE and en_GB) - Update: Changed Plugins init file name to improve performance (Re-activation of the Plugin is required) - Update: ManFisher note styling @@ -388,15 +388,15 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest** - Bugfix: Avoid multiple IDs for footnotes when multiple reference containers are displayed = 1.5.7 = -- Add: Setting to define the positioning of the mouse-over box -- Add: Setting to define an offset for the mouse-over box (precise positioning) +- Adding: Setting to define the positioning of the mouse-over box +- Adding: Setting to define an offset for the mouse-over box (precise positioning) - Bugfix: Target element to move down to the reference container is the footnote index instead of the arrow (possibility to hide the arrow) - Bugfix: Rating calculation for the 'other plugins' list = 1.5.6 = - **IMPORTANT**: We have changed the html tag for the superscript. Please check and update your custom CSS. -- Add: .pot file to enable Translations for everybody -- Add: Settings to customize the mouse-over box (color, background color, border, max. width) +- Adding: .pot file to enable Translations for everybody +- Adding: Settings to customize the mouse-over box (color, background color, border, max. width) - Update: Translation file names - Update: Translation EN and DE - Update: Styling of the superscript (need to check custom CSS code for the superscript) @@ -406,17 +406,17 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest** - Bugfix: Enable multiple WP_Post objects for the_post hook = 1.5.5 = -- Add: Expert mode setting -- Add: Activation and Deactivation of WordPress hooks to look for Footnotes (expert mode) -- Add: WordPress hooks: 'the_title' and 'widget_title' (default: disabled) to search for Footnote short codes +- Adding: Expert mode setting +- Adding: Activation and Deactivation of WordPress hooks to look for Footnotes (expert mode) +- Adding: WordPress hooks: 'the_title' and 'widget_title' (default: disabled) to search for Footnote short codes - Bugfix: Default value for the WordPress hook the_post to be disabled (adds Footnotes twice to the Reference container) - Bugfix: Activation, Deactivation and Uninstall hook class name - Bugfix: Add submenu pages only once for each ManFisher WordPress Plugin - Bugfix: Display the Reference container in the Footer correctly = 1.5.4 = -- Add: Setting to enable an excerpt of the Footnotes mouse-over box text (default: disabled) -- Add: Setting to define the maximum length of the excerpt displayed in the mouse-over box (default: 150 characters) +- Adding: Setting to enable an excerpt of the Footnotes mouse-over box text (default: disabled) +- Adding: Setting to define the maximum length of the excerpt displayed in the mouse-over box (default: 150 characters) - Update: Detail information about other Plugins from ManFisher (rating, downloads, last updated, Author name/url) - Update: Receiving list of other Plugins from the Developer Team from an external server - Update: Translations (EN and DE) @@ -425,14 +425,14 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest** - Bugfix: Try to replace each appearance of Footnotes in the current Post object loaded from the WordPress database = 1.5.3 = -- Add: Developer's homepage to the 'other Plugins' list +- Adding: Developer's homepage to the 'other Plugins' list - Update: Smoothy scroll to an anchor using Javascript - Bugfix: Set the vertical align for each cell in the Reference container to TOP = 1.5.2 = -- Add: Setting to enable/disable the mouse-over box -- Add: Current WordPress Theme to the Diagnostics sub page -- Add: ManFisher note in the "other Plugins" sub page +- Adding: Setting to enable/disable the mouse-over box +- Adding: Current WordPress Theme to the Diagnostics sub page +- Adding: ManFisher note in the "other Plugins" sub page - Update: Removed unnecessary hidden inputs from the Settings page - Update: Merged public CSS files to reduce the output and improve the performance - Update: Translations (EN and DE) @@ -445,9 +445,9 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest** - Bugfix: Translation overhaul for German = 1.5.0 = -- Add: Grouped the Plugin Settings into a new Menu Page called "ManFisher Plugins" -- Add: Sub Page to list all other Plugins of the Contributors -- Add: Hyperlink to manfisher.eu in the "other plugins" page +- Adding: Grouped the Plugin Settings into a new Menu Page called "ManFisher Plugins" +- Adding: Sub Page to list all other Plugins of the Contributors +- Adding: Hyperlink to manfisher.eu in the "other plugins" page - Update: Refactored the whole source code - Update: Moved the Diagnostics Sections to into a new Sub Page called "Diagnostics" - Bugfix: Line up Footnotes with multiple lines in the Reference container @@ -458,9 +458,9 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest** - Feature: WPML Config XML file for easy multi language string translation (WPML String Translation Support File) - Update: Changed e-Mail support address to the WordPress support forum - Update: Language EN and DE -- Add: Tab for Plugin Diagnostics -- Add: Donate link to the installed Plugin overview page -- Add: Donate button to the "HowTo" tab +- Adding: Tab for Plugin Diagnostics +- Adding: Donate link to the installed Plugin overview page +- Adding: Donate button to the "HowTo" tab = 1.3.4 = - Bugfix: Settings access permission vor sub-sites @@ -474,21 +474,21 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest** - Bugfix: More security recognizing Footnotes on public pages (e.g. ignoring empty Footnote short codes) - Bugfix: Clear old Footnotes before lookup new public page (only if no reference container displayed before) - Update: language EN and DE -- Add: Setting to customize the hyperlink symbol in der reference container for each footnote reference -- Add: Setting to enter a user defined hyperlink symbol +- Adding: Setting to customize the hyperlink symbol in der reference container for each footnote reference +- Adding: Setting to enter a user defined hyperlink symbol - = 1.3.1 = - Bugfix: Allow settings to be empty - Bugfix: Removed space between the hyperlink and superscript in the footnotes index -- Add: Setting to customize the text before and after the footnotes index in superscript +- Adding: Setting to customize the text before and after the footnotes index in superscript = 1.3.0 = - Bugfix: Changed tooltip class to be unique - Bugfix: Changed superscript styling to not manipulate the line height - Bugfix: Changed styling of the footnotes text in the reference container to avoid line breaks - Update: Reformatted code -- Add: new settings tab for custom CSS settings +- Adding: new settings tab for custom CSS settings = 1.2.5 = - Bugfix: New styling of the mouse-over box to stay in screen (thanks to Jori, France and Manuel345, undisclosed location) @@ -509,7 +509,7 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest** = 1.2.2 = - Bugfix: WYSIWYG editor and plain text editor buttons insert footnote short code correctly (also if defined like html tag) - Update: The admin can decide which "I love footnotes" text (or not text) will be displayed in the footer -- Add: Buttons next to the reference label to expand/collapse the reference container if set to "collapse by default" +- Adding: Buttons next to the reference label to expand/collapse the reference container if set to "collapse by default" - Bugfix: Replace footnote short code - Update: Combined buttons for the "collapse/expand" reference container @@ -529,19 +529,19 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest** = 1.1.1 = - Feature: Short code to not display the 'love me' slug on specific pages ( short code = [[no footnotes: love]] ) - Update: Setting where the reference container appears on public pages can also be set to the widget area -- Add: Link to the wordpress.org support page in the plugin main page +- Adding: Link to the wordpress.org support page in the plugin main page - Update: Changed plugin URL from GitHub to WordPress - Bugfix: Uninstall function to really remove all settings done in the settings page - Bugfix: Load default settings after plugin is installed - Update: Translation for support link and new setting option -- Add: Label to display the user the short code to not display the 'love me' slug +- Adding: Label to display the user the short code to not display the 'love me' slug = 1.1.0 = - Update: Global styling for the public plugin name - Update: Easier usage of the public plugin name in translations - Update: New Layout for the settings page to group similar settings to get a better overview - Update: Display settings submit button only if there is at least 1 editable setting in the current tab -- Add: Setting where the reference container appears on public pages (needs some corrections!) +- Adding: Setting where the reference container appears on public pages (needs some corrections!) - Bugfix: Displays only one reference container in front of the footer on category pages = 1.0.6 = @@ -556,41 +556,41 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest** - Feature: the footnotes WordPress Plugin now has its very own CI - Update: Styling - Update: Settings to support the styling -- Add: Inspirational Screenshots for further development -- Add: Settings screenshot +- Adding: Inspirational Screenshots for further development +- Adding: Settings screenshot - Update: i18n fine-tuning = 1.0.4 = - Update: replacing function when footnote is a link (bugfix) - Footnote hover box remains until cursor leaves footnote or hover box - Links in the footnote hover box are click able -- Add: setting to allow footnotes on Summarized Posts -- Add: setting to tell the world you're using footnotes plugin -- Add: setting for the counter style of the footnote index +- Adding: setting to allow footnotes on Summarized Posts +- Adding: setting to tell the world you're using footnotes plugin +- Adding: setting for the counter style of the footnote index - Arabic Numbers (1, 2, 3, 4, 5, ...) - Arabic Numbers leading 0 (01, 02, 03, 04, 05, ...) - Latin Characters lower-case (a, b, c, d, e, ...) - Latin Characters upper-case (A, B, C, D, E, ...) - Roman Numerals (I, II, III, IV, V, ...) -- Add: a link to the WordPress plugin in the footer if the WP-admin accepts it +- Adding: a link to the WordPress plugin in the footer if the WP-admin accepts it - Update: translations for the new settings - Switch back the version numbering scheme to have 3 digits = 1.0.3 = -- Add: setting to use personal starting and ending tag for the footnotes +- Adding: setting to use personal starting and ending tag for the footnotes - Update: translations for the new setting - Update: reading settings and fallback to default values (bugfix) = 1.0.2 = -- Add: setting to collapse the reference container by default -- Add: link behind the footnotes to automatically jump to the reference container -- Add: function to easy output input fields for the settings page +- Adding: setting to collapse the reference container by default +- Adding: link behind the footnotes to automatically jump to the reference container +- Adding: function to easy output input fields for the settings page - Update: translation for the new setting = 1.0.1 = - Separated functions in different files for a better overview -- Add: a version control to each file / class / function / variable -- Add: layout for the settings menu, settings split in tabs and not a list-view +- Adding: a version control to each file / class / function / variable +- Adding: layout for the settings menu, settings split in tabs and not a list-view - Update: Replacing footnotes in widget texts will show the reference container at the end of the page (bugfix) - Update: translations for EN and DE - Changed version number from 3 digits to 2 digits diff --git a/templates/dashboard/editor-button.html b/templates/dashboard/editor-button.html index 8b05097..33799c5 100644 --- a/templates/dashboard/editor-button.html +++ b/templates/dashboard/editor-button.html @@ -15,16 +15,16 @@ textArea.val(textArea.val().substring(0, start) + replacement + textArea.val().substring(end, len)); } /** - * adds a button to the Classic Editor text mode + * Adds a button to the Classic Editor text mode. * * - * @since 2.5.4d1 try to fix uncaught reference error of “QTags is not defined” + * @since 2.5.4 Bugfix: Editor button: Classic Editor text mode: try to fix uncaught reference error of “QTags is not defined”, thanks to @dpartridge bug report. * * @reporter @dpartridge * @link https://wordpress.org/support/topic/qtags-addbutton/ * * - * @link 2.5.4 correct label to singular + * @since 2.5.4 Bugfix: Editor button: Classic Editor text mode: correct label to singular. */ if ( QTags ) { QTags.addButton( 'MCI_Footnotes_QuickTag_button', 'footnote', MCI_Footnotes_text_editor_callback ); diff --git a/templates/public/footnote.html b/templates/public/footnote.html index e507ec0..86bc8db 100755 --- a/templates/public/footnote.html +++ b/templates/public/footnote.html @@ -1,3 +1,7 @@ + <[[link-span]] diff --git a/templates/public/reference-container.html b/templates/public/reference-container.html index 367e203..7f4b7e9 100644 --- a/templates/public/reference-container.html +++ b/templates/public/reference-container.html @@ -1,3 +1,25 @@ +
diff --git a/templates/public/tooltip.html b/templates/public/tooltip.html index 3a04dc5..c6ee1c3 100644 --- a/templates/public/tooltip.html +++ b/templates/public/tooltip.html @@ -10,5 +10,5 @@ position: '[[position]]', relative: true, offset: [[[offset-y]], [[offset-x]]], - }); + });