development update 2.1.4d5 for assessment and sharing

git-svn-id: https://plugins.svn.wordpress.org/footnotes/trunk@2428366 b8457f37-d9ea-0310-8a92-e5e31aec5664
This commit is contained in:
pewgeuges 2020-11-30 06:17:43 +00:00
parent 043f2531ab
commit 56a9c0d2e1
12 changed files with 240 additions and 153 deletions

View file

@ -7,8 +7,9 @@
* @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 * 2.1.2 added version # of settings.css for cache busting 2020-11-19T1456+0100
* * 2.1.4 automated version number update 2020-11-30T0648+0100
* ############ Please update line 210 after changes to settings.css ############### *
* Last modified: 2020-11-30T0649+0100
*/ */
@ -207,9 +208,9 @@ abstract class MCI_Footnotes_LayoutEngine {
'mci-footnotes-admin-styles', 'mci-footnotes-admin-styles',
plugins_url('../../css/settings.css', __FILE__), plugins_url('../../css/settings.css', __FILE__),
'', '',
'2.1.4d4' FOOTNOTES_VERSION
); );
// UPDATE version # when making changes to settings.css, FOR CACHE BUSTING // automated update of version number for cache busting
// add stylesheet to the output // add stylesheet to the output

View file

@ -13,7 +13,7 @@
* 2.1.3 2020-11-24T0955+0100 * 2.1.3 2020-11-24T0955+0100
* 2.1.4 2020-11-28T1050+0100 * 2.1.4 2020-11-28T1050+0100
* *
* Last modified: 2020-11-28T1050+0100 * Last modified: 2020-11-30T0711+0100
*/ */
/** /**
@ -112,6 +112,9 @@ class MCI_Footnotes_Layout_Settings extends MCI_Footnotes_LayoutEngine {
* *
* @author Stefan Herndler * @author Stefan Herndler
* @since 1.5.0 * @since 1.5.0
*
* Completed:
* @since 2.1.4: layout and typography options 2020-11-30T0548+0100
*/ */
public function ReferenceContainer() { public function ReferenceContainer() {
// options for the positioning of the reference container // options for the positioning of the reference container
@ -120,15 +123,26 @@ class MCI_Footnotes_Layout_Settings extends MCI_Footnotes_LayoutEngine {
"post_end" => __("at the end of the post", MCI_Footnotes_Config::C_STR_PLUGIN_NAME), "post_end" => __("at the end of the post", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"widget" => __("in the widget area", MCI_Footnotes_Config::C_STR_PLUGIN_NAME) "widget" => __("in the widget area", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)
); );
// options for the separating punctuation between backlinks:
// Unicode names are conventionally uppercase.
$l_arr_Separators = array(
"comma" => __("COMMA", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"semicolon" => __("SEMICOLON", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"en_dash" => __("EN DASH", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)
);
// options for the terminating punctuation after backlinks:
// The Unicode name of RIGHT PARENTHESIS was originally more accurate because it is bidi-mirrored.
// The wrong names were enforced in spite of Unicode, that subsequently scrambled to correct.
$l_arr_Terminators = array(
"period" => __("FULL STOP", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"parenthesis" => __("CLOSING PARENTHESIS", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"colon" => __("COLON", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)
);
// options for Yes/No select box: // options for Yes/No select box:
$l_arr_Enabled = array( $l_arr_Enabled = array(
"yes" => __("Yes", MCI_Footnotes_Config::C_STR_PLUGIN_NAME), "yes" => __("Yes", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"no" => __("No", MCI_Footnotes_Config::C_STR_PLUGIN_NAME) "no" => __("No", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)
); );
// options for the punctuation used as separator or terminator:
$l_arr_Punctuation = array(
"none" => __("none", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
);
// load template file // load template file
$l_obj_Template = new MCI_Footnotes_Template(MCI_Footnotes_Template::C_STR_DASHBOARD, "settings-reference-container"); $l_obj_Template = new MCI_Footnotes_Template(MCI_Footnotes_Template::C_STR_DASHBOARD, "settings-reference-container");
@ -156,11 +170,17 @@ class MCI_Footnotes_Layout_Settings extends MCI_Footnotes_LayoutEngine {
"label-position" => $this->addLabel(MCI_Footnotes_Settings::C_STR_REFERENCE_CONTAINER_POSITION, __("Where shall the reference container appear", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)), "label-position" => $this->addLabel(MCI_Footnotes_Settings::C_STR_REFERENCE_CONTAINER_POSITION, __("Where shall the reference container appear", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"position" => $this->addSelectBox(MCI_Footnotes_Settings::C_STR_REFERENCE_CONTAINER_POSITION, $l_arr_Positions), "position" => $this->addSelectBox(MCI_Footnotes_Settings::C_STR_REFERENCE_CONTAINER_POSITION, $l_arr_Positions),
"label-separator" => $this->addLabel(MCI_Footnotes_Settings::C_STR_BACKLINKS_SEPARATOR, __("Separator to use when enumerating backlinks", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)), "label-separator" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_BACKLINKS_SEPARATOR_ENABLED, __("Add a separator when enumerating backlinks", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"separator" => $this->addSelectBox(MCI_Footnotes_Settings::C_STR_BACKLINKS_SEPARATOR, $l_arr_Punctuation), "separator-enable" => $this->addSelectBox(MCI_Footnotes_Settings::C_BOOL_BACKLINKS_SEPARATOR_ENABLED, $l_arr_Enabled),
"separator-options" => $this->addSelectBox(MCI_Footnotes_Settings::C_STR_BACKLINKS_SEPARATOR_OPTION, $l_arr_Separators),
"separator-custom" => $this->addTextBox(MCI_Footnotes_Settings::C_STR_BACKLINKS_SEPARATOR_CUSTOM),
"separator-comment" => __("Your input overrides the selection", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"label-terminator" => $this->addLabel(MCI_Footnotes_Settings::C_STR_BACKLINKS_TERMINATOR, __("Punctuation after a single backlink", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)), "label-terminator" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_BACKLINKS_TERMINATOR_ENABLED, __("Add a terminal punctuation to backlinks", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"terminator" => $this->addSelectBox(MCI_Footnotes_Settings::C_STR_BACKLINKS_TERMINATOR, $l_arr_Punctuation), "terminator-enable" => $this->addSelectBox(MCI_Footnotes_Settings::C_BOOL_BACKLINKS_TERMINATOR_ENABLED, $l_arr_Enabled),
"terminator-options" => $this->addSelectBox(MCI_Footnotes_Settings::C_STR_BACKLINKS_TERMINATOR_OPTION, $l_arr_Terminators),
"terminator-custom" => $this->addTextBox(MCI_Footnotes_Settings::C_STR_BACKLINKS_TERMINATOR_CUSTOM),
"terminator-comment" => __("Your input overrides the selection", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"label-linebreak" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_BACKLINKS_LINE_BREAKS_ENABLED, __("Stack backlinks when enumerating", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)), "label-linebreak" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_BACKLINKS_LINE_BREAKS_ENABLED, __("Stack backlinks when enumerating", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"linebreak" => $this->addSelectBox(MCI_Footnotes_Settings::C_BOOL_BACKLINKS_LINE_BREAKS_ENABLED, $l_arr_Enabled), "linebreak" => $this->addSelectBox(MCI_Footnotes_Settings::C_BOOL_BACKLINKS_LINE_BREAKS_ENABLED, $l_arr_Enabled),
@ -212,28 +232,27 @@ class MCI_Footnotes_Layout_Settings extends MCI_Footnotes_LayoutEngine {
// replace all placeholders // replace all placeholders
$l_obj_Template->replace( $l_obj_Template->replace(
array( array(
"label-identical" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_COMBINE_IDENTICAL_FOOTNOTES, __("Combine identical footnotes", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"identical" => $this->addSelectBox(MCI_Footnotes_Settings::C_BOOL_COMBINE_IDENTICAL_FOOTNOTES, $l_arr_CombineIdentical),
"label-short-code-start" => $this->addLabel(MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START, __("Footnote tag starts with", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)), "label-short-code-start" => $this->addLabel(MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START, __("Footnote tag starts with", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"short-code-start" => $this->addSelectBox(MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START, $l_arr_ShortCodeStart), "short-code-start" => $this->addSelectBox(MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START, $l_arr_ShortCodeStart),
"short-code-start-user" => $this->addTextBox(MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START_USER_DEFINED),
"label-short-code-end" => $this->addLabel(MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END, __("and ends with", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)), "label-short-code-end" => $this->addLabel(MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END, __("and ends with", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"short-code-end" => $this->addSelectBox(MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END, $l_arr_ShortCodeEnd), "short-code-end" => $this->addSelectBox(MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END, $l_arr_ShortCodeEnd),
"label-short-code-start-user" => $this->addLabel(MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START_USER_DEFINED, ""),
"short-code-start-user" => $this->addTextBox(MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START_USER_DEFINED),
"label-short-code-end-user" => $this->addLabel(MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END_USER_DEFINED, ""),
"short-code-end-user" => $this->addTextBox(MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END_USER_DEFINED), "short-code-end-user" => $this->addTextBox(MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END_USER_DEFINED),
"label-counter-style" => $this->addLabel(MCI_Footnotes_Settings::C_STR_FOOTNOTES_COUNTER_STYLE, __("Counter style", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)), // for script showing/hiding user defined text boxes:
"counter-style" => $this->addSelectBox(MCI_Footnotes_Settings::C_STR_FOOTNOTES_COUNTER_STYLE, $l_arr_CounterStyle),
"short-code-start-id" => MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START, "short-code-start-id" => MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START,
"short-code-end-id" => MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END, "short-code-end-id" => MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END,
"short-code-start-user-id" => MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START_USER_DEFINED, "short-code-start-user-id" => MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START_USER_DEFINED,
"short-code-end-user-id" => MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END_USER_DEFINED, "short-code-end-user-id" => MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END_USER_DEFINED,
"label-counter-style" => $this->addLabel(MCI_Footnotes_Settings::C_STR_FOOTNOTES_COUNTER_STYLE, __("Counter style", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"counter-style" => $this->addSelectBox(MCI_Footnotes_Settings::C_STR_FOOTNOTES_COUNTER_STYLE, $l_arr_CounterStyle),
// algorithmically combine identicals:
"label-identical" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_COMBINE_IDENTICAL_FOOTNOTES, __("Combine identical footnotes", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"identical" => $this->addSelectBox(MCI_Footnotes_Settings::C_BOOL_COMBINE_IDENTICAL_FOOTNOTES, $l_arr_CombineIdentical),
) )
); );
// display template with replaced placeholders // display template with replaced placeholders
@ -292,8 +311,12 @@ class MCI_Footnotes_Layout_Settings extends MCI_Footnotes_LayoutEngine {
array( array(
"label-link" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_LINK_ELEMENT_ENABLED, __("Use the link element for referrers and backlinks", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)), "label-link" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_LINK_ELEMENT_ENABLED, __("Use the link element for referrers and backlinks", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"link" => $this->addSelectBox(MCI_Footnotes_Settings::C_BOOL_LINK_ELEMENT_ENABLED, $l_arr_Enabled), "link" => $this->addSelectBox(MCI_Footnotes_Settings::C_BOOL_LINK_ELEMENT_ENABLED, $l_arr_Enabled),
"label-excerpt" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_IN_EXCERPT, __("Allow footnotes on Summarized Posts", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)), "label-excerpt" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_IN_EXCERPT, __("Allow footnotes on Summarized Posts", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"excerpt" => $this->addSelectBox(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_IN_EXCERPT, $l_arr_Enabled), "excerpt" => $this->addSelectBox(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_IN_EXCERPT, $l_arr_Enabled),
"excerpt-comment1" => __("This should be disabled, and the Advanced Excerpt plugin used instead.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"excerpt-comment2" => __("Footnotes cannot be disabled in excerpts. A workaround is to avoid footnotes in the first 55 words.", MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"label-expert-mode" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_EXPERT_MODE, __("Enable the Expert mode", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)), "label-expert-mode" => $this->addLabel(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_EXPERT_MODE, __("Enable the Expert mode", MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"expert-mode" => $this->addSelectBox(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_EXPERT_MODE, $l_arr_Enabled) "expert-mode" => $this->addSelectBox(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_EXPERT_MODE, $l_arr_Enabled)
) )

View file

@ -2,21 +2,18 @@
/** /**
* Includes the main Class of the Plugin. * Includes the main Class of the Plugin.
* *
* ******************************************************************************************************
* IMPORTANT: In registerPublic() line 163: Please keep plugin version # up to date for cache busting. *
* Also in class/dashboard/layout:210 for settings.css *
* ******************************************************************************************************
*
* @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
* *
* Edited for v1.6.5: Replaced deprecated function create_function() * Edited:
* Edited for v2.0.0: Added jQueryUI from Cloudflare 2020-10-26T1907+0100 * 1.6.5: Replaced deprecated function create_function()
* Edited for v2.0.3: Added style sheet versioning 2020-10-29T1413+0100 * 2.0.0: Added jQueryUI from Cloudflare 2020-10-26T1907+0100
* Edited for v2.0.4: Added jQuery UI from WordPress 2020-11-01T1902+0100 * 2.0.3: Added style sheet versioning 2020-10-29T1413+0100
* * 2.0.4: Added jQuery UI from WordPress 2020-11-01T1902+0100
* Continual update of version number for cache busting. * 2.1.4: Automated update of version number for cache busting 2020-11-30T0646+0100
*
* Last modified: 2020-11-30T0646+0100
*/ */
@ -155,12 +152,12 @@ class MCI_Footnotes {
//### STYLES //### STYLES
// IMPORTANT: up-to-date plugin version number NEEDED FOR CACHE BUSTING: // up-to-date plugin version number needed for cache busting:
wp_enqueue_style( wp_enqueue_style(
'mci-footnotes-css-public', 'mci-footnotes-css-public',
plugins_url('../css/public.css', __FILE__), plugins_url('../css/public.css', __FILE__),
'', '',
'2.1.4d4' FOOTNOTES_VERSION
); );
} }

View file

@ -407,13 +407,18 @@ class MCI_Footnotes_Settings {
* Settings Container Keys for backlink typography and layout * Settings Container Keys for backlink typography and layout
* *
* @since 2.1.4 * @since 2.1.4
* @var string * @var string|bool
* *
* 2020-11-26T1002+0100 * 2020-11-26T1002+0100
* 2020-11-30T0427+0100
*/ */
const C_BOOL_LINK_ELEMENT_ENABLED = "footnote_inputfield_link_element_enabled"; const C_BOOL_LINK_ELEMENT_ENABLED = "footnote_inputfield_link_element_enabled";
const C_STR_BACKLINKS_SEPARATOR = "footnotes_inputfield_backlinks_separator"; const C_BOOL_BACKLINKS_SEPARATOR_ENABLED = "footnotes_inputfield_backlinks_separator_enabled";
const C_STR_BACKLINKS_TERMINATOR = "footnotes_inputfield_backlinks_terminator"; const C_STR_BACKLINKS_SEPARATOR_OPTION = "footnotes_inputfield_backlinks_separator_option";
const C_STR_BACKLINKS_SEPARATOR_CUSTOM = "footnotes_inputfield_backlinks_separator_custom";
const C_BOOL_BACKLINKS_TERMINATOR_ENABLED = "footnotes_inputfield_backlinks_terminator_enabled";
const C_STR_BACKLINKS_TERMINATOR_OPTION = "footnotes_inputfield_backlinks_terminator_option";
const C_STR_BACKLINKS_TERMINATOR_CUSTOM = "footnotes_inputfield_backlinks_terminator_custom";
const C_BOOL_BACKLINKS_LINE_BREAKS_ENABLED = "footnotes_inputfield_backlinks_line_breaks_enabled"; const C_BOOL_BACKLINKS_LINE_BREAKS_ENABLED = "footnotes_inputfield_backlinks_line_breaks_enabled";
@ -463,11 +468,14 @@ class MCI_Footnotes_Settings {
self::C_BOOL_REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE => 'no', self::C_BOOL_REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE => 'no',
self::C_BOOL_REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH => 'no', self::C_BOOL_REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH => 'no',
// hex character reference and Unicode name (defined in all-caps): // backlink separators and terminators are often not preferred.
// self::C_STR_BACKLINKS_TERMINATOR => '. FULL STOP', // but a choice must be provided along with the ability to customize:
// self::C_STR_BACKLINKS_SEPARATOR => ', COMMA', self::C_BOOL_BACKLINKS_SEPARATOR_ENABLED => 'yes',
self::C_STR_BACKLINKS_SEPARATOR => 'none', self::C_STR_BACKLINKS_SEPARATOR_OPTION => 'comma',
self::C_STR_BACKLINKS_TERMINATOR => 'none', self::C_STR_BACKLINKS_SEPARATOR_CUSTOM => '',
self::C_BOOL_BACKLINKS_TERMINATOR_ENABLED => 'no',
self::C_STR_BACKLINKS_TERMINATOR_OPTION => 'full_stop',
self::C_STR_BACKLINKS_TERMINATOR_CUSTOM => '',
// whether a <br /> tag is inserted: // whether a <br /> tag is inserted:
self::C_BOOL_BACKLINKS_LINE_BREAKS_ENABLED => 'no', self::C_BOOL_BACKLINKS_LINE_BREAKS_ENABLED => 'no',

View file

@ -642,16 +642,51 @@ class MCI_Footnotes_Task {
/** /**
* BACKLINK TERMINATORS AND SEPARATORS * BACKLINK SEPARATOR
* *
* Initially a dot was appended in the table row template, and a comma for enumerations. * Initially a comma was appended in this algorithm for enumerations.
* @since 2.0.6 a dot after footnote numbers is discarded as not localizable; making it * The comma in enumerations is not generally preferred.
* optional was envisaged. The comma in enumerations is not generally preferred either. * @since 2.1.4 the separator is optional, has options, and is customizable:
*/ */
if (MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_BACKLINKS_SEPARATOR) == 'none') { // check if it is even enabled:
$l_str_Separator = ''; if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_BACKLINKS_SEPARATOR_ENABLED))) {
// if so, check if it is customized:
$l_str_Separator = MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_BACKLINKS_SEPARATOR_CUSTOM);
if (empty($l_str_Separator)) {
// if it is not, check which option is on:
$l_str_SeparatorOption = MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_BACKLINKS_SEPARATOR_OPTION);
switch ($l_str_SeparatorOption) {
case 'comma' : $l_str_Separator = ','; break;
case 'semicolon': $l_str_Separator = ';'; break;
case 'en_dash' : $l_str_Separator = '&nbsp;&#x2013;'; break;
}
}
} else {
$l_str_Separator = '';
} }
if (MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_BACKLINKS_TERMINATOR) == 'none') {
/**
* BACKLINK TERMINATOR
*
* Initially a dot was appended in the table row template.
* @since 2.0.6 a dot after footnote numbers is discarded as not localizable;
* making it optional was envisaged.
* @since 2.1.4 the terminator is optional, has options, and is customizable:
*/
// check if it is even enabled:
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_BACKLINKS_TERMINATOR_ENABLED))) {
// if so, check if it is customized:
$l_str_Terminator = MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_BACKLINKS_TERMINATOR_CUSTOM);
if (empty($l_str_Terminator)) {
// if it is not, check which option is on:
$l_str_TerminatorOption = MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_BACKLINKS_TERMINATOR_OPTION);
switch ($l_str_TerminatorOption) {
case 'period' : $l_str_Terminator = '.'; break;
case 'parenthesis': $l_str_Terminator = ')'; break;
case 'colon' : $l_str_Terminator = ':'; break;
}
}
} else {
$l_str_Terminator = ''; $l_str_Terminator = '';
} }
@ -667,7 +702,7 @@ class MCI_Footnotes_Task {
$l_str_LineBreak = MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_BACKLINKS_LINE_BREAKS_ENABLED)) ? '<br />' : ' '; $l_str_LineBreak = MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_BACKLINKS_LINE_BREAKS_ENABLED)) ? '<br />' : ' ';
/** /**
* For maintenance and support, table rows in the reference container should be * For maintenance and support, table rows in the reference container should be
* separated by an empty line. So we add these line breaks for source readability. * separated by an empty line. So we add these line breaks for source readability.
* Before the first table row (breaks between rows are ~200 lines below): * Before the first table row (breaks between rows are ~200 lines below):
*/ */

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.4d4 * Version: 2.1.4d5
* *
* Last modified: 2020-11-28T1051+0100 * Last modified: 2020-11-30T0712+0100
*/ */
@ -169,7 +169,6 @@ label
margin-bottom: 0.25em !important; margin-bottom: 0.25em !important;
padding: 0 !important; padding: 0 !important;
font-weight: normal !important; font-weight: normal !important;
overflow: hidden !important;
border-bottom: 1px solid #aaaaaa !important; border-bottom: 1px solid #aaaaaa !important;
display: block !important; display: block !important;
-webkit-margin-before: 0.83em !important; -webkit-margin-before: 0.83em !important;

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.4d4 * Version: 2.1.4d5
* *
* Last modified: 2020-11-28T1051+0100 * Last modified: 2020-11-30T0712+0100
*/ */
@ -53,6 +53,11 @@ On User Request: limited to a number of IDs to not affect all dashboards
width: 80% !important; width: 80% !important;
} }
#footnotes_inputfield_backlinks_terminator_option,
#footnotes_inputfield_backlinks_separator_option {
width: 200px;
}
textarea { textarea {
height: 250px; height: 250px;
} }

View file

@ -4,11 +4,12 @@
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.4d4 Version: 2.1.4d5
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( 'FOOTNOTES_VERSION', '2.1.4d5' );
/* /*
Copyright 2020 Mark Cheret (email: mark@cheret.de) Copyright 2020 Mark Cheret (email: mark@cheret.de)

View file

@ -80,6 +80,14 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
== Changelog == == Changelog ==
= 2.1.4d5
- Bugfix: Reference container: separating and terminating punctuation optional and customizable
- Bugfix: Reference container: Label: delete overflow hidden rule
- Bugfix: WordPress hooks: the_content: set priority to 1000 as a safeguard
- Bugfix: Dashboard: Footnotes main settings: fix layout, raise shortcodes to top
- Bugfix: Reference container: add quick note to the Excerpt select box
- Bugfix: Style sheet versioning for cache busting: automated safe mode compatible with security
= 2.1.4d4 = = 2.1.4d4 =
- Bugfix: Reference container: Backlinks: disable separators and terminators - Bugfix: Reference container: Backlinks: disable separators and terminators
- Bugfix: Reference container: Backlinks: optional line breaks to stack enumerations - Bugfix: Reference container: Backlinks: optional line breaks to stack enumerations

View file

@ -6,7 +6,9 @@
</tr> </tr>
<tr> <tr>
<td>[[label-excerpt]]</td> <td>[[label-excerpt]]</td>
<td>[[excerpt]]</td> <td>
[[excerpt]]<em>[[excerpt-comment1]]<br />[[excerpt-comment2]]</em>
</td>
</tr> </tr>
<tr> <tr>
<td>[[label-expert-mode]]</td> <td>[[label-expert-mode]]</td>

View file

@ -1,44 +1,54 @@
<table class="widefat fixed"> <table class="widefat fixed">
<tbody> <tbody>
<tr> <tr>
<td>[[label-name]]</td> <td>[[label-name]]</td>
<td>[[name]]</td> <td>[[name]]</td>
</tr> </tr>
<tr> <tr>
<td>[[label-collapse]]</td> <td>[[label-collapse]]</td>
<td>[[collapse]]</td> <td>[[collapse]]</td>
</tr> </tr>
<tr> <tr>
<td>[[label-3column]]</td> <td>[[label-3column]]</td>
<td>[[3column]]</td> <td>[[3column]]</td>
</tr> </tr>
<tr> <tr>
<td>[[label-symbol]]</td> <td>[[label-symbol]]</td>
<td>[[symbol]]</td> <td>[[symbol]]</td>
</tr> </tr>
<tr> <tr>
<td>[[label-switch]]</td> <td>[[label-switch]]</td>
<td>[[switch]]</td> <td>[[switch]]</td>
</tr> </tr>
<tr> <tr>
<td>[[label-terminator]]</td> <td>[[label-separator]]</td>
<td>[[terminator]]</td> <td>
</tr> [[separator-enable]]
<tr> [[separator-options]]
<td>[[label-separator]]</td> [[separator-custom]]
<td>[[separator]]</td> <em>[[separator-comment]]</em>
</tr> </td>
<tr> </tr>
<td>[[label-linebreak]]</td> <tr>
<td>[[linebreak]]</td> <td>[[label-terminator]]</td>
</tr> <td>
<tr> [[terminator-enable]]
<td>[[label-position]]</td> [[terminator-options]]
<td>[[position]]</td> [[terminator-custom]]
</tr> <em>[[terminator-comment]]</em>
<tr> </td>
<td>[[label-startpage]]</td> </tr>
<td>[[startpage]]</td> <tr>
</tr> <td>[[label-linebreak]]</td>
</tbody> <td>[[linebreak]]</td>
</tr>
<tr>
<td>[[label-position]]</td>
<td>[[position]]</td>
</tr>
<tr>
<td>[[label-startpage]]</td>
<td>[[startpage]]</td>
</tr>
</tbody>
</table> </table>

View file

@ -1,56 +1,54 @@
<table class="widefat fixed"> <table class="widefat fixed">
<tbody> <tbody>
<tr> <tr>
<td>[[label-identical]]</td> <td>[[label-short-code-start]]</td>
<td>[[identical]]</td> <td>
</tr> <span>[[short-code-start]]</span>
<tr> <span>[[short-code-start-user]]</span>
<td>[[label-short-code-start]]</td> </td>
<td>[[short-code-start]]</td> </tr>
</tr> <tr>
<tr> <td>[[label-short-code-end]]</td>
<td>[[label-short-code-end]]</td> <td>
<td>[[short-code-end]]</td> <span>[[short-code-end]]</span>
</tr> <span>[[short-code-end-user]]</span>
<tr> </td>
<td>[[label-short-code-start-user]]</td> </tr>
<td>[[short-code-start-user]]</td> <tr>
</tr> <td>[[label-counter-style]]</td>
<tr> <td>[[counter-style]]</td>
<td>[[label-short-code-end-user]]</td> </tr>
<td>[[short-code-end-user]]</td> <tr>
</tr> <td>[[label-identical]]</td>
<tr> <td>[[identical]]</td>
<td>[[label-counter-style]]</td> </tr>
<td>[[counter-style]]</td> </tbody>
</tr>
</tbody>
</table> </table>
<script type="text/javascript"> <script type="text/javascript">
var l_obj_ShortCodeStart = jQuery("#[[short-code-start-id]]"); var l_obj_ShortCodeStart = jQuery("#[[short-code-start-id]]");
var l_obj_ShortCodeEnd = jQuery("#[[short-code-end-id]]"); var l_obj_ShortCodeEnd = jQuery("#[[short-code-end-id]]");
var l_obj_ShortCodeStartUserDefined = jQuery("#[[short-code-start-user-id]]"); var l_obj_ShortCodeStartUserDefined = jQuery("#[[short-code-start-user-id]]");
var l_obj_ShortCodeEndUserDefined = jQuery("#[[short-code-end-user-id]]"); var l_obj_ShortCodeEndUserDefined = jQuery("#[[short-code-end-user-id]]");
function footnotes_Display_UserDefined_Placeholders() { function footnotes_Display_UserDefined_Placeholders() {
if (l_obj_ShortCodeStart.val() == "userdefined") { if (l_obj_ShortCodeStart.val() == "userdefined") {
l_obj_ShortCodeStartUserDefined.parent().parent().show(); l_obj_ShortCodeStartUserDefined.parent().show();
l_obj_ShortCodeEndUserDefined.parent().parent().show(); l_obj_ShortCodeEndUserDefined.parent().show();
} else { } else {
l_obj_ShortCodeStartUserDefined.parent().parent().hide(); l_obj_ShortCodeStartUserDefined.parent().hide();
l_obj_ShortCodeEndUserDefined.parent().parent().hide(); l_obj_ShortCodeEndUserDefined.parent().hide();
} }
} }
footnotes_Display_UserDefined_Placeholders(); footnotes_Display_UserDefined_Placeholders();
l_obj_ShortCodeStart.on('change', function() { l_obj_ShortCodeStart.on('change', function() {
var l_int_SelectedIndex = jQuery(this).prop("selectedIndex"); var l_int_SelectedIndex = jQuery(this).prop("selectedIndex");
jQuery('#[[short-code-end-id]] option:eq(' + l_int_SelectedIndex + ')').prop('selected', true); jQuery('#[[short-code-end-id]] option:eq(' + l_int_SelectedIndex + ')').prop('selected', true);
footnotes_Display_UserDefined_Placeholders(); footnotes_Display_UserDefined_Placeholders();
}); });
l_obj_ShortCodeEnd.on('change', function() { l_obj_ShortCodeEnd.on('change', function() {
var l_int_SelectedIndex = jQuery(this).prop("selectedIndex"); var l_int_SelectedIndex = jQuery(this).prop("selectedIndex");
jQuery('#[[short-code-start-id]] option:eq(' + l_int_SelectedIndex + ')').prop('selected', true); jQuery('#[[short-code-start-id]] option:eq(' + l_int_SelectedIndex + ')').prop('selected', true);
footnotes_Display_UserDefined_Placeholders(); footnotes_Display_UserDefined_Placeholders();
}); });
</script> </script>