sunc trunk with stable tag

git-svn-id: https://plugins.svn.wordpress.org/footnotes/trunk@2412193 b8457f37-d9ea-0310-8a92-e5e31aec5664
This commit is contained in:
pewgeuges 2020-11-04 05:49:46 +00:00
parent ba4338221d
commit 969b4c0946
10 changed files with 496 additions and 575 deletions

View file

@ -10,9 +10,8 @@
* *
* Edited for v2.0.0: Added jQueryUI from CDN 2020-10-26T1907+0100 * Edited for v2.0.0: Added jQueryUI from CDN 2020-10-26T1907+0100
* Edited for v2.0.3: Added style sheet versioning 2020-10-29T1413+0100 * Edited for v2.0.3: Added style sheet versioning 2020-10-29T1413+0100
* Edited for v2.0.4: Enqueuing settings.css 2020-11-01T0317+0100
* Edited for v2.0.4: Added jQuery UI from WordPress 2020-11-01T1902+0100 * Edited for v2.0.4: Added jQuery UI from WordPress 2020-11-01T1902+0100
*
* Last modified: 2020-11-03T1622+0100
*/ */
@ -65,14 +64,6 @@ class MCI_Footnotes {
* *
* @author Stefan Herndler * @author Stefan Herndler
* @since 1.5.0 * @since 1.5.0
*
* Edited for 1.6.5: replaced deprecated function create_function()
*
* Contributed by Felipe Lavín Z. Thankfully acknowledged.
*
* Deprecated in PHP 7.2
* See <https://wordpress.org/support/topic/deprecated-in-php-7-2-function-create_function-is-deprecated/>
* See also: <https://wordpress.org/support/topic/deprecated-function-create_function-14/>
*/ */
public function initializeWidgets() { public function initializeWidgets() {
register_widget("MCI_Footnotes_Widget_ReferenceContainer"); register_widget("MCI_Footnotes_Widget_ReferenceContainer");
@ -114,8 +105,9 @@ class MCI_Footnotes {
public function registerPublic() { public function registerPublic() {
// add the jQuery plugin (already registered by WordPress) // add the jQuery plugin (already registered by WordPress)
wp_enqueue_script( 'jquery' ); wp_enqueue_script('jquery');
// Add jQueryUI: 'no need to enqueue -core, because dependencies are set'
// Add jQueryUI: 'no need to enqueue -core, because dependancies are set'
wp_enqueue_script( 'jquery-ui-widget' ); wp_enqueue_script( 'jquery-ui-widget' );
wp_enqueue_script( 'jquery-ui-mouse' ); wp_enqueue_script( 'jquery-ui-mouse' );
wp_enqueue_script( 'jquery-ui-accordion' ); wp_enqueue_script( 'jquery-ui-accordion' );
@ -126,6 +118,7 @@ class MCI_Footnotes {
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__));
// IMPORTANT: up-to-date plugin version number for cache busting. // IMPORTANT: up-to-date plugin version number for cache busting.
wp_enqueue_style('mci-footnotes-css-public', plugins_url('../css/public.css', __FILE__), '', '2.0.6'); wp_enqueue_style('mci-footnotes-css-public', plugins_url('../css/public.css', __FILE__), '', '2.0.4');
wp_enqueue_style('mci-footnotes-css-settings', plugins_url('../css/settings.css', __FILE__), '', '2.0.4');
} }
} }

View file

@ -6,7 +6,7 @@
* @author Stefan Herndler * @author Stefan Herndler
* @since 1.5.0 14.09.14 10:43 * @since 1.5.0 14.09.14 10:43
* *
* Edited for v2.0.4 2020-11-02T2115+0100 * Edited for v2.0.4 2020-11-01T0333+0100
*/ */
@ -407,15 +407,13 @@ class MCI_Footnotes_Settings {
self::C_STR_HYPERLINK_ARROW_USER_DEFINED => '', self::C_STR_HYPERLINK_ARROW_USER_DEFINED => '',
self::C_STR_CUSTOM_CSS => '' self::C_STR_CUSTOM_CSS => ''
), ),
// These should all be enabled by default.
// See <https://wordpress.org/support/topic/more-feature-ideas/>
"footnotes_storage_expert" => array( "footnotes_storage_expert" => array(
self::C_BOOL_EXPERT_LOOKUP_THE_TITLE => 'yes', self::C_BOOL_EXPERT_LOOKUP_THE_TITLE => '',
self::C_BOOL_EXPERT_LOOKUP_THE_CONTENT => 'yes', self::C_BOOL_EXPERT_LOOKUP_THE_CONTENT => 'yes',
self::C_BOOL_EXPERT_LOOKUP_THE_EXCERPT => 'yes', self::C_BOOL_EXPERT_LOOKUP_THE_EXCERPT => 'yes',
self::C_BOOL_EXPERT_LOOKUP_WIDGET_TITLE => 'yes', self::C_BOOL_EXPERT_LOOKUP_WIDGET_TITLE => '',
self::C_BOOL_EXPERT_LOOKUP_WIDGET_TEXT => 'yes', self::C_BOOL_EXPERT_LOOKUP_WIDGET_TEXT => 'yes',
self::C_BOOL_EXPERT_LOOKUP_THE_POST => 'yes' self::C_BOOL_EXPERT_LOOKUP_THE_POST => ''
) )
); );

