Stable Bugfix Release 2.1.2 to roll out immediately in compensation of previous overdue, as a goodwill gesture

git-svn-id: https://plugins.svn.wordpress.org/footnotes/trunk@2422035 b8457f37-d9ea-0310-8a92-e5e31aec5664
This commit is contained in:
pewgeuges 2020-11-20 05:40:03 +00:00
parent 0520655f1c
commit 860c7dc3c3
14 changed files with 616 additions and 489 deletions

View file

@ -89,7 +89,7 @@ class MCI_Footnotes_Layout_Init {
* Registers all sub menu pages for the new main menu. * Registers all sub menu pages for the new main menu.
* *
* @author Stefan Herndler * @author Stefan Herndler
* @since 2.0.2 * @since 1.5.0
* @see http://codex.wordpress.org/Function_Reference/add_menu_page * @see http://codex.wordpress.org/Function_Reference/add_menu_page
*/ */
public function registerMainMenu() { public function registerMainMenu() {

View file

@ -5,6 +5,10 @@
* @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
*
* 2.1.2 added version # of settings.css for cache busting 2020-11-19T1456+0100
*
* ############ Please update line 210 after changes to settings.css ###############
*/ */
@ -195,8 +199,19 @@ abstract class MCI_Footnotes_LayoutEngine {
wp_enqueue_style('wp-color-picker'); wp_enqueue_style('wp-color-picker');
// add WordPress color picker function // add WordPress color picker function
wp_enqueue_script('wp-color-picker'); wp_enqueue_script('wp-color-picker');
// register stylesheet // register stylesheet
wp_register_style('mci-footnotes-admin-styles', plugins_url('../../css/settings.css', __FILE__)); // added version # after changes started to settings.css from 2.1.2 on:
wp_register_style(
'mci-footnotes-admin-styles',
plugins_url('../../css/settings.css', __FILE__),
'',
'2.1.2'
);
// UPDATE version # when making changes to settings.css, FOR CACHE BUSTING
// add stylesheet to the output // add stylesheet to the output
wp_enqueue_style('mci-footnotes-admin-styles'); wp_enqueue_style('mci-footnotes-admin-styles');
} }

View file

@ -473,38 +473,61 @@ class MCI_Footnotes_Layout_Settings extends MCI_Footnotes_LayoutEngine {
* *
* @author Stefan Herndler * @author Stefan Herndler
* @since 1.5.5 * @since 1.5.5
*
* Edited for:
* 2.1.1 add priority level setting for the_content 2020-11-16T2152+0100
* 2.2.0 add priority level settings for the other hooks 2020-11-19T1421+0100
*/ */
public function lookupHooks() { public function lookupHooks() {
// load template file // load template file
$l_obj_Template = new MCI_Footnotes_Template(MCI_Footnotes_Template::C_STR_DASHBOARD, "expert-lookup"); $l_obj_Template = new MCI_Footnotes_Template(MCI_Footnotes_Template::C_STR_DASHBOARD, "expert-lookup");
// replace all placeholders // replace all placeholders
// priority level was initially hard-coded default
// shows "9223372036854775807" in the numbox
// empty should be interpreted as PHP_INT_MAX,
// but a numbox cannot be set to empty: <https://github.com/Modernizr/Modernizr/issues/171>
// define -1 as PHP_INT_MAX instead
$l_obj_Template->replace( $l_obj_Template->replace(
array( array(
"description-1" => __("The priority level determines whether Footnotes is executed timely before other plugins, and how the reference container is positioned relative to other features.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"description-2" => __("Default 9223372036854775807 is lowest priority, 0 is highest.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"description-3" => __("To restore default priority, set to -1, interpreted as 9223372036854775807, the constant PHP_INT_MAX.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"description-4" => __("For the reference container to sit above related posts, the priority level of the_content hook may need to be at most 1200.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"description-5" => __("For Footnotes to work when a glossary plugin is active, a higher priority of 1000 may be needed.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"description-6" => __("For the_content, another good pick with proven efficiency is priority level 10.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"head-hook" => __("WordPress hook function name", MCI_Footnotes_Config::C_STR_PLUGIN_NAME), "head-hook" => __("WordPress hook function name", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"head-checkbox" => __("Activate", MCI_Footnotes_Config::C_STR_PLUGIN_NAME), "head-checkbox" => __("Activate", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"head-numbox" => __("Priority level", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"head-url" => __("WordPress documentation", MCI_Footnotes_Config::C_STR_PLUGIN_NAME), "head-url" => __("WordPress documentation", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"label-the-title" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_TITLE, "the_title"), "label-the-title" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_TITLE, "the_title"),
"the-title" => $this->addCheckbox(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_TITLE), "the-title" => $this->addCheckbox(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_TITLE),
"url-the-title" => "http://codex.wordpress.org/Plugin_API/Filter_Reference/the_title", "priority-the-title" => $this->addNumBox(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL, -1, PHP_INT_MAX),
"url-the-title" => "https://developer.wordpress.org/reference/hooks/the_title/",
"label-the-content" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_CONTENT, "the_content"), "label-the-content" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_CONTENT, "the_content"),
"the-content" => $this->addCheckbox(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_CONTENT), "the-content" => $this->addCheckbox(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_CONTENT),
// allowed for priority level are all positive integers, zero and -1 interpreted as PHP_INT_MAX:
"priority-the-content" => $this->addNumBox(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL, -1, PHP_INT_MAX), "priority-the-content" => $this->addNumBox(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL, -1, PHP_INT_MAX),
"url-the-content" => "http://codex.wordpress.org/Plugin_API/Filter_Reference/the_content", "url-the-content" => "https://developer.wordpress.org/reference/hooks/the_content/",
"label-the-excerpt" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_EXCERPT, "the_excerpt"), "label-the-excerpt" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_EXCERPT, "the_excerpt"),
"the-excerpt" => $this->addCheckbox(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_EXCERPT), "the-excerpt" => $this->addCheckbox(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_EXCERPT),
"url-the-excerpt" => "http://codex.wordpress.org/Function_Reference/the_excerpt", "priority-the-excerpt" => $this->addNumBox(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL, -1, PHP_INT_MAX),
"url-the-excerpt" => "https://developer.wordpress.org/reference/functions/the_excerpt/",
"label-widget-title" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TITLE, "widget_title"), "label-widget-title" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TITLE, "widget_title"),
"widget-title" => $this->addCheckbox(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TITLE), "widget-title" => $this->addCheckbox(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TITLE),
"url-widget-title" => "http://codex.wordpress.org/Plugin_API/Filter_Reference/widget_title", "priority-widget-title" => $this->addNumBox(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL, -1, PHP_INT_MAX),
"url-widget-title" => "https://codex.wordpress.org/Plugin_API/Filter_Reference/widget_title",
"label-widget-text" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TEXT, "widget_text"), "label-widget-text" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TEXT, "widget_text"),
"widget-text" => $this->addCheckbox(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TEXT), "widget-text" => $this->addCheckbox(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TEXT),
"url-widget-text" => "http://codex.wordpress.org/Plugin_API/Filter_Reference/widget_text", "priority-widget-text" => $this->addNumBox(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL, -1, PHP_INT_MAX),
"url-widget-text" => "https://codex.wordpress.org/Plugin_API/Filter_Reference/widget_text",
) )
); );
// display template with replaced placeholders // display template with replaced placeholders

View file

@ -134,8 +134,8 @@ class MCI_Footnotes {
wp_enqueue_script( 'jquery-ui-position' ); wp_enqueue_script( 'jquery-ui-position' );
wp_enqueue_script( 'jquery-ui-tooltip' ); wp_enqueue_script( 'jquery-ui-tooltip' );
// enqueue jQuery Tools: // enqueue jQuery Tools: redacted jQuery.browser, completed minification; added versioning 2020-11-18T2150+0100
wp_enqueue_script('mci-footnotes-js-jquery-tools', plugins_url('../js/jquery.tools.min.js', __FILE__)); wp_enqueue_script('mci-footnotes-js-jquery-tools', plugins_url('../js/jquery.tools.min.js', __FILE__), '', '2.1.1');
// Alternatively, fetch jQuery UI from cdnjs.cloudflare.com: // Alternatively, fetch jQuery UI from cdnjs.cloudflare.com:
@ -159,7 +159,7 @@ class MCI_Footnotes {
'mci-footnotes-css-public', 'mci-footnotes-css-public',
plugins_url('../css/public.css', __FILE__), plugins_url('../css/public.css', __FILE__),
'', '',
'2.1.1' '2.1.2'
); );
} }

