traceability update 2.5.4d3

git-svn-id: https://plugins.svn.wordpress.org/footnotes/trunk@2471020 b8457f37-d9ea-0310-8a92-e5e31aec5664
This commit is contained in:
pewgeuges 2021-02-08 18:04:15 +00:00
parent cee486702c
commit 4d884e22a0
11 changed files with 398 additions and 253 deletions

View file

@ -5,20 +5,20 @@
* @filesource * @filesource
* @author Stefan Herndler * @author Stefan Herndler
* @since 1.5.0 12.09.14 10:56 * @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 * @lastmodified 2021-02-06T0304+0100
* @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 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.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.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 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.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. * Entry point of the Plugin. Loads the Dashboard and executes the Task.
* *
@ -41,13 +41,16 @@ class MCI_Footnotes {
* *
* @author Stefan Herndler * @author Stefan Herndler
* @since 1.5.0 * @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 * @see initializeWidgets()
* @since 1.6.5
*
* @contributor @felipelavinz
* @link https://github.com/media-competence-institute/footnotes/commit/87173d2980c7ff90e12ffee94ca7153e11163793
*/ */
public function run() { public function run() {
// register language // register language
@ -76,29 +79,32 @@ class MCI_Footnotes {
* @author Stefan Herndler * @author Stefan Herndler
* @since 1.5.0 * @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
* @since 1.6.5 *
* * @contributor @felipelavinz
* @contributor @felipelavinz * @link https://github.com/media-competence-institute/footnotes/commit/87173d2980c7ff90e12ffee94ca7153e11163793
* @link https://github.com/media-competence-institute/footnotes/commit/87173d2980c7ff90e12ffee94ca7153e11163793 *
* * @reporter @psykonevro
* @reporter @psykonevro * @link https://wordpress.org/support/topic/bug-function-create_function-is-deprecated/
* @link https://wordpress.org/support/topic/bug-function-create_function-is-deprecated/ * @link https://wordpress.org/support/topic/deprecated-function-create_function-14/
* @link https://wordpress.org/support/topic/deprecated-function-create_function-14/ *
* * @reporter @daliasued
* @reporter @daliasued * @link https://wordpress.org/support/topic/deprecated-function-create_function-14/#post-13312853
* @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. * 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(), * Also, the visibility of initializeWidgets() is not private any longer.
* and use the bare register_widget() here.
* And declare initializeWidgets() public, not private.
*/ */
public function initializeWidgets() { 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 * @author Stefan Herndler
* @since 1.5.0 * @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: * Updated for v2.0.4 by adding jQuery UI from WordPress following @check2020de:
* <https://wordpress.org/support/topic/gdpr-issue-with-jquery/> * <https://wordpress.org/support/topic/gdpr-issue-with-jquery/>
* See <https://wordpress.stackexchange.com/questions/273986/correct-way-to-enqueue-jquery-ui> * See <https://wordpress.stackexchange.com/questions/273986/correct-way-to-enqueue-jquery-ui>
* *
* 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() { public function registerPublic() {
//### SCRIPTS //### SCRIPTS
@ -143,12 +156,12 @@ class MCI_Footnotes {
// These are only enqueued if the jQuery tooltips are enabled. // These are only enqueued if the jQuery tooltips are enabled.
// If alternative tooltips are enabled, these libraries are not needed. // If alternative tooltips are enabled, these libraries are not needed.
// Scroll animation doesnt seem to need even jQuery Core or it gets it from elsewhere. // Scroll animation doesnt 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.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.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.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 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.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))) { 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: // enqueue the jQuery plugin registered by WordPress:
@ -166,9 +179,9 @@ class MCI_Footnotes {
// added versioning 2020-11-18T2150+0100 // added versioning 2020-11-18T2150+0100
// not use '-js' in the handle, is appended automatically // not use '-js' in the handle, is appended automatically
wp_enqueue_script( wp_enqueue_script(
'mci-footnotes-jquery-tools', 'mci-footnotes-jquery-tools',
plugins_url('footnotes/js/jquery.tools.min.js'), plugins_url('footnotes/js/jquery.tools.min.js'),
array(), array(),
'1.2.7.redacted.2' '1.2.7.redacted.2'
); );

View file

@ -1,23 +1,20 @@
<?php <?php
/** /**
* * Loads text domain of current or default language for localization.
*
* @filesource * @filesource
* @author Stefan Herndler * @author Stefan Herndler
* @since 1.5.0 14.09.14 17:47 * @since 1.5.0 14.09.14 17:47
* *
* Edited: *
* * @lastmodified 2021-02-06T1352+0100
* @since 2.0.0 PHP-related bug fix thanks to @matkus2 code contribution 2020-10-26T1609+0100 *
* @link https://wordpress.org/support/topic/error-missing-parameter-if-using-php-7-1-or-later/ * @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.
* @link https://www.php.net/manual/en/migration71.incompatible.php * @since 2.1.6 Bugfix: Localization: conform to WordPress plugin language file name scheme, thanks to @nikelaos bug report.
*
* @since 2.1.6 conform to WordPress plugin language file name scheme, thanks to @nikelaos bug report 2020-12-08T1931+0100
* @link https://wordpress.org/support/topic/more-feature-ideas/
*
* Last modified: 2021-01-10T1755+0100
*/ */
/** /**
* Loads text domain of current or default language for localization.
* *
* @author Stefan Herndler * @author Stefan Herndler
* @since 1.5.0 * @since 1.5.0
@ -35,24 +32,47 @@ class MCI_Footnotes_Language {
} }
/** /**
* Loads the text domain for current WordPress language if exists. Otherwise fallback "en_GB" will be loaded. * Loads the text domain for current WordPress language if exists.
* Otherwise fallback "en_GB" will be loaded.
* *
* @author Stefan Herndler * @author Stefan Herndler
* @since 1.5.0 * @since 1.5.0
* *
* @since 2.0.0 PHP 7.1 related bug fix thanks to @matkus2 code contribution *
* - Bugfix: 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.0.0
* @datetime 2020-10-26T1609+0100
*
* @contributor @matkus2
* @link https://wordpress.org/support/topic/error-missing-parameter-if-using-php-7-1-or-later/ * @link https://wordpress.org/support/topic/error-missing-parameter-if-using-php-7-1-or-later/
*
* Add 3rd (empty) argument in apply_filters() to prevent PHP from throwing an error:
* “Fatal error: Uncaught ArgumentCountError: Too few arguments to function apply_filters()
*
* Yet get_locale() is defined w/o parameters in wp-includes/l10n.php:30, and
* apply_filters() is defined as apply_filters( $tag, $value ) in wp-includes/plugin.php:181.
* @link https://developer.wordpress.org/reference/functions/apply_filters/
*
* But apply_filters() is defined with a 3rd parameter (and w/o the first one) in
* wp-includes/class-wp-hook.php:264, as public function apply_filters( $value, $args ).
*
* Taking it all together, probably the full function definition would be:
* public function apply_filters( $tag, $value, $args ).
* In the case of get_locale(), $args is empty.
*
* The bug was lurking in WP. PHP 7.1 promoted the warning to an error.
* @link https://www.php.net/manual/en/migration71.incompatible.php * @link https://www.php.net/manual/en/migration71.incompatible.php
* @link https://www.php.net/manual/en/migration71.incompatible.php#migration71.incompatible.too-few-arguments-exception
*/ */
public static function loadTextDomain() { public static function loadTextDomain() {
// language file with localization exists
if (self::load(apply_filters('plugin_locale', get_locale(), ''))) { // if language file with localization exists:
// added 3rd (empty) parameter to prevent "Fatal error: Uncaught ArgumentCountError: Too few arguments […]" if ( self::load( apply_filters( 'plugin_locale', get_locale(), '' ) ) ) {
// 2020-10-26T1609+0100
return; return;
} }
// fall back to British English: // else fall back to British English:
self::load("en_GB"); self::load( "en_GB" );
} }
/** /**
@ -62,21 +82,27 @@ class MCI_Footnotes_Language {
* @since 1.5.1 * @since 1.5.1
* @param string $p_str_LanguageCode Language Code to load a specific text domain. * @param string $p_str_LanguageCode Language Code to load a specific text domain.
* @return bool * @return bool
* *
* Edited: *
* @since 2.1.6 conform to WordPress plugin language file name scheme, thanks to @nikelaos bug report * - 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
* @link https://wordpress.org/support/topic/more-feature-ideas/ * @link https://wordpress.org/support/topic/more-feature-ideas/
* That is done by using load_plugin_textdomain() *
* 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.
* @see wp-includes/l10n.php:857 * @see wp-includes/l10n.php:857
* “The .mo file should be named based on the text domain with a dash, and then the locale exactly.
*/ */
private static function load($p_str_LanguageCode) { private static function load($p_str_LanguageCode) {
return load_plugin_textdomain( return load_plugin_textdomain(
MCI_Footnotes_Config::C_STR_PLUGIN_NAME, MCI_Footnotes_Config::C_STR_PLUGIN_NAME,
// This argument only fills the gap left by a deprecated argument (since WP2.7): // This argument only fills the gap left by a deprecated argument (since WP2.7):
false, false,
// The plugin basedir is provided; trailing slash would be clipped: // The plugin basedir is provided; trailing slash would be clipped:
MCI_Footnotes_Config::C_STR_PLUGIN_NAME . '/languages' MCI_Footnotes_Config::C_STR_PLUGIN_NAME . '/languages'
); );
} }
} }

View file

@ -16,7 +16,7 @@
* @since 2.0.6 Bugfix: Priority level back to PHP_INT_MAX (ref container positioning not this plugins responsibility). * @since 2.0.6 Bugfix: Priority level back to PHP_INT_MAX (ref container positioning not this plugins responsibility).
* @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.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.0.9 Bugfix: Remove the_post hook 2020-11-08T1839+0100.
* @since 2.1.0 Add: Tooltips: Read-on button: Label: configurable instead of localizable. * @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: 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: 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: Referrers: new setting for vertical align: superscript (default) or baseline (optional), thanks to @cwbayer bug report.
@ -49,60 +49,60 @@
* @since 2.1.4 Bugfix: Reference container: Backlink symbol: support for appending when combining identicals is on. * @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.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 * @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/ * @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 * @since 2.1.6 option to disable URL line wrapping
* @datetime 2020-12-09T1606+0100 * @datetime 2020-12-09T1606+0100
* *
* @since 2.1.6 add catch-all exclusion to fix URL line wrapping, thanks to @a223123131 * @since 2.1.6 add catch-all exclusion to fix URL line wrapping, thanks to @a223123131 bug report
* @datetime 2020-12-09T1921+0100 * @datetime 2020-12-09T1921+0100
* @link https://wordpress.org/support/topic/broken-layout-starting-version-2-1-4/ * @link https://wordpress.org/support/topic/broken-layout-starting-version-2-1-4/
* *
* @since 2.2.0 support for custom position shortcode for reference container, thanks to @hamshe * @since 2.2.0 Adding: Reference container: support for custom position shortcode, thanks to @hamshe issue report.
* @datetime 2020-12-13T2058+0100 * @datetime 2020-12-13T2058+0100
* @link https://wordpress.org/support/topic/reference-container-in-elementor/ * @link https://wordpress.org/support/topic/reference-container-in-elementor/
* *
* @since 2.2.3 custom CSS from new setting in header after legacy * @since 2.2.3 custom CSS from new setting in header after legacy
* @datetime 2020-12-15T1128+0100 * @datetime 2020-12-15T1128+0100
* *
* @since 2.2.5 connect alternative tooltips to position and timing settings * @since 2.2.5 connect alternative tooltips to position and timing settings
* @datetime 2020-12-18T1113+0100 * @datetime 2020-12-18T1113+0100
* *
* @since 2.2.5 delete unused position shortcode when ref container in widget or footer, thanks to @hamshe * @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 * @datetime 2020-12-18T1437+0100
* @link https://wordpress.org/support/topic/reference-container-in-elementor/#post-13784126 * @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 * @since 2.2.5 options for label element and label bottom border, thanks to @markhillyer support request
* @datetime 2020-12-18T1447+0100 * @datetime 2020-12-18T1447+0100
* @link https://wordpress.org/support/topic/how-do-i-eliminate-the-horizontal-line-beneath-the-reference-container-heading/ * @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 * @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 * @datetime 2020-12-23T0409+0100
* @link https://wordpress.org/support/topic/two-links-now-breaks-footnotes-with-blogtext/ * @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 * @since 2.2.7 revert that change in the exclusion regex, thanks to @rjl20, @spaceling, @friedrichnorth, @bernardzit bug reports
* @datetime 2020-12-23T1046+0100 * @datetime 2020-12-23T1046+0100
* @link https://wordpress.org/support/topic/two-links-now-breaks-footnotes-with-blogtext/ * @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/ * @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 * @since 2.2.8 URL wrap: correct lookbehind by duplicating it with and without quotation mark class
* @datetime 2020-12-23T1108+0100 * @datetime 2020-12-23T1108+0100
* *
* @since 2.2.9 URL wrap: account for RFC 2396 allowed characters in parameter names * @since 2.2.9 URL wrap: account for RFC 2396 allowed characters in parameter names
* @datetime 2020-12-24T1956+0100 * @datetime 2020-12-24T1956+0100
* @link https://stackoverflow.com/questions/814700/http-url-allowed-characters-in-parameter-names * @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 * @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 * @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 * @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 * @datetime 2020-12-25T1251+0100
* *
* @since 2.2.10 URL wrap: support also file transfer protocol URLs * @since 2.2.10 URL wrap: support also file transfer protocol URLs
* @datetime 2020-12-25T2220+0100 * @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 * @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 * @datetime 2020-12-25T2304+0100
* @link https://wordpress.org/support/topic/borders-25/ * @link https://wordpress.org/support/topic/borders-25/
* *
@ -110,7 +110,7 @@
* @link https://wordpress.org/support/topic/reference-container-in-elementor/#post-13786635 * @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 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' * @since 2.3.0 swap Custom CSS migration Boolean from 'migration complete' to 'show legacy'
* @datetime 2020-12-27T1243+0100 * @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 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 initialize scroll offset variable to 34 as a more robust default, thanks to @lukashuggenberg 2021-01-04T0504+0100
@ -174,7 +174,7 @@ class MCI_Footnotes_Task {
public static $a_str_Prefix = ""; public static $a_str_Prefix = "";
/** /**
* INFINITE SCROLL / AUTOLOAD OR ARCHIVE VIEW * Infinite scroll / autoload or archive view
* *
* - Bugfix: Infinite scroll: debug autoload by adding post ID, thanks to @docteurfitness code contribution * - Bugfix: Infinite scroll: debug autoload by adding post ID, thanks to @docteurfitness code contribution
* *
@ -193,7 +193,7 @@ class MCI_Footnotes_Task {
public static $a_int_PostId = 0; public static $a_int_PostId = 0;
/** /**
* MULTIPLE REFERENCE CONTAINERS IN CONTENT AND WIDGETS * 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 containers, widget_text hook: support for multiple containers in a page, thanks to @justbecuz bug report
* *
@ -214,7 +214,7 @@ class MCI_Footnotes_Task {
public static $a_int_ReferenceContainerId = 1; public static $a_int_ReferenceContainerId = 1;
/** /**
* TEMPLATE PROCESS OPTIMIZATION * Template process optimization
* *
* - Bugfix: Performance: optimize template load and process according to settings, thanks to @misfist code contribution * - Bugfix: Performance: optimize template load and process according to settings, thanks to @misfist code contribution
* *
@ -236,7 +236,7 @@ class MCI_Footnotes_Task {
public static $a_bool_AlternativeTooltipsEnabled = false; public static $a_bool_AlternativeTooltipsEnabled = false;
/** /**
* HARD LINKS FOR AMP * Hard links for AMP
* *
* - Bugfix: Optional hard links in referrers and backlinks for AMP compatibility, thanks to @psykonevro bug report, thanks to @martinneumannat code contribution. * - Bugfix: Optional hard links in referrers and backlinks for AMP compatibility, thanks to @psykonevro bug report, thanks to @martinneumannat code contribution.
* *
@ -265,7 +265,7 @@ class MCI_Footnotes_Task {
public static $a_str_PostContainerIdCompound = ''; public static $a_str_PostContainerIdCompound = '';
/** /**
* SCROLL OFFSET * Scroll offset
* *
* @since 2.4.0 * @since 2.4.0
* @datetime 2021-01-03T2055+0100 * @datetime 2021-01-03T2055+0100
@ -278,13 +278,14 @@ class MCI_Footnotes_Task {
public static $a_int_ScrollOffset = 34; public static $a_int_ScrollOffset = 34;
/** /**
* OPTIONAL LINK ELEMENT FOR FOOTNOTE REFERRERS AND BACKLINKS * Optional link element for footnote referrers and backlinks
* *
* @since 2.3.0 * @since 2.3.0
* @datetime 2020-12-30T2313+0100 * @datetime 2020-12-30T2313+0100
* @var str * @var str
* *
* STYLING: * # Styling
*
* Link color is preferred for referrers and backlinks. * Link color is preferred for referrers and backlinks.
* Setting a global link color is a common feature in WordPress themes. * 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) * CSS does not support identifiers for link colors (color: link | hover | active | visited)
@ -293,7 +294,8 @@ class MCI_Footnotes_Task {
* But styling these elements with the link color is not universally preferred. * But styling these elements with the link color is not universally preferred.
* If not, the very presence of the link elements may need to be avoided. * If not, the very presence of the link elements may need to be avoided.
* *
* FUNCTIONALITY: * # Functionality
*
* Although widely used for that purpose, hyperlinks are disliked for footnote linking. * 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, * 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. * as logging compromises the usability of the 'return to previous' button in browsers.
@ -321,7 +323,7 @@ class MCI_Footnotes_Task {
public static $a_str_LinkCloseTag = ''; public static $a_str_LinkCloseTag = '';
/** /**
* DEDICATED TOOLTIP TEXT * Dedicated tooltip text
* *
* - Bugfix: Tooltips: ability to display dedicated content, thanks to @jbj2199 bug report * - Bugfix: Tooltips: ability to display dedicated content, thanks to @jbj2199 bug report
* *
@ -341,14 +343,13 @@ class MCI_Footnotes_Task {
public static $a_int_TooltipShortcodeLength = 12; public static $a_int_TooltipShortcodeLength = 12;
/** /**
* SYNTAX VALIDATION * Footnote delimiter syntax validation
* *
* @since 2.4.0 * @since 2.4.0
* @var bool * @var bool
* *
* This part of the algorithm first checks for balanced footnote opening and closing tag * The algorithm first checks for balanced footnote opening and closing tag short codes.
* short codes. The first encountered error triggers the display of a warning below the * The first encountered error triggers the display of a warning below the post title.
* post title and cancellation of further parsing.
* *
* Unbalanced short codes have caused significant trouble because they are hard to detect. * 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 * Any compiler or other tool reports syntax errors in the first place. Footnotes exception
@ -369,7 +370,7 @@ class MCI_Footnotes_Task {
* @author Stefan Herndler * @author Stefan Herndler
* @since 1.5.0 * @since 1.5.0
* *
* @since 1.5.4 Add: Hooks: support 'the_post' in response to user request for custom post types. * @since 1.5.4 Adding: Hooks: support 'the_post' in response to user request for custom post types.
* @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 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.5 Update: Hooks: Default-enable all hooks to prevent footnotes from seeming broken in some parts.
* @since 2.0.6 Bugfix: Priority level back to PHP_INT_MAX (ref container positioning not this plugins responsibility). * @since 2.0.6 Bugfix: Priority level back to PHP_INT_MAX (ref container positioning not this plugins responsibility).
@ -385,7 +386,7 @@ class MCI_Footnotes_Task {
public function registerHooks() { public function registerHooks() {
/** /**
* PRIORITY LEVELS * Priority levels
* *
* - Bugfix: Reference container: fix relative position through priority level, thanks to @june01 @imeson @spaceling bug reports, thanks to @spaceling code contribution. * - Bugfix: Reference container: fix relative position through priority level, thanks to @june01 @imeson @spaceling bug reports, thanks to @spaceling code contribution.
* *
@ -463,10 +464,10 @@ class MCI_Footnotes_Task {
add_filter('the_content', array($this, "the_content"), $l_int_TheContentPriority); add_filter('the_content', array($this, "the_content"), $l_int_TheContentPriority);
/** /**
* HOOK FOR CATEGORY PAGES * 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 * @since 2.5.0
* @datetime 2021-01-05T1402+0100 * @datetime 2021-01-05T1402+0100
* *
@ -483,10 +484,10 @@ class MCI_Footnotes_Task {
add_filter('term_description', array($this, "the_content"), $l_int_TheContentPriority); add_filter('term_description', array($this, "the_content"), $l_int_TheContentPriority);
/** /**
* HOOK FOR POPUP MAKER POPUPS * 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 * @since 2.5.1
* @datetime 2021-01-18T2038+0100 * @datetime 2021-01-18T2038+0100
* *
@ -508,9 +509,9 @@ class MCI_Footnotes_Task {
/** /**
* THE the_post HOOK * The the_post hook
* *
* - Add: Hooks: support 'the_post' in response to user request for custom post types. * - Adding: Hooks: support 'the_post' in response to user request for custom post types.
* *
* @since 1.5.4 * @since 1.5.4
* @accountable @aricura * @accountable @aricura
@ -600,12 +601,12 @@ class MCI_Footnotes_Task {
echo "\r\n<style type=\"text/css\" media=\"all\">\r\n"; echo "\r\n<style type=\"text/css\" media=\"all\">\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. * - Bugfix: Reference container: fix start pages by making its display optional, thanks to @dragon013 bug report.
* *
* @since 2.1.1 * @since 2.1.1
* *
* @reporter @dragon013 * @reporter @dragon013
* @link https://wordpress.org/support/topic/possible-to-hide-it-from-start-page/ * @link https://wordpress.org/support/topic/possible-to-hide-it-from-start-page/
*/ */
@ -844,7 +845,7 @@ class MCI_Footnotes_Task {
* @author Stefan Herndler * @author Stefan Herndler
* @since 1.5.0 * @since 1.5.0
* *
* *
* @since 2.2.0 more options 2020-12-11T0506+0100 * @since 2.2.0 more options 2020-12-11T0506+0100
*/ */
public function wp_footer() { public function wp_footer() {
@ -985,25 +986,9 @@ class MCI_Footnotes_Task {
* @param bool $p_bool_HideFootnotesText Hide footnotes found in the string. * @param bool $p_bool_HideFootnotesText Hide footnotes found in the string.
* @return 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.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.
* @since 2.2.5
* @datetime 2020-12-18T1434+0100
*
* @reporter @hamshe
* @link https://wordpress.org/support/topic/reference-container-in-elementor/#post-13784126
*/ */
public function exec($p_str_Content, $p_bool_OutputReferences = false, $p_bool_HideFootnotesText = false) { 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 // 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); $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: // 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); $l_str_ReferenceContainerPositionShortcode = MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_REFERENCE_CONTAINER_POSITION_SHORTCODE);
if ( empty( $l_str_ReferenceContainerPositionShortcode ) ) { 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, * 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 * 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; $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 * @since 2.1.0
* @datetime 2020-11-08T2146+0100 * @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 * Referrers: new setting for vertical align: superscript (default) or baseline (optional), thanks to @cwbayer bug report
* @since 2.1.1 * @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.0 Update: remove backlink symbol along with column 2 of the reference container
* @since 2.0.3 Bugfix: prepend an arrow on user request * @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. * Initially a comma was appended in this algorithm for enumerations.
* The comma in enumerations is not generally preferred. * 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. * Initially a dot was appended in the table row template.
* @since 2.0.6 a dot after footnote numbers is discarded as not localizable; * @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. * 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. * 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) * Reference container: option to restore 3-column layout (combining identicals turned off)
* @since 2.1.1 * @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. * - 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 * Combining identical footnotes: fix dead links and ensure referrer-backlink bijectivity
* @reporter @happyches bug report * @reporter @happyches bug report

View file

@ -6,20 +6,26 @@
* @author Stefan Herndler * @author Stefan Herndler
* @since 1.5.0 14.09.14 10:58 * @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 prettify reference container template
* @since 2.0.3 further minify template content * @since 2.0.3 replace tab with a space
* @since 2.0.4 regex to delete multiple spaces * @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.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 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 * @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/ * @link https://wordpress.org/support/topic/template-override-filter/
*
* @since 2.4.0 templates may be in active theme, thanks to @misfist * @since 2.4.0 templates may be in active theme, thanks to @misfist
* @link https://wordpress.org/support/topic/template-override-filter/#post-13846598 * @link https://wordpress.org/support/topic/template-override-filter/#post-13846598
*
* @since 2.5.0 Enable template location stack, contributed by @misfist * @since 2.5.0 Enable template location stack, contributed by @misfist
* @link https://wordpress.org/support/topic/template-override-filter/#post-13864301 * @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_FileName Template file name inside the Template directory without the file extension.
* @param string $p_str_Extension Optional Template file extension (default: html) * @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 * @since 2.2.6 support for custom templates 2020-12-19T0606+0100
* @link https://wordpress.org/support/topic/template-override-filter/ * @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 * @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 * @link https://wordpress.org/support/topic/template-override-filter/#post-13846598
*/ */
@ -184,9 +185,18 @@ class MCI_Footnotes_Template {
* *
* @param string $template * @param string $template
* @return void * @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 ) { 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( "\r", "", $this->a_str_OriginalContent );
$this->a_str_OriginalContent = str_replace( "\t", " ", $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 ); $this->a_str_OriginalContent = preg_replace( '# +#', " ", $this->a_str_OriginalContent );

View file

@ -4,14 +4,27 @@
Plugin URI: https://wordpress.org/plugins/footnotes/ 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. 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 Author: Mark Cheret
Version: 2.5.4d2 Version: 2.5.4d3
Author URI: http://cheret.de/plugins/footnotes-2/ Author URI: http://cheret.de/plugins/footnotes-2/
Text Domain: footnotes Text Domain: footnotes
Domain Path: /languages 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 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 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' );
*/ */
/** /**
* Plugins main PHP file.
*
* @filesource * @filesource
* @author Stefan Herndler * @author Stefan Herndler
* @since 0.0.1 * @since 0.0.1

View file

@ -1,13 +1,13 @@
note-for-developers.txt note-for-developers.txt
2020-12-19T0609+0100 @datetime 2020-12-19T0609+0100
Last modified: 2021-02-04T0544+0100 @lastmodified 2021-02-08T0843+0100
Footnotes plugin for WordPress, v2.5.3 and later 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. 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. 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-01-24T2310+0100
2021-02-04T0831+0100 2021-02-08T0415+0100
▲ Source for standard tags: ▲ Source for standard tags:
https://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.pkg.html 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: ▲ Tags required/recommended by WordPress coding standard:
https://developer.wordpress.org/coding-standards/inline-documentation-standards/php/ 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 @access
@author [DO NOT USE] @author [DO NOT USE]
@ -146,9 +174,17 @@ https://developer.wordpress.org/coding-standards/inline-documentation-standards/
@var @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: ▲ Tags supported in Atom TextMate found in VSCode 1.47.3:
/usr/share/code/resources/app/extensions/php/syntaxes/php.tmLanguage.json /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 @api
@abstract @abstract
@ -195,8 +231,13 @@ MISSING TAGS:
- wrt WordPress: - wrt WordPress:
@type @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 @api
@abstract @abstract
@ -206,11 +247,13 @@ MISSING TAGS:
@copyright @copyright
@deprecated @deprecated
@example @example
@extends
@filesource @filesource
@final @final
@global @global
@id @id
@ignore @ignore
@implements
@inherit[Dd]oc @inherit[Dd]oc
@internal @internal
@license @license
@ -227,6 +270,7 @@ MISSING TAGS:
@static @static
@staticvar @staticvar
@subpackage @subpackage
@template
@throws @throws
@toc @toc
@todo @todo
@ -240,29 +284,34 @@ MISSING TAGS:
@accountable @accountable
@bib @bib
@biblio @biblio
@bibliography
@bugfix
@callback @callback
@commit @commit
@committed
@committer @committer
@contributed
@contribution
@contributor @contributor
@courtesy @courtesy
@date @date
@datetime @datetime
@feature
@featurerequest
@lastmodified @lastmodified
@modified @modified
@publisher @publisher
@reporter @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 /usr/share/code/resources/app/extensions/php/syntaxes/php.tmLanguage.json
|access|filesource|id|name|staticvar|toc|tutorial|type|usedby original:
|accountable|bib|biblio|bugfix|callback|commit|committed|committer|contributed|contribution|contributor|courtesy|date|datetime|feature|featurerequest|lastmodified|modified|publisher|reporter 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

View file

@ -1,8 +1,8 @@
=== footnotes === === 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 Tags: footnote, footnotes, bibliography, formatting, notes, Post, posts, reference, referencing
Requires at least: 3.9 Requires at least: 3.9
Tested up to: 5.6 Tested up to: 5.6.1
Requires PHP: 5.6 Requires PHP: 5.6
Stable Tag: 2.5.3 Stable Tag: 2.5.3
License: GPLv3 or later License: GPLv3 or later
@ -79,11 +79,11 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
== Changelog == == Changelog ==
= 2.5.4d2 = = 2.5.4d3 =
- Update: Libraries: jQuery Tools: replace deprecated function jQuery.isFunction(), thanks to @a223123131 bug report. - 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.
- Bugfix: Libraries: jQuery Tools: replace discouraged double equals sign with recommended triple equals sign. - 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. - Bugfix: Editor button: Classic Editor text mode: correct label to singular.
= 2.5.3 = = 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. - Update: Readme/documentation: update or fix URLs in Download, Support and Development sections.
= 2.5.0 = = 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: 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: 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: 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 '&gt;' escapement disruption in WordPress Block Editor. - Bugfix: Shortcodes: Dashboard: warning about '&gt;' escapement disruption in WordPress Block Editor.
= 2.4.0 = = 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: 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: 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. - 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'. - Bugfix: Reference container: add class 'footnote_plugin_symbol' to disambiguate repurposed class 'footnote_plugin_link'.
= 2.3.0 = = 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: 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: Referrers and backlinks: more effectively remove unwanted underline by disabling box shadow used instead of bottom border, thanks to @klusik feedback.
- Bugfix: Dashboard: swap Custom CSS migration Boolean, meaning 'show legacy' instead of 'migration complete', due to storage data structure constraints. - Bugfix: Dashboard: Custom CSS: swap 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. - 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. - 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 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: 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 = = 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 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 = = 2.2.6 =
- Bugfix: Reference container, tooltips: URL wrap: make the quotation mark optional wrt query parameters, thanks to @spiralofhope2 bug report. - 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 = = 2.2.5 =
- Bugfix: Dashboard: Footnotes numbering: add missing support for Ibid. notation to suggestions, thanks to @meglio code contribution. - 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. - Bugfix: Dashboard: duplicate moved settings under their legacy tab to account for data structure.
= 2.2.0 = = 2.2.0 =
- Add: Reference container: support for custom position shortcode, thanks to @hamshe feature request. - Adding: Reference container: support for custom position shortcode, thanks to @hamshe issue report.
- Add: Start/end short codes: more predefined options. - Adding: Start/end short codes: more predefined options.
- Add: Numbering styles: lowercase Roman numerals support. - Adding: Numbering styles: lowercase Roman numerals support.
- Update: Priority levels: update the notice in the dashboard Priority tab. - Update: Priority levels: update the notice in the dashboard Priority tab.
- Update: Dashboard: Tooltip settings: group into 3 thematic containers. - Update: Dashboard: Tooltip settings: group into 3 thematic containers.
- Update: Dashboard: Main settings: group into 3 specific 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: Tooltips: add 'important' property to z-index to fix display overlay issue.
- Bugfix: Localization: correct arguments for plugin textdomain load function. - Bugfix: Localization: correct arguments for plugin textdomain load function.
- Bugfix: Reference container, tooltips: URL wrap: specifically catch the quotation mark. - 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 = = 2.1.6 =
- Bugfix: Priority levels: set the_content priority level to 98 to prevent plugin conflict, thanks to @marthalindeman bug report. - 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. - Bugfix: Formatting: disable overline showing in some themes on hovered backlinks.
= 2.1.0 = = 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. - Bugfix: Referrers: disable bottom border for theme compatibility.
- Update: Accessibility: add 'speaker-mute' class to reference container. - Update: Accessibility: add 'speaker-mute' class to reference container.
- Bugfix: Dashboard: Layout: added named selectors to limit applicability of styles. - 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. - 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. - 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: 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: prevent a page break just after the reference container label.
- Bugfix: Print style: Hide reference collapse button. - Bugfix: Print style: Hide reference collapse button.
- Update: Reference container: Headline: remove padding before reference container label. - 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. - Update: Scroll offset: raise percentage from 5% to a safer 12% inner window height, by lack of setting.
= 2.0.2 = = 2.0.2 =
- Bugfix: Restored expand/collapse button of reference container. - Bugfix: Reference container: restore expand/collapse button in the template, thanks to @ragonesi bug report.
- Bugfix: Dashboard: Available CSS selectors, last item display. - Bugfix: Dashboard: Custom CSS: Available selectors: fix display of the last item.
- Bugfix: Footnote anchor and ID color to default on screen, to inherit in print. - Bugfix: Referrers and backlinks: restore default link color on screen, set color to inherit in print.
- Bugfix: Disabled underline in footnote anchors, underline only on hover. - Bugfix: Referrers: disable text decoration underline by default, enable underline on hover.
= 2.0.1 = = 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. - Update: Translations: revised fr_FR.
= 2.0.0 = = 2.0.0 =
- Major contributions taken from WordPress user pewgeuges, all details here https://github.com/media-competence-institute/footnotes/blob/master/README.md: - 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: **symbol for backlinks** removed
- Update: hyperlink moved to the reference number - 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: 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: Libraries: jQuery Tools: add condition whether deprecated function jQuery.browser() exists, thanks to @vonpiernik code contribution.
- Update: Account for disruptive PHP change - 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: footnote links script independent
- Bugfix: Get the “Continue reading” link to work in the mouse-over box - Bugfix: Get the “Continue reading” link to work in the mouse-over box
- Bugfix: Debug printed posts and pages - 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 - Beginning of translation to French
= 1.6.5 = = 1.6.5 =
- Bugfix: Improve widgets registration, 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: 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 - 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 - 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 = = 1.6.0 =
- **IMPORTANT**: Improved performance. You need to Activate the Plugin again. (Settings won't change!) - **IMPORTANT**: Improved performance. You need to Activate the Plugin again. (Settings won't change!)
- Add: Setting to customize the mouse-over box shadow - Adding: Setting to customize the mouse-over box shadow
- Add: Translation: United States - Adding: Translation: United States
- Add: Translation: Austria - Adding: Translation: Austria
- Add: Translation: Spanish (many thanks to Pablo L.) - Adding: Translation: Spanish (many thanks to Pablo L.)
- Update: Translations (de_DE and en_GB) - Update: Translations (de_DE and en_GB)
- Update: Changed Plugins init file name to improve performance (Re-activation of the Plugin is required) - Update: Changed Plugins init file name to improve performance (Re-activation of the Plugin is required)
- Update: ManFisher note styling - 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 - Bugfix: Avoid multiple IDs for footnotes when multiple reference containers are displayed
= 1.5.7 = = 1.5.7 =
- Add: Setting to define the positioning of the mouse-over box - Adding: 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 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: 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 - Bugfix: Rating calculation for the 'other plugins' list
= 1.5.6 = = 1.5.6 =
- **IMPORTANT**: We have changed the html tag for the superscript. Please check and update your custom CSS. - **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 - Adding: .pot file to enable Translations for everybody
- Add: Settings to customize the mouse-over box (color, background color, border, max. width) - Adding: Settings to customize the mouse-over box (color, background color, border, max. width)
- Update: Translation file names - Update: Translation file names
- Update: Translation EN and DE - Update: Translation EN and DE
- Update: Styling of the superscript (need to check custom CSS code for the superscript) - 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 - Bugfix: Enable multiple WP_Post objects for the_post hook
= 1.5.5 = = 1.5.5 =
- Add: Expert mode setting - Adding: Expert mode setting
- Add: Activation and Deactivation of WordPress hooks to look for Footnotes (expert mode) - Adding: 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: 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: 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: Activation, Deactivation and Uninstall hook class name
- Bugfix: Add submenu pages only once for each ManFisher WordPress Plugin - Bugfix: Add submenu pages only once for each ManFisher WordPress Plugin
- Bugfix: Display the Reference container in the Footer correctly - Bugfix: Display the Reference container in the Footer correctly
= 1.5.4 = = 1.5.4 =
- Add: Setting to enable an excerpt of the Footnotes mouse-over box text (default: disabled) - Adding: 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 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: 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: Receiving list of other Plugins from the Developer Team from an external server
- Update: Translations (EN and DE) - 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 - Bugfix: Try to replace each appearance of Footnotes in the current Post object loaded from the WordPress database
= 1.5.3 = = 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 - Update: Smoothy scroll to an anchor using Javascript
- Bugfix: Set the vertical align for each cell in the Reference container to TOP - Bugfix: Set the vertical align for each cell in the Reference container to TOP
= 1.5.2 = = 1.5.2 =
- Add: Setting to enable/disable the mouse-over box - Adding: Setting to enable/disable the mouse-over box
- Add: Current WordPress Theme to the Diagnostics sub page - Adding: Current WordPress Theme to the Diagnostics sub page
- Add: ManFisher note in the "other Plugins" sub page - Adding: ManFisher note in the "other Plugins" sub page
- Update: Removed unnecessary hidden inputs from the Settings page - Update: Removed unnecessary hidden inputs from the Settings page
- Update: Merged public CSS files to reduce the output and improve the performance - Update: Merged public CSS files to reduce the output and improve the performance
- Update: Translations (EN and DE) - 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 - Bugfix: Translation overhaul for German
= 1.5.0 = = 1.5.0 =
- Add: Grouped the Plugin Settings into a new Menu Page called "ManFisher Plugins" - Adding: Grouped the Plugin Settings into a new Menu Page called "ManFisher Plugins"
- Add: Sub Page to list all other Plugins of the Contributors - Adding: Sub Page to list all other Plugins of the Contributors
- Add: Hyperlink to manfisher.eu in the "other plugins" page - Adding: Hyperlink to manfisher.eu in the "other plugins" page
- Update: Refactored the whole source code - Update: Refactored the whole source code
- Update: Moved the Diagnostics Sections to into a new Sub Page called "Diagnostics" - Update: Moved the Diagnostics Sections to into a new Sub Page called "Diagnostics"
- Bugfix: Line up Footnotes with multiple lines in the Reference container - 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) - 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: Changed e-Mail support address to the WordPress support forum
- Update: Language EN and DE - Update: Language EN and DE
- Add: Tab for Plugin Diagnostics - Adding: Tab for Plugin Diagnostics
- Add: Donate link to the installed Plugin overview page - Adding: Donate link to the installed Plugin overview page
- Add: Donate button to the "HowTo" tab - Adding: Donate button to the "HowTo" tab
= 1.3.4 = = 1.3.4 =
- Bugfix: Settings access permission vor sub-sites - 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: 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) - Bugfix: Clear old Footnotes before lookup new public page (only if no reference container displayed before)
- Update: language EN and DE - Update: language EN and DE
- Add: Setting to customize the hyperlink symbol in der reference container for each footnote reference - Adding: 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 enter a user defined hyperlink symbol
- -
= 1.3.1 = = 1.3.1 =
- Bugfix: Allow settings to be empty - Bugfix: Allow settings to be empty
- Bugfix: Removed space between the hyperlink and superscript in the footnotes index - 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 = = 1.3.0 =
- Bugfix: Changed tooltip class to be unique - Bugfix: Changed tooltip class to be unique
- Bugfix: Changed superscript styling to not manipulate the line height - 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 - Bugfix: Changed styling of the footnotes text in the reference container to avoid line breaks
- Update: Reformatted code - Update: Reformatted code
- Add: new settings tab for custom CSS settings - Adding: new settings tab for custom CSS settings
= 1.2.5 = = 1.2.5 =
- Bugfix: New styling of the mouse-over box to stay in screen (thanks to Jori, France and Manuel345, undisclosed location) - 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 = = 1.2.2 =
- Bugfix: WYSIWYG editor and plain text editor buttons insert footnote short code correctly (also if defined like html tag) - 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 - 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 - Bugfix: Replace footnote short code
- Update: Combined buttons for the "collapse/expand" reference container - 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 = = 1.1.1 =
- Feature: Short code to not display the 'love me' slug on specific pages ( short code = [[no footnotes: love]] ) - 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 - 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 - Update: Changed plugin URL from GitHub to WordPress
- Bugfix: Uninstall function to really remove all settings done in the settings page - Bugfix: Uninstall function to really remove all settings done in the settings page
- Bugfix: Load default settings after plugin is installed - Bugfix: Load default settings after plugin is installed
- Update: Translation for support link and new setting option - 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 = = 1.1.0 =
- Update: Global styling for the public plugin name - Update: Global styling for the public plugin name
- Update: Easier usage of the public plugin name in translations - 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: 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 - 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 - Bugfix: Displays only one reference container in front of the footer on category pages
= 1.0.6 = = 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 - Feature: the footnotes WordPress Plugin now has its very own CI
- Update: Styling - Update: Styling
- Update: Settings to support the styling - Update: Settings to support the styling
- Add: Inspirational Screenshots for further development - Adding: Inspirational Screenshots for further development
- Add: Settings screenshot - Adding: Settings screenshot
- Update: i18n fine-tuning - Update: i18n fine-tuning
= 1.0.4 = = 1.0.4 =
- Update: replacing function when footnote is a link (bugfix) - Update: replacing function when footnote is a link (bugfix)
- Footnote hover box remains until cursor leaves footnote or hover box - Footnote hover box remains until cursor leaves footnote or hover box
- Links in the footnote hover box are click able - Links in the footnote hover box are click able
- Add: setting to allow footnotes on Summarized Posts - Adding: setting to allow footnotes on Summarized Posts
- Add: setting to tell the world you're using footnotes plugin - Adding: setting to tell the world you're using footnotes plugin
- Add: setting for the counter style of the footnote index - Adding: setting for the counter style of the footnote index
- Arabic Numbers (1, 2, 3, 4, 5, ...) - Arabic Numbers (1, 2, 3, 4, 5, ...)
- Arabic Numbers leading 0 (01, 02, 03, 04, 05, ...) - Arabic Numbers leading 0 (01, 02, 03, 04, 05, ...)
- Latin Characters lower-case (a, b, c, d, e, ...) - Latin Characters lower-case (a, b, c, d, e, ...)
- Latin Characters upper-case (A, B, C, D, E, ...) - Latin Characters upper-case (A, B, C, D, E, ...)
- Roman Numerals (I, II, III, IV, V, ...) - 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 - Update: translations for the new settings
- Switch back the version numbering scheme to have 3 digits - Switch back the version numbering scheme to have 3 digits
= 1.0.3 = = 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: translations for the new setting
- Update: reading settings and fallback to default values (bugfix) - Update: reading settings and fallback to default values (bugfix)
= 1.0.2 = = 1.0.2 =
- Add: setting to collapse the reference container by default - Adding: setting to collapse the reference container by default
- Add: link behind the footnotes to automatically jump to the reference container - Adding: link behind the footnotes to automatically jump to the reference container
- Add: function to easy output input fields for the settings page - Adding: function to easy output input fields for the settings page
- Update: translation for the new setting - Update: translation for the new setting
= 1.0.1 = = 1.0.1 =
- Separated functions in different files for a better overview - Separated functions in different files for a better overview
- Add: a version control to each file / class / function / variable - Adding: 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: 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: Replacing footnotes in widget texts will show the reference container at the end of the page (bugfix)
- Update: translations for EN and DE - Update: translations for EN and DE
- Changed version number from 3 digits to 2 digits - Changed version number from 3 digits to 2 digits

View file

@ -15,16 +15,16 @@
textArea.val(textArea.val().substring(0, start) + replacement + textArea.val().substring(end, len)); 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 * @reporter @dpartridge
* @link https://wordpress.org/support/topic/qtags-addbutton/ * @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 ) { if ( QTags ) {
QTags.addButton( 'MCI_Footnotes_QuickTag_button', 'footnote', MCI_Footnotes_text_editor_callback ); QTags.addButton( 'MCI_Footnotes_QuickTag_button', 'footnote', MCI_Footnotes_text_editor_callback );

View file

@ -1,3 +1,7 @@
<!--<?php//for docblock, @see MCI_Footnotes_Template::process_template()
/**
*/?>
-->
<span <span
class="footnote_referrer" class="footnote_referrer"
><[[link-span]] ><[[link-span]]

View file

@ -1,3 +1,25 @@
<!--<?php//for docblock, @see MCI_Footnotes_Template::process_template()
/**
* Yields the reference container start and end including the scroll script.
*
* @since Unknown
* @type object
*
* @lastmodified 2021-02-07T0811+0100
*
*
*
* - Bugfix: Reference container: restore expand/collapse button in the template, thanks to @ragonesi bug report.
*
* @since 2.0.2
*
* @reporter @ragonesi
* @link https://wordpress.org/support/topic/hyperlink-symbol-in-reference-container/#post-13587782
*
* The expand/collapse button was lost @since 2.0.0 for an unknown reason.
* The fix was about restoring the button code (only, while the script remained complete).
*/?>
-->
<div <div
class="speaker-mute footnotes_reference_container" class="speaker-mute footnotes_reference_container"
> >

View file

@ -10,5 +10,5 @@
position: '[[position]]', position: '[[position]]',
relative: true, relative: true,
offset: [[[offset-y]], [[offset-x]]], offset: [[[offset-y]], [[offset-x]]],
}); });
</script> </script>