View file

@ -7,8 +7,7 @@
* @since 1.5.0 * @since 1.5.0
* *
* Edited for v2.0.0 and following. * Edited for v2.0.0 and following.
* * Last modified 2020-11-01T0342+0100
* Last modified 2020-11-04T0505+0100
*/ */
// If called directly, abort: // If called directly, abort:
@ -54,46 +53,31 @@ class MCI_Footnotes_Task {
* *
* @author Stefan Herndler * @author Stefan Herndler
* @since 1.5.0 * @since 1.5.0
*
* Edited for v2.0.5 2020-11-02T0330+0100
* Edited for v2.0.6 2020-11-04T0504+0100
*
* Explicitly setting all priority to default "10" instead of lowest "PHP_INT_MAX",
* especially for the_content, makes the footnotes reference container display
* beneath the content and above other features added by other plugins.
* Although the default, 10 seems to suffice.
* Requested by users: <https://wordpress.org/support/topic/change-the-position-5/>
* Documentation: <https://codex.wordpress.org/Plugin_API/#Hook_in_your_Filter>
*
* Still need to assess priority levels, see bug reported in:
* <https://wordpress.org/support/topic/change-the-position-5/#post-13612697>
*
* Rolled back in v2.0.6.
*/ */
public function registerHooks() { public function registerHooks() {
// 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);
// append the love and share me slug to the footer // append the love and share me slug to the footer
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"), 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"),PHP_INT_MAX); add_filter('the_content', array($this, "the_content"), PHP_INT_MAX);
} }
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"), PHP_INT_MAX);
} }
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"), PHP_INT_MAX);
} }
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"), PHP_INT_MAX);
} }
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_POST))) { if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_EXPERT_LOOKUP_THE_POST))) {
add_filter('the_post', array($this, "the_post"),PHP_INT_MAX); add_filter('the_post', array($this, "the_post"), PHP_INT_MAX);
} }
// reset stored footnotes when displaying the header // reset stored footnotes when displaying the header
self::$a_arr_Footnotes = array(); self::$a_arr_Footnotes = array();
@ -392,8 +376,7 @@ class MCI_Footnotes_Task {
if (is_int($l_int_MaxLength) && strlen($l_str_DummyText) > $l_int_MaxLength) { if (is_int($l_int_MaxLength) && strlen($l_str_DummyText) > $l_int_MaxLength) {
$l_str_ExcerptText = substr($l_str_DummyText, 0, $l_int_MaxLength); $l_str_ExcerptText = substr($l_str_DummyText, 0, $l_int_MaxLength);
$l_str_ExcerptText = substr($l_str_ExcerptText, 0, strrpos($l_str_ExcerptText, ' ')); $l_str_ExcerptText = substr($l_str_ExcerptText, 0, strrpos($l_str_ExcerptText, ' '));
// Removed hyperlink navigation on user request, but left <a> element for style. $l_str_ExcerptText .= '&nbsp;&#x2026; ' . sprintf(__("%scontinue%s", MCI_Footnotes_Config::C_STR_PLUGIN_NAME), '<a class="continue" href="#footnote_plugin_reference_' . self::$a_str_Prefix.$l_str_Index . '" onclick="footnote_moveToAnchor(\'footnote_plugin_reference_' . self::$a_str_Prefix . $l_str_Index . '\');">', '</a>');
$l_str_ExcerptText .= '&nbsp;&#x2026; ' . sprintf(__("%scontinue%s", MCI_Footnotes_Config::C_STR_PLUGIN_NAME), '<a class="continue" onclick="footnote_moveToAnchor(\'footnote_plugin_reference_' . self::$a_str_Prefix . $l_str_Index . '\');">', '</a>');
} }
} }
@ -449,11 +432,6 @@ class MCI_Footnotes_Task {
* @author Stefan Herndler * @author Stefan Herndler
* @since 1.5.0 * @since 1.5.0
* @return string * @return string
*
* Edited for v2.0.6: appended post ID to support autoload / infinite scroll.
* Requested by @docteurfitness: <https://wordpress.org/support/topic/auto-load-post-compatibility-update/>
* Related request: <https://wordpress.org/support/topic/infinite-scroll-does-not-work-anymore-in-wp-5-5/>
* 2020-11-04T0358+0100
*/ */
public function ReferenceContainer() { public function ReferenceContainer() {
// no footnotes has been replaced on this page // no footnotes has been replaced on this page
@ -523,7 +501,7 @@ class MCI_Footnotes_Task {
array( array(
"label" => MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_REFERENCE_CONTAINER_NAME), "label" => MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_REFERENCE_CONTAINER_NAME),
"button-style" => !MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_COLLAPSE)) ? 'display: none;' : '', "button-style" => !MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_COLLAPSE)) ? 'display: none;' : '',
"id" => "footnote_references_container_" . get_the_id(), "id" => "footnote_references_container",
"style" => MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_COLLAPSE)) ? 'display: none;' : '', "style" => MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_COLLAPSE)) ? 'display: none;' : '',
"content" => $l_str_Body "content" => $l_str_Body
) )