View file

@ -425,17 +425,14 @@ class MCI_Footnotes_Settings {
"footnotes_storage" => array( "footnotes_storage" => array(
self::C_STR_REFERENCE_CONTAINER_NAME => 'References', self::C_STR_REFERENCE_CONTAINER_NAME => 'References',
self::C_BOOL_REFERENCE_CONTAINER_COLLAPSE => '', self::C_BOOL_REFERENCE_CONTAINER_COLLAPSE => 'no',
self::C_STR_REFERENCE_CONTAINER_POSITION => 'post_end', self::C_STR_REFERENCE_CONTAINER_POSITION => 'post_end',
// Identical footnotes should not be combined by default self::C_BOOL_COMBINE_IDENTICAL_FOOTNOTES => 'yes',
// as long as the feature raises criticism for malfunctioning:
// <https://wordpress.org/support/topic/too-many-errors-18/>
self::C_BOOL_COMBINE_IDENTICAL_FOOTNOTES => '',
self::C_BOOL_REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE => 'yes', self::C_BOOL_REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE => 'yes',
self::C_BOOL_REFERENCE_CONTAINER_START_PAGE_ENABLE => 'yes', self::C_BOOL_REFERENCE_CONTAINER_START_PAGE_ENABLE => 'yes',
self::C_BOOL_REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE => '', self::C_BOOL_REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE => 'no',
self::C_BOOL_REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH => '', self::C_BOOL_REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH => 'no',
self::C_STR_FOOTNOTES_SHORT_CODE_START => '((', self::C_STR_FOOTNOTES_SHORT_CODE_START => '((',
self::C_STR_FOOTNOTES_SHORT_CODE_END => '))', self::C_STR_FOOTNOTES_SHORT_CODE_END => '))',
@ -444,7 +441,11 @@ class MCI_Footnotes_Settings {
self::C_STR_FOOTNOTES_COUNTER_STYLE => 'arabic_plain', self::C_STR_FOOTNOTES_COUNTER_STYLE => 'arabic_plain',
self::C_STR_FOOTNOTES_LOVE => 'no', self::C_STR_FOOTNOTES_LOVE => 'no',
self::C_BOOL_FOOTNOTES_IN_EXCERPT => 'yes', self::C_BOOL_FOOTNOTES_IN_EXCERPT => 'yes',
self::C_BOOL_FOOTNOTES_EXPERT_MODE => 'no'
// since removal of the_post hook, expert mode is no danger zone
// not for experts only; raising awareness about relative positioning
// changed default to 'yes':
self::C_BOOL_FOOTNOTES_EXPERT_MODE => 'yes'
), ),
@ -455,14 +456,18 @@ class MCI_Footnotes_Settings {
self::C_BOOL_FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS => 'yes', self::C_BOOL_FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS => 'yes',
// The default footnote referrer surroundings should be square brackets: // The default footnote referrer surroundings should be square brackets:
// * as in English typesetting; // * with respect to baseline footnote referrers new option;
// * as in English or US American typesetting;
// * for better UX thanks to a more button-like appearance; // * for better UX thanks to a more button-like appearance;
// * for stylistic consistency with the expand-collapse button // * for stylistic consistency with the expand-collapse button;
self::C_STR_FOOTNOTES_STYLING_BEFORE => '[', self::C_STR_FOOTNOTES_STYLING_BEFORE => '[',
self::C_STR_FOOTNOTES_STYLING_AFTER => ']', self::C_STR_FOOTNOTES_STYLING_AFTER => ']',
self::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ENABLED => 'yes', self::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ENABLED => 'yes',
self::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE => '',
// alternative, low-script tooltips using CSS for transitions
// in response to user demand for website with jQuery UI outage
self::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE => 'no',
// The mouse over content truncation should be enabled by default // The mouse over content truncation should be enabled by default
// to raise awareness of the functionality and to prevent the screen // to raise awareness of the functionality and to prevent the screen
@ -515,6 +520,11 @@ class MCI_Footnotes_Settings {
self::C_BOOL_EXPERT_LOOKUP_WIDGET_TITLE => '', self::C_BOOL_EXPERT_LOOKUP_WIDGET_TITLE => '',
self::C_BOOL_EXPERT_LOOKUP_WIDGET_TEXT => 'yes', self::C_BOOL_EXPERT_LOOKUP_WIDGET_TEXT => 'yes',
// initially hard-coded default
// shows "9223372036854775807" in the numbox
// empty should be interpreted as PHP_INT_MAX,
// but a numbox cannot be set to empty: <https://github.com/Modernizr/Modernizr/issues/171>
// define -1 as PHP_INT_MAX instead
self::C_INT_EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL => PHP_INT_MAX, self::C_INT_EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL => PHP_INT_MAX,
self::C_INT_EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL => PHP_INT_MAX, self::C_INT_EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL => PHP_INT_MAX,
self::C_INT_EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL => PHP_INT_MAX, self::C_INT_EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL => PHP_INT_MAX,

View file

@ -16,8 +16,8 @@
* 2.1.1: combining identical footnotes: fixed dead links 2020-11-14T2233+0100 * 2.1.1: combining identical footnotes: fixed dead links 2020-11-14T2233+0100
* 2.1.1: options fixing ref container layout and referrer vertical alignment 2020-11-16T2024+0100 * 2.1.1: options fixing ref container layout and referrer vertical alignment 2020-11-16T2024+0100
* 2.1.1: option fixing ref container relative position 2020-11-17T0254+0100 * 2.1.1: option fixing ref container relative position 2020-11-17T0254+0100
* * 2.1.2: options for the other hooks 2020-11-19T1849+0100
* Last modified 2020-11-18T0138+0100 * 2.1.2: support for Elementor accordion toggle section names 2020-11-20T0617+0100
*/ */
// If called directly, abort: // If called directly, abort:
@ -64,27 +64,36 @@ class MCI_Footnotes_Task {
* @author Stefan Herndler * @author Stefan Herndler
* @since 1.5.0 * @since 1.5.0
* *
* Edited for v2.0.5 through v2.0.7 2020-11-02T0330+0100..2020-11-06T1344+0100 * Edited for:
* 2.0.5 through v2.0.7 changes to priority 2020-11-02T0330+0100..2020-11-06T1344+0100
* 2.2.0 add settings for all hooks 2020-11-19T1248+0100
* *
* Explicitly setting all priority to (default) "10" instead of lowest "PHP_INT_MAX", * Explicitly setting the_content priority to "10" instead of lowest "PHP_INT_MAX",
* especially for the_content, makes the footnotes reference container display * makes the footnotes reference container display beneath the post and above other
* beneath the content and above other features added by other plugins. * features added by other plugins, e.g. related post lists and social buttons.
* Requested by users: <https://wordpress.org/support/topic/change-the-position-5/> * Requested by users: <https://wordpress.org/support/topic/change-the-position-5/>
* Documentation: <https://codex.wordpress.org/Plugin_API/#Hook_in_your_Filter> * Documentation: <https://codex.wordpress.org/Plugin_API/#Hook_in_your_Filter>
* *
* But this change is suspected to cause issues and needs to be assessed! * Default remains PHP_INT_MAX.
* See <https://wordpress.org/support/topic/change-the-position-5/#post-13612697> * PHP_INT_MAX cannot be reset by leaving the number box empty. because browsers
* (WebKit) dont allow it, so we must resort to -1.
*/ */
public function registerHooks() { public function registerHooks() {
// first compute values from settings: // get values from settings:
// for now only the_content is supported for customization: $p_int_TheTitlePriority = intval(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_TITLE_PRIORITY_LEVEL));
$p_int_TheContentPriority = MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL); $p_int_TheContentPriority = intval(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_CONTENT_PRIORITY_LEVEL));
$p_int_TheExcerptPriority = intval(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_THE_EXCERPT_PRIORITY_LEVEL));
$p_int_WidgetTitlePriority = intval(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_WIDGET_TITLE_PRIORITY_LEVEL));
$p_int_WidgetTextPriority = intval(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_INT_EXPERT_LOOKUP_WIDGET_TEXT_PRIORITY_LEVEL));
// PHP_INT_MAX can be set by -1:
$p_int_TheTitlePriority = ($p_int_TheTitlePriority == -1) ? PHP_INT_MAX : $p_int_TheTitlePriority ;
$p_int_TheContentPriority = ($p_int_TheContentPriority == -1) ? PHP_INT_MAX : $p_int_TheContentPriority ;
$p_int_TheExcerptPriority = ($p_int_TheExcerptPriority == -1) ? PHP_INT_MAX : $p_int_TheExcerptPriority ;
$p_int_WidgetTitlePriority = ($p_int_WidgetTitlePriority == -1) ? PHP_INT_MAX : $p_int_WidgetTitlePriority;
$p_int_WidgetTextPriority = ($p_int_WidgetTextPriority == -1) ? PHP_INT_MAX : $p_int_WidgetTextPriority ;
// PHP_INT_MAX can be set using the value -1:
if ( $p_int_TheContentPriority == -1 ) {
$p_int_TheContentPriority = PHP_INT_MAX;
}
// append custom css to the header // append custom css to the header
add_filter('wp_head', array($this, "wp_head"), PHP_INT_MAX); add_filter('wp_head', array($this, "wp_head"), PHP_INT_MAX);
@ -93,25 +102,30 @@ class MCI_Footnotes_Task {
add_filter('wp_footer', array($this, "wp_footer"), PHP_INT_MAX); add_filter('wp_footer', array($this, "wp_footer"), PHP_INT_MAX);
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_TITLE))) { if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_TITLE))) {
add_filter('the_title', array($this, "the_title"), PHP_INT_MAX); add_filter('the_title', array($this, "the_title"), $p_int_TheTitlePriority);
} }
// SET PRIORITY LEVEL TO CUSTOM FOR PAGE LAYOUT; DEFAULT PHP_INT_MAX: // custom priority level for reference container relative positioning; default PHP_INT_MAX:
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_CONTENT))) { if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_CONTENT))) {
add_filter('the_content', array($this, "the_content"), $p_int_TheContentPriority); add_filter('the_content', array($this, "the_content"), $p_int_TheContentPriority);
} }
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_EXCERPT))) { if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_EXCERPT))) {
add_filter('the_excerpt', array($this, "the_excerpt"), PHP_INT_MAX); add_filter('the_excerpt', array($this, "the_excerpt"), $p_int_TheExcerptPriority);
} }
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TITLE))) { if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TITLE))) {
add_filter('widget_title', array($this, "widget_title"), PHP_INT_MAX); add_filter('widget_title', array($this, "widget_title"), $p_int_WidgetTitlePriority);
} }
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TEXT))) { if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_WIDGET_TEXT))) {
add_filter('widget_text', array($this, "widget_text"), PHP_INT_MAX); add_filter('widget_text', array($this, "widget_text"), $p_int_WidgetTextPriority);
} }
// DISABLED the_post HOOK 2020-11-08T1839+0100
// REMOVED the_post HOOK 2020-11-08T1839+0100
// //
// //
// reset stored footnotes when displaying the header // reset stored footnotes when displaying the header
self::$a_arr_Footnotes = array(); self::$a_arr_Footnotes = array();
self::$a_bool_AllowLoveMe = true; self::$a_bool_AllowLoveMe = true;
@ -362,7 +376,15 @@ class MCI_Footnotes_Task {
// post ID to make everything unique wrt infinite scroll and archive view // post ID to make everything unique wrt infinite scroll and archive view
global $l_int_PostId; global $l_int_PostId;
// add support for Elementor section names:
// Element_Section::get_name()
// see <https://code.elementor.com/?s=section>
if (function_exists('Element_Section::get_name')) {
$l_int_PostId = Element_Section::get_name();
} else {
// work in WordPress mode:
$l_int_PostId = get_the_id(); $l_int_PostId = get_the_id();
}
// contains the index for the next footnote on this page // contains the index for the next footnote on this page
$l_int_FootnoteIndex = count(self::$a_arr_Footnotes) + 1; $l_int_FootnoteIndex = count(self::$a_arr_Footnotes) + 1;
@ -525,7 +547,15 @@ class MCI_Footnotes_Task {
// post ID to make everything unique wrt infinite scroll and archive view: // post ID to make everything unique wrt infinite scroll and archive view:
global $l_int_PostId; global $l_int_PostId;
// add support for Elementor section names: 2020-11-20T0615+0100
// Element_Section::get_name()
// see <https://code.elementor.com/?s=section>
if (function_exists('Element_Section::get_name')) {
$l_int_PostId = Element_Section::get_name();
} else {
// work in WordPress mode:
$l_int_PostId = get_the_id(); $l_int_PostId = get_the_id();
}
// no footnotes has been replaced on this page // no footnotes has been replaced on this page
if (empty(self::$a_arr_Footnotes)) { if (empty(self::$a_arr_Footnotes)) {

View file

@ -4,9 +4,9 @@
* Created-Date: 15.05.14 * Created-Date: 15.05.14
* Created-Time: 16:21 * Created-Time: 16:21
* Since: 1.0 * Since: 1.0
* Version: 2.1.1 * Version: 2.1.2
* *
* Last modified: 2020-11-18T0137+0100 * Last modified: 2020-11-20T0620+0100
*/ */
@ -218,7 +218,6 @@ when hovered in some themes, not in others:
.footnote_plugin_index.pointer:hover, .footnote_plugin_index.pointer:hover,
*/ */
.footnote_backlink:hover, .footnote_backlink:hover,
.footnote_plugin_index_combi:hover,
.footnote_plugin_link:hover, .footnote_plugin_link:hover,
.footnote_plugin_text a:hover { .footnote_plugin_text a:hover {
text-decoration: unset; text-decoration: unset;

View file

@ -4,9 +4,9 @@
* Created-Date: 15.05.14 * Created-Date: 15.05.14
* Created-Time: 16:21 * Created-Time: 16:21
* Since: 1.0 * Since: 1.0
* Version: 2.1.1 * Version: 2.1.2
* *
* Last modified: 2020-11-18T0136+0100 * Last modified: 2020-11-20T0620+0100
*/ */
@ -38,7 +38,10 @@
left: 96px; left: 96px;
} }
/*
On User Request: limited to a number of IDs to not affect all dashboards
<https://wordpress.org/support/topic/all-input-have-width-80/>
*/
#footnote_inputfield_placeholder_start_user_defined, #footnote_inputfield_placeholder_start_user_defined,
#footnote_inputfield_placeholder_end_user_defined, #footnote_inputfield_placeholder_end_user_defined,
#footnote_inputfield_readon_label, #footnote_inputfield_readon_label,
@ -96,3 +99,35 @@ span.footnote_highlight_placeholder {
margin: 20px auto !important; margin: 20px auto !important;
text-align: center !important; text-align: center !important;
} }
/*
initialized from style attributes in templates
IE doesnt support nth child, but these are not critical
*/
.expert-lookup tr th:first-child,
.expert-lookup tr td:first-child {
width: 170px !important;
}
.expert-lookup tr th:nth-child(2),
.expert-lookup tr td:nth-child(2) {
width: 65px !important;
}
.expert-lookup tr th:nth-child(3),
.expert-lookup tr td:nth-child(3) {
width: 200px !important;
}
.expert-lookup tr td:nth-child(3) input {
width: 190px;
}
.expert-lookup tr th:last-child,
.expert-lookup tr td:last-child {
white-space: nowrap;
}
.footnotes-description {
padding: 0 10%;
}
.footnotes-description p {
font-size: 1.4em;
font-style: italic;
}

View file

@ -4,7 +4,7 @@
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.1.1 Version: 2.1.2
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

View file

@ -4,7 +4,7 @@ Tags: footnote, footnotes, bibliography, formatting, notes, Post, posts, referen
Requires at least: 3.9 Requires at least: 3.9
Tested up to: 5.5 Tested up to: 5.5
Requires PHP: 5.6 Requires PHP: 5.6
Stable Tag: 2.1.1 Stable Tag: 2.1.2
License: GPLv3 or later License: GPLv3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html License URI: http://www.gnu.org/licenses/gpl-3.0.html
@ -80,6 +80,13 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
== Changelog == == Changelog ==
= 2.1.2 =
- Bugfix: Layout: Reference container: Backlinks: no underline on hover cell when combining identicals is on
- Bugfix: Elementor: add experimental support for section name function
- Bugfix: Dashboard: priority level settings for all other hooks
- Update: Dashboard: WordPress documentation URLs of the hooks
- Update: Dashboard: feature description for the hooks priority level settings (not yet localized)
= 2.1.1 = = 2.1.1 =
- Bugfix: Combining identical footnotes: fix dead links, ensure referrer-backlink bijectivity - Bugfix: Combining identical footnotes: fix dead links, ensure referrer-backlink bijectivity
- Update: Libraries: jQuery Tools: redact jQuery.browser function use in js/jquery.tools.min.js - Update: Libraries: jQuery Tools: redact jQuery.browser function use in js/jquery.tools.min.js
@ -98,13 +105,13 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
- Bugfix: Layout: Reference container: fix start pages by an option to hide the reference container - Bugfix: Layout: Reference container: fix start pages by an option to hide the reference container
- Bugfix: Layout: Reference container: Table rows: fix top and bottom padding - Bugfix: Layout: Reference container: Table rows: fix top and bottom padding
- Bugfix: Layout: Footnote referrers: new fix for line height - Bugfix: Layout: Footnote referrers: new fix for line height
- Bugfix: Formatting: disabled 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: UI: Tooltip: made 'Continue reading' button label customizable - Add: UI: Tooltip: made 'Continue reading' button label customizable
- Bugfix: Layout: Footnote referrers: disabled bottom border for theme compatibility - Bugfix: Layout: Footnote referrers: disabled bottom border for theme compatibility
- Update: Accessibility: added 'speaker-mute' class to reference container - Update: Accessibility: added 'speaker-mute' class to reference container
- Bugfix: Settings layout: added named selectors to limit applicability of styles - Bugfix: Dashboard: Layout: added named selectors to limit applicability of styles
- UPDATE: REMOVED the_post hook, the plugin stopped supporting this hook - UPDATE: REMOVED the_post hook, the plugin stopped supporting this hook
= 2.0.8 = = 2.0.8 =

View file

@ -1,42 +1,50 @@
<table class="widefat fixed"> <div class="expert-lookup footnotes-description">
<p>[[description-1]]</p>
<p>[[description-2]]</p>
<p>[[description-3]]</p>
<p>[[description-4]]</p>
<p>[[description-5]]</p>
<p>[[description-6]]</p>
</div>
<table class="expert-lookup widefat fixed">
<thead> <thead>
<tr> <tr>
<th style="width: 220px !important;">[[head-hook]]</th> <th>[[head-hook]]</th>
<th style="width: 65px !important;">[[head-checkbox]]</th> <th>[[head-checkbox]]</th>
<th style="width: 165px;">Priority level<br /><em>Set -1 for minimum priority</em></th> <th>[[head-numbox]]</th>
<th style="white-space: nowrap;">[[head-url]]</th> <th>[[head-url]]</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td style="width: 220px !important;">[[label-the-title]]</td> <td>[[label-the-title]]</td>
<td style="width: 65px !important;">[[the-title]]</td> <td>[[the-title]]</td>
<td style=""></td> <td>[[priority-the-title]]</td>
<td style="white-space: nowrap;"><a href="[[url-the-title]]" target="_blank">[[url-the-title]]</a></td> <td><a href="[[url-the-title]]" target="_blank">[[url-the-title]]</a></td>
</tr> </tr>
<tr> <tr>
<td style="width: 220px !important;">[[label-the-content]]</td> <td>[[label-the-content]]</td>
<td style="width: 65px !important;">[[the-content]]</td> <td>[[the-content]]</td>
<td style="">[[priority-the-content]]</td> <td>[[priority-the-content]]</td>
<td style="white-space: nowrap;"><a href="[[url-the-content]]" target="_blank">[[url-the-content]]</a></td> <td><a href="[[url-the-content]]" target="_blank">[[url-the-content]]</a></td>
</tr> </tr>
<tr> <tr>
<td style="width: 220px !important;">[[label-the-excerpt]]</td> <td>[[label-the-excerpt]]</td>
<td style="width: 65px !important;">[[the-excerpt]]</td> <td>[[the-excerpt]]</td>
<td style=""></td> <td>[[priority-the-excerpt]]</td>
<td style="white-space: nowrap;"><a href="[[url-the-excerpt]]" target="_blank">[[url-the-excerpt]]</a></td> <td><a href="[[url-the-excerpt]]" target="_blank">[[url-the-excerpt]]</a></td>
</tr> </tr>
<tr> <tr>
<td style="width: 220px !important;">[[label-widget-title]]</td> <td>[[label-widget-title]]</td>
<td style="width: 65px !important;">[[widget-title]]</td> <td>[[widget-title]]</td>
<td style=""></td> <td>[[priority-widget-title]]</td>
<td style="white-space: nowrap;"><a href="[[url-widget-title]]" target="_blank">[[url-widget-title]]</a></td> <td><a href="[[url-widget-title]]" target="_blank">[[url-widget-title]]</a></td>
</tr> </tr>
<tr> <tr>
<td style="width: 220px !important;">[[label-widget-text]]</td> <td>[[label-widget-text]]</td>
<td style="width: 65px !important;">[[widget-text]]</td> <td>[[widget-text]]</td>
<td style=""></td> <td>[[priority-widget-text]]</td>
<td style="white-space: nowrap;"><a href="[[url-widget-text]]" target="_blank">[[url-widget-text]]</a></td> <td><a href="[[url-widget-text]]" target="_blank">[[url-widget-text]]</a></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View file

@ -55,7 +55,7 @@
jQuery('html, body').animate({ jQuery('html, body').animate({
scrollTop: l_obj_Target.offset().top - window.innerHeight * 0.20 scrollTop: l_obj_Target.offset().top - window.innerHeight * 0.20
}, },
380);/*speed*/ 380);/*duration*/
} }
} }
</script> </script>