diff --git a/class/dashboard/subpage-main.php b/class/dashboard/subpage-main.php
index 0120ced..5b3eb88 100644
--- a/class/dashboard/subpage-main.php
+++ b/class/dashboard/subpage-main.php
@@ -557,7 +557,7 @@ class MCI_Footnotes_Layout_Settings extends MCI_Footnotes_LayoutEngine {
*
* Edited:
* @since 2.2.0 5 parts to address increased settings number
- * @since 2.2.5 added position settings container for the alternative tooltips
+ * @since 2.2.5 added position settings for the alternative tooltips
*/
public function MouseOverBox() {
// options for Yes/No select box:
diff --git a/class/settings.php b/class/settings.php
index 3089ae1..b4dac3f 100644
--- a/class/settings.php
+++ b/class/settings.php
@@ -26,7 +26,7 @@
* 2.2.2 Custom CSS settings container migration 2020-12-15T0709+0100
* 2.2.4 move backlink symbol selection under previous tab 2020-12-16T1256+0100
* 2.2.5 alternative tooltip position settings 2020-12-17T0907+0100
- * 2.2.5 options for reference container label element, thanks to @markhillyer 2020-12-18T1455+0100
+ * 2.2.5 options for reference container label element and bottom border, thanks to @markhillyer 2020-12-18T1455+0100
* @see
*
* Last modified: 2020-12-18T1632+0100
diff --git a/class/task.php b/class/task.php
index f47ae6d..cd8b35a 100644
--- a/class/task.php
+++ b/class/task.php
@@ -40,7 +40,7 @@
* 2.2.5 options for label element and label bottom border, thanks to @markhillyer 2020-12-18T1447+0100
* @see
*
- * Last modified: 2020-12-18T1627+0100
+ * Last modified: 2020-12-18T1751+0100
*/
// If called directly, abort:
@@ -168,8 +168,8 @@ class MCI_Footnotes_Task {
* 2.1.1 script for alternative tooltips
* 2.1.3 raise settings priority to override theme style sheets
* 2.1.4 tootip font size and backlink column width settings
- * 2.2.5 options for label element and label bottom border, thanks to @markhillyer 2020-12-18T1447+0100
- * @see
+ * 2.2.5 options for label element and label bottom border, thanks to @markhillyer 2020-12-18T1447+0100
+ * @see
*/
public function wp_head() {
@@ -179,14 +179,14 @@ class MCI_Footnotes_Task {
// display ref container on home page:
if (!MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_START_PAGE_ENABLE))) {
echo ".home .footnotes_reference_container { display: none; }\r\n";
- }
-
- // ref container label bottom border:
+ }
+
+ // ref container label bottom border:
if (MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_LABEL_BOTTOM_BORDER))) {
echo ".footnote_container_prepare > ";
- echo MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_REFERENCE_CONTAINER_LABEL_ELEMENT);
+ echo MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_STR_REFERENCE_CONTAINER_LABEL_ELEMENT);
echo " {border-bottom: 1px solid #aaaaaa !important;}\r\n";
- }
+ }
// ref container first column width and max-width:
$l_bool_ColumnWidthEnabled = MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_BACKLINKS_COLUMN_WIDTH_ENABLED));
@@ -528,7 +528,7 @@ class MCI_Footnotes_Task {
* Edited:
* @since 2.2.0 insert reference container at shortcode, thanks to @hamshe 2020-12-13T2057+0100
* @see
- *
+ *
* @since 2.2.5 delete unused position shortcode, when position is widget or footer, thanks to @hamshe 2020-12-18T1434+0100
* @see
*/
@@ -1106,7 +1106,7 @@ class MCI_Footnotes_Task {
// streamline:
$l_bool_CollapseDefault = MCI_Footnotes_Convert::toBool(MCI_Footnotes_Settings::instance()->get(MCI_Footnotes_Settings::C_BOOL_REFERENCE_CONTAINER_COLLAPSE));
-
+
// load 'templates/public/reference-container.html':
$l_obj_TemplateContainer = new MCI_Footnotes_Template(MCI_Footnotes_Template::C_STR_PUBLIC, "reference-container");
$l_obj_TemplateContainer->replace(
diff --git a/class/template.php b/class/template.php
index cc47091..1692ced 100644
--- a/class/template.php
+++ b/class/template.php
@@ -5,8 +5,14 @@
* @filesource
* @author Stefan Herndler
* @since 1.5.0 14.09.14 10:58
+ *
+ * Edited:
+ * @since 2.0.3 further minify template content
+ * @since 2.0.4 regex to delete multiple spaces
*
- * Last modified: 2020-11-01T0347+0100
+ * @since 2.3.0 support for custom templates 2020-12-19T0606+0100
+ *
+ * Last modified: 2020-12-19T0713+0100
*/
@@ -63,18 +69,32 @@ class MCI_Footnotes_Template {
* @param string $p_str_FileType Template file type (take a look on the Class constants).
* @param string $p_str_FileName Template file name inside the Template directory without the file extension.
* @param string $p_str_Extension Optional Template file extension (default: html)
+ *
+ * Edited:
+ * @since 2.0.3 further minify template content
+ * @since 2.0.4 regex to delete multiple spaces
+ *
+ * @since 2.3.0 support for custom templates 2020-12-19T0606+0100
*/
public function __construct($p_str_FileType, $p_str_FileName, $p_str_Extension = "html") {
// no template file type and/or file name set
if (empty($p_str_FileType) || empty($p_str_FileName)) {
return;
}
- // get absolute path to the specified template file
- $l_str_TemplateFile = dirname(__FILE__) . "/../templates/" . $p_str_FileType . "/" . $p_str_FileName . "." . $p_str_Extension;
- // Template file does not exist
+
+ // First look for a custom template:
+
+ $l_str_TemplateFile = dirname(__FILE__) . "/../../footnotes-custom/templates/" . $p_str_FileType . "/" . $p_str_FileName . "." . $p_str_Extension;
if (!file_exists($l_str_TemplateFile)) {
- return;
+
+ // get absolute path to the specified template file
+ $l_str_TemplateFile = dirname(__FILE__) . "/../templates/" . $p_str_FileType . "/" . $p_str_FileName . "." . $p_str_Extension;
+ // Template file does not exist
+ if (!file_exists($l_str_TemplateFile)) {
+ return;
+ }
}
+
// get Template file content
$this->a_str_OriginalContent = str_replace("\n", "", file_get_contents($l_str_TemplateFile));
$this->a_str_OriginalContent = str_replace("\r", "", $this->a_str_OriginalContent);
diff --git a/footnotes.php b/footnotes.php
index 34dabc6..2c2b76d 100755
--- a/footnotes.php
+++ b/footnotes.php
@@ -4,12 +4,12 @@
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.
Author: Mark Cheret
- Version: 2.2.5
+ Version: 2.3.0d0
Author URI: http://cheret.de/plugins/footnotes-2/
Text Domain: footnotes
Domain Path: /languages
*/
-define( 'FOOTNOTES_VERSION', '2.2.5' );
+define( 'FOOTNOTES_VERSION', '2.3.0d0' );
/*
Copyright 2020 Mark Cheret (email: mark@cheret.de)
diff --git a/readme.txt b/readme.txt
index efc26e5..d111220 100755
--- a/readme.txt
+++ b/readme.txt
@@ -80,6 +80,9 @@ Visit this swift write-up from a **footnotes** user by the name of **Southwest**
== Changelog ==
+= 2.3.0d0 =
+- Add: Customization: support for custom templates
+
= 2.2.5 =
- Add: Dashboard: Footnotes numbering: add support for Ibid. notation in suggestions for guidance, thanks to @meglio
- Add: Reference container: support options for label element and label bottom border, thanks to @markhillyer
diff --git a/templates/note-for-developers.txt b/templates/note-for-developers.txt
new file mode 100644
index 0000000..74b7b93
--- /dev/null
+++ b/templates/note-for-developers.txt
@@ -0,0 +1,23 @@
+note-for-developers.txt
+2020-12-19T0609+0100
+Last modified: 2020-12-19T0706+0100
+
+Footnotes plugin for WordPress, v2.3.0 and later
+
+Support for custom templates
+‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
+
+Since v2.3.0, Footnotes can process custom templates.
+
+To use custom templates, please make a sibling of the "footnotes" folder called "footnotes-custom" containing just the content of templates/public/ with the same structure.
+
+Existing homonymous templates on the path wp-content/plugins/footnotes-custom/templates/public/ are loaded instead of their counterparts in wp-content/plugins/footnotes/templates/public/.
+
+The new location does not need to contain all templates.
+E.g. for custom tooltips, you need only one or both of these:
+
+footnotes-custom
+└── templates
+ └── public
+ ├── footnote.html
+ └── tooltip.html