View file

@ -4,9 +4,8 @@
* 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.0.6 * Version: 2.0.4
* * Last modified: 2020-11-01T0536+0100
* Last modified: 2020-11-04T0437+0100
*/ */
@ -38,6 +37,9 @@
*/ */
.footnote_plugin_tooltip_text { .footnote_plugin_tooltip_text {
vertical-align: top !important;
position: relative !important;
top: 0.6em !important;
cursor: pointer; cursor: pointer;
z-index: 1; z-index: 1;
} }
@ -61,7 +63,6 @@ span.footnote_tooltip {
font-style: italic; font-style: italic;
color: green; color: green;
text-decoration: none !important; text-decoration: none !important;
cursor: pointer;
} }
.continue:hover { .continue:hover {
color: blue; color: blue;
@ -71,6 +72,11 @@ span.footnote_tooltip {
/* Footnotes reference container /* Footnotes reference container
*/ */
.footnote-reference-container {
width: 100%;
border: none;
}
/* label */ /* label */
.footnote_container_prepare { .footnote_container_prepare {
display: block !important; display: block !important;
@ -110,29 +116,19 @@ span.footnote_tooltip {
color: #008800; color: #008800;
} }
/* Table starts here */ /* footnotes */
.footnote-reference-container {
width: 100%;
border: none;
}
/* footnotes
* class footnote_plugin_link is for backcompat.
* Used in reference-container-body.html
* See <https://wordpress.org/support/topic/change-the-position-5/#post-13617988>
.footnote_plugin_link, */
.footnote_plugin_index, .footnote_plugin_index,
.footnote_plugin_text { .footnote_plugin_text {
border:none !important; border:none !important;
text-align: left !important; text-align: left;
vertical-align: top !important; vertical-align: top;
padding: 10px 5px 5px 0 !important; padding: 10px 3px 5px 0;
} }
.footnote_plugin_index a, .footnote_plugin_index a,
.footnote_plugin_text a { .footnote_plugin_text a {
text-decoration: none !important; text-decoration: none;
} }
.footnote_plugin_index:hover, .footnote_plugin_index a:hover,
.footnote_plugin_text a:hover { .footnote_plugin_text a:hover {
text-decoration: underline !important; text-decoration: underline !important;
} }
@ -143,16 +139,10 @@ span.footnote_tooltip {
word-wrap: normal !important; word-wrap: normal !important;
word-break: unset; word-break: unset;
word-break: keep-all !important; word-break: keep-all !important;
max-width: 140px;
width: 1px; /*auto-extending column to fit widest*/
white-space: nowrap; white-space: nowrap;
max-width: 140px;
overflow: hidden; overflow: hidden;
} }
.footnote_plugin_text {
width: unset; /*unset width of text column to fix site issues*/
}
/* Responsive*/
@media only screen and (max-width: 768px) { @media only screen and (max-width: 768px) {
.footnote_plugin_index { .footnote_plugin_index {
max-width: 100px; max-width: 100px;
@ -162,15 +152,25 @@ span.footnote_tooltip {
/* Footnotes printing style rules /* Footnotes printing style rules
* *
* Printing a table, browsers tend to avoid page breaks, * Printing a table, browsers tend to avoid page breaks,
* but it takes a wrapper to avoid a page break before the table. * but it takes a wrapper to avoid a page break before the table
*
* UI elements (button, arrows) and link styling are removed.
*/ */
.footnote_container_overall_wrapper { .footnote_container_overall_wrapper {
page-break-inside: avoid; page-break-inside: avoid;
} }
.footnote_container_prepare {
page-break-after: avoid;
}
table.footnote_reference_container td {
display: block;
}
table.footnote_reference_container {
page-break-before: avoid;
page-break-inside: auto;
}
table.footnote_reference_container tr {
page-break-before: auto;
}
@media print { @media print {
.footnote_tooltip, .footnote_tooltip,
.footnote_reference_container_collapse_button_outfit, .footnote_reference_container_collapse_button_outfit,
@ -184,7 +184,7 @@ span.footnote_tooltip {
color: inherit; color: inherit;
text-decoration: none !important; text-decoration: none !important;
} }
div.post-meta-edit-link-wrapper { /* Edit button in WP2020*/ div.post-meta-edit-link-wrapper { /*hides the Edit button in WP2020*/
display: none; /*(added as a service)*/ display: none; /*(added as a service)*/
} }
} }

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.0.5 Version: 2.0.4
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.0.5 Stable Tag: 2.0.4
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,22 +80,8 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
== Changelog == == Changelog ==
= 2.0.5 =
- Bugfix: Input boxes on public pages
- Bugfix: Support for infinite scroll / autoload
- Bugfix: Public style sheet: Footnote referrers: deleted vertical align tweaks for cross-theme and user agent compatibility
- Bugfix: Public style sheet: Reference container: auto-extending column to fit widest, to fix display with short note texts
- Bugfix: Public style sheet: Reference container: IDs: slightly increased left padding
- Bugfix: Layout: Fixed reference container position through priority level (10)
- Bugfix: Get references container close to content, not below all other features
- Bugfix: Public style sheet: Reference container: unset width of text column to fix site issues
- Update: Enable all hooks by default to prevent footnotes from seeming broken in post titles
- Bugfix: Restore cursor shape pointer over 'Continue reading' button after hyperlink removal
= 2.0.4 = = 2.0.4 =
- Update: Restored arrow settings to customize or disable the now prepended arrow symbol - Update: Restored arrow settings to customize or disable the now prepended arrow symbol
- Update: GDPR: Added jQuery UI from WordPress instead of third party
- Bugfix: UX: Removed hyperlink addresses from referrers and backlinks wrt browsing history
- Bugfix: Reference container: layout: removed inconvenient left/right cellpadding - Bugfix: Reference container: layout: removed inconvenient left/right cellpadding
- Bugfix: Tooltip infobox: improved layout with inherited font size by lower line height - Bugfix: Tooltip infobox: improved layout with inherited font size by lower line height
- Bugfix: Tooltip infobox: 'Continue reading' button: disabled default underline - Bugfix: Tooltip infobox: 'Continue reading' button: disabled default underline

View file

@ -1,13 +1,2 @@
<a <a href="#footnote_plugin_reference_[[id]]"><sup id="footnote_plugin_tooltip_[[id]]" class="footnote_plugin_tooltip_text" onclick="footnote_moveToAnchor('footnote_plugin_reference_[[id]]');">[[before]][[index]][[after]]</sup></a>
><sup <span class="footnote_tooltip" id="footnote_plugin_tooltip_text_[[id]]">[[text]]</span>
id="footnote_plugin_tooltip_[[id]]"
class="footnote_plugin_tooltip_text"
onclick="footnote_moveToAnchor('footnote_plugin_reference_[[id]]');"
>[[before]][[index]][[after]]</sup
></a
>
<span
class="footnote_tooltip"
id="footnote_plugin_tooltip_text_[[id]]"
>[[text]]</span
>

View file

@ -1,15 +1,4 @@
<tr> <tr>
<td <td class="footnote_plugin_index" id="footnote_plugin_reference_[[id]]" onclick="footnote_moveToAnchor('footnote_plugin_tooltip_[[id]]');"><a href="#footnote_plugin_tooltip_[[id]]"><span class="footnote_plugin_index_arrow">[[arrow]]&#x200A;</span>[[index]].</a></td>
class="footnote_plugin_index footnote_plugin_link" <td class="footnote_plugin_text">[[text]]</td>
id="footnote_plugin_reference_[[id]]"
onclick="footnote_moveToAnchor('footnote_plugin_tooltip_[[id]]');"
><a
><span
class="footnote_plugin_index_arrow"
>[[arrow]]&#x200A;</span
>[[index]].</a
></td>
<td
class="footnote_plugin_text"
>[[text]]</td>
</tr> </tr>

View file

@ -1,13 +1 @@
<script type="text/javascript"> <script type="text/javascript"> jQuery("#footnote_plugin_tooltip_[[id]]").tooltip({ tip: "#footnote_plugin_tooltip_text_[[id]]", tipClass: "footnote_tooltip", effect: "fade", predelay: 800, fadeInSpeed: 200, fadeOutSpeed: 2000, position: "[[position]]", relative: true, offset: [[[offset-y]], [[offset-x]]] }); </script>
jQuery('#footnote_plugin_tooltip_[[id]]').tooltip({
tip: '#footnote_plugin_tooltip_text_[[id]]',
tipClass: 'footnote_tooltip',
effect: 'fade',
predelay: 800,
fadeInSpeed: 200,
fadeOutSpeed: 2000,
position: '[[position]]',
relative: true,
offset: [[[offset - y]], [[offset - x]]],
});
</script>