From 1f2a7219054872d3cf968ac385a5f529db4a4333 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 13 Mar 2020 14:40:35 +0300 Subject: [PATCH] allow overriding built-in templates via templates.local --- classes/digest.php | 10 ++++----- classes/handler/public.php | 12 ++++------- classes/pref/prefs.php | 12 ++++------- classes/templator.php | 21 +++++++++++++++++++ .../af_comics/filters/af_comics_gocomics.php | 4 +--- .../filters/af_comics_gocomics_farside.php | 3 +-- plugins/auth_internal/init.php | 6 ++---- plugins/mail/init.php | 14 ++++++++----- plugins/mailto/init.php | 6 ++---- templates.local/index.html | 0 10 files changed, 48 insertions(+), 40 deletions(-) create mode 100644 classes/templator.php create mode 100644 templates.local/index.html diff --git a/classes/digest.php b/classes/digest.php index c9e9f24e7..9101b52f4 100644 --- a/classes/digest.php +++ b/classes/digest.php @@ -90,13 +90,11 @@ class Digest static function prepare_headlines_digest($user_id, $days = 1, $limit = 1000) { - require_once "lib/MiniTemplator.class.php"; + $tpl = new Templator(); + $tpl_t = new Templator(); - $tpl = new MiniTemplator; - $tpl_t = new MiniTemplator; - - $tpl->readTemplateFromFile("templates/digest_template_html.txt"); - $tpl_t->readTemplateFromFile("templates/digest_template.txt"); + $tpl->readTemplateFromFile("digest_template_html.txt"); + $tpl_t->readTemplateFromFile("digest_template.txt"); $user_tz_string = get_pref('USER_TIMEZONE', $user_id); $local_ts = convert_timestamp(time(), 'UTC', $user_tz_string); diff --git a/classes/handler/public.php b/classes/handler/public.php index 8c2700012..21430e6cc 100755 --- a/classes/handler/public.php +++ b/classes/handler/public.php @@ -5,8 +5,6 @@ class Handler_Public extends Handler { $limit, $offset, $search, $view_mode = false, $format = 'atom', $order = false, $orig_guid = false, $start_ts = false) { - require_once "lib/MiniTemplator.class.php"; - $note_style = "background-color : #fff7d5; border-width : 1px; ". "padding : 5px; border-style : dashed; border-color : #e7d796;". @@ -80,9 +78,9 @@ class Handler_Public extends Handler { if (!$feed_site_url) $feed_site_url = get_self_url_prefix(); if ($format == 'atom') { - $tpl = new MiniTemplator; + $tpl = new Templator(); - $tpl->readTemplateFromFile("templates/generated_feed.txt"); + $tpl->readTemplateFromFile("generated_feed.txt"); $tpl->setVariable('FEED_TITLE', $feed_title, true); $tpl->setVariable('VERSION', get_version(), true); @@ -1030,11 +1028,9 @@ class Handler_Public extends Handler { $resetpass_link = get_self_url_prefix() . "/public.php?op=forgotpass&hash=" . $resetpass_token . "&login=" . urlencode($login); - require_once "lib/MiniTemplator.class.php"; + $tpl = new Templator(); - $tpl = new MiniTemplator; - - $tpl->readTemplateFromFile("templates/resetpass_link_template.txt"); + $tpl->readTemplateFromFile("resetpass_link_template.txt"); $tpl->setVariable('LOGIN', $login); $tpl->setVariable('RESETPASS_LINK', $resetpass_link); diff --git a/classes/pref/prefs.php b/classes/pref/prefs.php index ac16b5971..475cd797f 100644 --- a/classes/pref/prefs.php +++ b/classes/pref/prefs.php @@ -213,11 +213,9 @@ class Pref_Prefs extends Handler_Protected { if ($old_email != $email) { $mailer = new Mailer(); - require_once "lib/MiniTemplator.class.php"; + $tpl = new Templator(); - $tpl = new MiniTemplator; - - $tpl->readTemplateFromFile("templates/mail_change_template.txt"); + $tpl->readTemplateFromFile("mail_change_template.txt"); $tpl->setVariable('LOGIN', $row["login"]); $tpl->setVariable('NEWMAIL', $email); @@ -1087,11 +1085,9 @@ class Pref_Prefs extends Handler_Protected { if ($row = $sth->fetch()) { $mailer = new Mailer(); - require_once "lib/MiniTemplator.class.php"; + $tpl = new Templator(); - $tpl = new MiniTemplator; - - $tpl->readTemplateFromFile("templates/otp_disabled_template.txt"); + $tpl->readTemplateFromFile("otp_disabled_template.txt"); $tpl->setVariable('LOGIN', $row["login"]); $tpl->setVariable('TTRSS_HOST', SELF_URL_PATH); diff --git a/classes/templator.php b/classes/templator.php new file mode 100644 index 000000000..3d270f837 --- /dev/null +++ b/classes/templator.php @@ -0,0 +1,21 @@ + $article_link, 'type' => 'text/html', 'followlocation' => false)); - require_once 'lib/MiniTemplator.class.php'; - $feed_title = htmlspecialchars($comic[1]); $site_url = htmlspecialchars($site_url); $article_link = htmlspecialchars($article_link); - $tpl = new MiniTemplator(); + $tpl = new Templator(); $tpl->readTemplateFromFile('templates/generated_feed.txt'); diff --git a/plugins/af_comics/filters/af_comics_gocomics_farside.php b/plugins/af_comics/filters/af_comics_gocomics_farside.php index 783907e17..71c5e0059 100644 --- a/plugins/af_comics/filters/af_comics_gocomics_farside.php +++ b/plugins/af_comics/filters/af_comics_gocomics_farside.php @@ -25,11 +25,10 @@ class Af_Comics_Gocomics_FarSide extends Af_ComicFilter { public function on_fetch($url) { if (preg_match("#^https?://www\.thefarside\.com#", $url)) { - require_once 'lib/MiniTemplator.class.php'; $article_link = htmlspecialchars("https://www.thefarside.com" . date('/Y/m/d')); - $tpl = new MiniTemplator(); + $tpl = new Templator(); $tpl->readTemplateFromFile('templates/generated_feed.txt'); diff --git a/plugins/auth_internal/init.php b/plugins/auth_internal/init.php index 8dbc37fb3..ad32d29b9 100644 --- a/plugins/auth_internal/init.php +++ b/plugins/auth_internal/init.php @@ -235,11 +235,9 @@ class Auth_Internal extends Plugin implements IAuthModule { if ($row = $sth->fetch()) { $mailer = new Mailer(); - require_once "lib/MiniTemplator.class.php"; + $tpl = new Templator(); - $tpl = new MiniTemplator; - - $tpl->readTemplateFromFile("templates/password_change_template.txt"); + $tpl->readTemplateFromFile("password_change_template.txt"); $tpl->setVariable('LOGIN', $row["login"]); $tpl->setVariable('TTRSS_HOST', SELF_URL_PATH); diff --git a/plugins/mail/init.php b/plugins/mail/init.php index e85053566..40d147fc9 100644 --- a/plugins/mail/init.php +++ b/plugins/mail/init.php @@ -92,18 +92,20 @@ class Mail extends Plugin { if ($row = $sth->fetch()) { $user_email = htmlspecialchars($row['email']); $user_name = htmlspecialchars($row['full_name']); + } else { + $user_name = ""; + $user_email = ""; } - if (!$user_name) $user_name = $_SESSION['name']; + if (!$user_name) + $user_name = $_SESSION['name']; print_hidden("from_email", "$user_email"); print_hidden("from_name", "$user_name"); - require_once "lib/MiniTemplator.class.php"; + $tpl = new Templator(); - $tpl = new MiniTemplator; - - $tpl->readTemplateFromFile("templates/email_article_template.txt"); + $tpl->readTemplateFromFile("email_article_template.txt"); $tpl->setVariable('USER_NAME', $_SESSION["name"], true); $tpl->setVariable('USER_EMAIL', $user_email, true); @@ -116,6 +118,8 @@ class Mail extends Plugin { if (count($ids) > 1) { $subject = __("[Forwarded]") . " " . __("Multiple articles"); + } else { + $subject = ""; } while ($line = $sth->fetch()) { diff --git a/plugins/mailto/init.php b/plugins/mailto/init.php index 421d5fd59..390984b71 100644 --- a/plugins/mailto/init.php +++ b/plugins/mailto/init.php @@ -29,11 +29,9 @@ class MailTo extends Plugin { $ids = explode(",", $_REQUEST['param']); $ids_qmarks = arr_qmarks($ids); - require_once "lib/MiniTemplator.class.php"; + $tpl = new Templator(); - $tpl = new MiniTemplator; - - $tpl->readTemplateFromFile("templates/email_article_template.txt"); + $tpl->readTemplateFromFile("email_article_template.txt"); $tpl->setVariable('USER_NAME', $_SESSION["name"], true); //$tpl->setVariable('USER_EMAIL', $user_email, true); diff --git a/templates.local/index.html b/templates.local/index.html new file mode 100644 index 000000000..e69de29bb