$l_arr_MetaBoxes[]=$this->addMetaBox("settings","start-end",__("Footnote start and end short codes",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),"StartEnd");
$l_arr_MetaBoxes[]=$this->addMetaBox("customize","superscript",__("Referrer typesetting and formatting",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),"Superscript");
$l_arr_MetaBoxes[]=$this->addMetaBox("expert","lookup",__("WordPress hooks with priority level",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),"LookupHooks");
$l_arr_MetaBoxes[]=$this->addMetaBox("how-to","help",__("Brief introduction in how to use the plugin",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),"Help");
$l_arr_MetaBoxes[]=$this->addMetaBox("how-to","donate",__("Help us to improve our Plugin",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),"Donate");
"label-element"=>$this->addLabel(MCI_Footnotes_Settings::C_STR_REFERENCE_CONTAINER_LABEL_ELEMENT,__("Heading’s HTML element:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"label-border"=>$this->addLabel(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_LABEL_BOTTOM_BORDER,__("Border under the heading:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"label-collapse"=>$this->addLabel(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_COLLAPSE,__("Collapse by default:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-position"=>sprintf(__("To use the position shortcode, please set the position to: %s",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),'<span style="font-style: normal;">'.__("at the end of the post",MCI_Footnotes_Config::C_STR_PLUGIN_NAME).'</span>'),
"notice-shortcode"=>__("If present in the content, any shortcode in this text box will be replaced with the reference container.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"label-startpage"=>$this->addLabel(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_START_PAGE_ENABLE,__("Display on start page too:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-page-layout"=>__("Most themes don’t need this fix.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"label-url-wrap"=>$this->addLabel(MCI_Footnotes_Settings::C_BOOL_FOOTNOTE_URL_WRAP_ENABLED,__("Allow URLs to line-wrap anywhere:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-url-wrap"=>__("Unicode-conformant browsers don’t need this fix.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"label-symbol"=>$this->addLabel(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_BACKLINK_SYMBOL_ENABLE,__("Display a backlink symbol:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-symbol"=>__("Please choose or input the symbol at the top of the next dashboard tab.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"label-switch"=>$this->addLabel(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_BACKLINK_SYMBOL_SWITCH,__("Symbol appended, not prepended:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"label-3column"=>$this->addLabel(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_3COLUMN_LAYOUT_ENABLE,__("Backlink symbol in an extra column:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-3column"=>__("This legacy layout is available if identical footnotes are not combined.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"label-row-borders"=>$this->addLabel(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_ROW_BORDERS_ENABLE,__("Borders around the table rows:",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)),
"notice-separator"=>__("Your input overrides the selection.",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)),
"notice-width"=>__("Absolute width in pixels doesn’t need to be accurate to the tenth, but relative width in rem or em may.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"label-max-width"=>$this->addLabel(MCI_Footnotes_Settings::C_BOOL_BACKLINKS_COLUMN_MAX_WIDTH_ENABLED,__("Set backlinks column maximum width:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-max-width"=>__("Absolute width in pixels doesn’t need to be accurate to the tenth, but relative width in rem or em may.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"label-line-break"=>$this->addLabel(MCI_Footnotes_Settings::C_BOOL_BACKLINKS_LINE_BREAKS_ENABLED,__("Stack backlinks when enumerating:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-line-break"=>__("This option adds a line break before each added backlink when identical footnotes are combined.",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)),
"notice-link"=>__("The link element is needed to apply the theme’s link color.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"description-link"=>__("If the link element is not desired for styling, a simple span is used instead when the above is set to No. The link addresses have been removed. Else footnote clicks are logged in the browsing history and make the back button unusable.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"description-escapement"=>__("WARNING: Short codes with closing pointy brackets are disabled in the new WordPress Block Editor that disrupts the traditional balanced escapement applied by WordPress Classic Editor.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"label-short-code-start"=>$this->addLabel(MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_START,__("Footnote start tag short code:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"label-short-code-end"=>$this->addLabel(MCI_Footnotes_Settings::C_STR_FOOTNOTES_SHORT_CODE_END,__("Footnote end tag short code:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"description-parentheses"=>__("WARNING: Although widespread industry standard, the double parentheses are problematic because they may occur in scripts embedded in the content and be mistaken as a short code.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
// option to enable syntax validation, label mirrored in task.php:
"label-syntax"=>$this->addLabel(MCI_Footnotes_Settings::C_BOOL_FOOTNOTE_SHORTCODE_SYNTAX_VALIDATION_ENABLE,__("Check for balanced shortcodes:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-syntax"=>__("In the presence of a lone start tag shortcode, a warning displays below the post title.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"description-syntax"=>__("If the start tag short code is ‘((’ or ‘(((’, it will not be reported as unbalanced if the following string contains braces hinting that it is a script.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
)
);
// display template with replaced placeholders
echo$l_obj_Template->getContent();
}
publicfunctionNumbering(){
// define some space for the output
$l_str_Space=" ";
// options for the combination of identical footnotes
"notice-identical"=>__("This option may require copy-pasting footnotes in multiple instances.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
// Support for Ibid. notation added thanks to @meglio in <https://wordpress.org/support/topic/add-support-for-ibid-notation/>.
"description-identical"=>__("Even when footnotes are combined, footnote numbers keep incrementing. This avoids suboptimal referrer and backlink disambiguation using a secondary numbering system. The Ibid. notation and the op. cit. abbreviation followed by the current page number avoid repeating the footnote content. For changing sources, shortened citations may be used. Repeating full citations is also an opportunity to add details.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
)
);
// display template with replaced placeholders
echo$l_obj_Template->getContent();
}
publicfunctionScrolling(){
// options for enabling hard links for AMP compat:
"notice-scroll-duration"=>__("milliseconds; instantly if hard links are enabled and JavaScript is disabled",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
// enable hard links for AMP compat:
"label-hard-links"=>$this->addLabel(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_HARD_LINKS_ENABLE,__("Enable hard links:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-hard-links"=>__("Hard links are indispensable for AMP compatibility and allow to link to footnotes.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"label-footnote"=>$this->addLabel(MCI_Footnotes_Settings::C_STR_FOOTNOTE_FRAGMENT_ID_SLUG,__("Fragment identifier slug for footnotes:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-footnote"=>__("This will show up in the address bar after clicking on a hard-linked footnote referrer.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"label-referrer"=>$this->addLabel(MCI_Footnotes_Settings::C_STR_REFERRER_FRAGMENT_ID_SLUG,__("Fragment identifier slug for footnote referrers:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-separator"=>__("May be empty or any string, for example _, - or +, to distinguish post number, container number and footnote number.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"notice-backlink-tooltip-text"=>__("Default text is the keyboard shortcut, but you may wish to input a descriptive hint in your language.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"text-7"=>sprintf(__('This website uses the %s plugin.',MCI_Footnotes_Config::C_STR_PLUGIN_NAME),MCI_Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME),
// "This website uses the awesome Footnotes plugin."
"text-2"=>sprintf(__('This website uses the awesome %s plugin.',MCI_Footnotes_Config::C_STR_PLUGIN_NAME),MCI_Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME),
"random"=>__('randomly determined display of either mention',MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
// "No display of any “Footnotes love” mention in the footer"
"no"=>sprintf(__('no display of any “%1$s %2$s” mention in the footer',MCI_Footnotes_Config::C_STR_PLUGIN_NAME),MCI_Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME,MCI_Footnotes_Config::C_STR_LOVE_SYMBOL)
"label-love"=>$this->addLabel(MCI_Footnotes_Settings::C_STR_FOOTNOTES_LOVE,sprintf(__("Tell the world you’re using %s:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),MCI_Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME)),
"label-no-love"=>$this->addText(sprintf(__("Shortcode to inhibit the display of the %s mention on specific pages:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),MCI_Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME)),
"label-excerpts"=>$this->addLabel(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_IN_EXCERPT,__("Display footnotes in excerpts:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-excerpts"=>__("The recommended value is No.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
// In some themes, the Advanced Excerpt plugin is indispensable to display footnotes in excerpts.
"description-excerpts"=>sprintf(__("In some themes, the %s plugin is indispensable to display footnotes in excerpts. Footnotes cannot be disabled in excerpts. A workaround is to avoid footnotes in the first 55 words.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),'<a href="https://wordpress.org/plugins/advanced-excerpt/" target="_blank">Advanced Excerpt</a>'),
"label-superscript"=>$this->addLabel(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_REFERRER_SUPERSCRIPT_TAGS,__("Display footnote referrers in superscript:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"label-before"=>$this->addLabel(MCI_Footnotes_Settings::C_STR_FOOTNOTES_STYLING_BEFORE,__("At the start of the footnote referrers:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"label-after"=>$this->addLabel(MCI_Footnotes_Settings::C_STR_FOOTNOTES_STYLING_AFTER,__("At the end of the footnote referrers:",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)),
"notice-link"=>__("Please find this setting at the end of the reference container settings. The link element is needed to apply the theme’s link color.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"label-normalize"=>$this->addLabel(MCI_Footnotes_Settings::C_STR_FOOTNOTE_REFERRERS_NORMAL_SUPERSCRIPT,__("Normalize vertical alignment and font size:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-enable"=>__("Formatted text boxes allowing hyperlinks, displayed on mouse-over or tap and hold.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"label-alternative"=>$this->addLabel(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_ALTERNATIVE,__("Display alternative tooltips:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-alternative"=>__("Intended to work around a configuration-related tooltip outage.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
// The placeholder is the name of the plugin as logogram “footnotes”.
"description-alternative"=>sprintf(__("These alternative tooltips work around a website related jQuery UI outage. They are low-script but use the AMP incompatible onmouseover and onmouseout arguments, along with CSS transitions for fade-in/out. The very small script is inserted after Footnotes’ internal stylesheet. When this option is enabled, %s does not load jQuery UI nor jQuery Tools.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),'<span style="font-style: normal;">'.MCI_Footnotes_Config::C_STR_PLUGIN_PUBLIC_NAME.'</span>'),
"notice-offset-x"=>__("pixels; negative value for a leftwards offset; alternative tooltips: direction depends on position",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"notice-offset-y"=>__("pixels; negative value for an upwards offset; alternative tooltips: direction depends on position",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"notice-max-width"=>__("pixels; set to 0 for jQuery tooltips without max width; alternative tooltips are given the value in the second box as fixed width.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"label-truncation"=>$this->addLabel(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_ENABLED,__("Truncate the note in the tooltip:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"label-max-length"=>$this->addLabel(MCI_Footnotes_Settings::C_INT_FOOTNOTES_MOUSE_OVER_BOX_EXCERPT_LENGTH,__("Maximum number of characters in the tooltip:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"description-delimiter"=>__("Tooltips can display another content than the footnote entry in the reference container. The trigger is a shortcode in the footnote text separating the tooltip text from the note. That is consistent with what WordPress does for excerpts.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"label-delimiter"=>$this->addLabel(MCI_Footnotes_Settings::C_STR_FOOTNOTES_TOOLTIP_EXCERPT_DELIMITER,__("Delimiter for dedicated tooltip text:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-delimiter"=>__("If the delimiter shortcode is present, the tooltip text will be the part before it.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"label-mirror"=>$this->addLabel(MCI_Footnotes_Settings::C_BOOL_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_ENABLE,__("Mirror the tooltip in the reference container:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-mirror"=>__("Tooltips may be harder to use on mobiles. This option allows to read it in the reference container.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"label-separator"=>$this->addLabel(MCI_Footnotes_Settings::C_STR_FOOTNOTES_TOOLTIP_EXCERPT_MIRROR_SEPARATOR,__("Separator between tooltip text and footnote text:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-separator"=>__("May be a simple space, or a line break <br />, or any string in your language.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"description-mirror"=>__("Tooltips, even jQuery-driven, may be hard to consult on mobiles. This option allows to read the tooltip content in the reference container too.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"label-font-size"=>$this->addLabel(MCI_Footnotes_Settings::C_BOOL_MOUSE_OVER_BOX_FONT_SIZE_ENABLED,__("Set font size:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-color"=>sprintf(__("To use the current theme’s default text color: %s",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),__("Clear or leave empty.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-background"=>sprintf(__("To use the current theme’s default background color: %s",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),__("Clear or leave empty.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-border-color"=>sprintf(__("To use the current theme’s default border color: %s",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),__("Clear or leave empty.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-box-shadow-color"=>sprintf(__("To use the current theme’s default box shadow color: %s",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),__("Clear or leave empty.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"label-symbol"=>$this->addLabel(MCI_Footnotes_Settings::C_STR_HYPERLINK_ARROW,__("Select or input the backlink symbol:",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"notice-symbol"=>__("Your input overrides the selection.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"description-symbol"=>__("This symbol is used in the reference container. But this setting pre-existed under this tab and cannot be moved to another one.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"description-css"=>__('Custom CSS migrates to a dedicated tab. This text area is intended to keep your data safe, and the code remains valid while visible. Please copy-paste the content into the new text area under the new tab.',MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
// CSS classes are listed in the template.
// Localized notices are dropped to ease translators’ task.
"description-css"=>__('Custom CSS migrates to a dedicated tab. This text area is intended to keep your data safe, and the code remains valid while visible. Please copy-paste the content into the new text area below. Set Show legacy to No. Save twice.',MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"notice-show-legacy"=>__("Please set to No when you are done migrating, for the legacy Custom CSS containers to disappear.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
// The placeholder is the “Referrers and tooltips” settings tab name.
"description-show-legacy"=>sprintf(__('The legacy Custom CSS under the %s tab and its mirror here are emptied, and the select box saved as No, when the settings tab is saved while the settings container is not displayed.',MCI_Footnotes_Config::C_STR_PLUGIN_NAME),__("Referrers and tooltips",MCI_Footnotes_Config::C_STR_PLUGIN_NAME)),
"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"=>sprintf(__('For the_content, this figure must be lower than %1$d so that certain strings added by a plugin running at %1$d may not be mistaken as a footnote. This makes also sure that the reference container displays above a feature inserted by a plugin running at %2$d.',MCI_Footnotes_Config::C_STR_PLUGIN_NAME),99,1200),
"description-3"=>sprintf(__('%1$d is lowest priority, %2$d is highest. To set priority level to lowest, set it to %3$d, interpreted as %1$d, the constant %4$s.',MCI_Footnotes_Config::C_STR_PLUGIN_NAME),PHP_INT_MAX,0,-1,'PHP_INT_MAX'),
"description-4"=>__('The widget_text hook must be enabled either when footnotes are present in theme text widgets, or when Elementor accordions or toggles shall have a reference container per section. If they should not, this hook must be disabled.',MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"head-hook"=>__("WordPress hook function name",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),
"information"=>sprintf(__("For further information please check out our %ssupport forum%s on WordPress.org.",MCI_Footnotes_Config::C_STR_PLUGIN_NAME),'<a href="http://wordpress.org/support/plugin/footnotes" target="_blank" class="footnote_plugin">','</a>')
)
);
// call wp_head function to get the Styling of the mouse-over box