diff options
author | Andrew Dolgov <[email protected]> | 2021-03-02 19:21:21 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2021-03-02 19:21:21 +0300 |
commit | ba86c64d38d9995d38af163ae4c51a42b21d5de7 (patch) | |
tree | 3180dba6d383a89e26e38a893170315344a8fb17 /classes | |
parent | 386316aba1b955f50502562e1308e02680ffe997 (diff) |
add digest preview button, also fix a bunch of bugs
Diffstat (limited to 'classes')
-rw-r--r-- | classes/digest.php | 16 | ||||
-rw-r--r-- | classes/pref/prefs.php | 11 |
2 files changed, 17 insertions, 10 deletions
diff --git a/classes/digest.php b/classes/digest.php index 26ca5221f..2fea99344 100644 --- a/classes/digest.php +++ b/classes/digest.php @@ -78,7 +78,7 @@ class Digest Debug::log("All done."); } - static function prepare_headlines_digest($user_id, $days = 1, $limit = 1000) { + static function prepare_headlines_digest(int $user_id, int $days = 1, int $limit = 1000) { $tpl = new Templator(); $tpl_t = new Templator(); @@ -87,20 +87,22 @@ class Digest $tpl_t->readTemplateFromFile("digest_template.txt"); $user_tz_string = get_pref(Prefs::USER_TIMEZONE, $user_id); + + if ($user_tz_string == 'Automatic') + $user_tz_string = 'GMT'; + $local_ts = TimeHelper::convert_timestamp(time(), 'UTC', $user_tz_string); $tpl->setVariable('CUR_DATE', date('Y/m/d', $local_ts)); $tpl->setVariable('CUR_TIME', date('G:i', $local_ts)); - $tpl->setVariable('TTRSS_HOST', Config::get(Config::get(Config::SELF_URL_PATH))); + $tpl->setVariable('TTRSS_HOST', Config::get(Config::SELF_URL_PATH)); $tpl_t->setVariable('CUR_DATE', date('Y/m/d', $local_ts)); $tpl_t->setVariable('CUR_TIME', date('G:i', $local_ts)); - $tpl_t->setVariable('TTRSS_HOST', Config::get(Config::get(Config::SELF_URL_PATH))); + $tpl_t->setVariable('TTRSS_HOST', Config::get(Config::SELF_URL_PATH)); $affected_ids = array(); - $days = (int) $days; - if (Config::get(Config::DB_TYPE) == "pgsql") { $interval_qpart = "ttrss_entries.date_updated > NOW() - INTERVAL '$days days'"; } else /* if (Config::get(Config::DB_TYPE) == "mysql") */ { @@ -131,9 +133,7 @@ class Digest AND score >= 0 ORDER BY ttrss_feed_categories.title, ttrss_feeds.title, score DESC, date_updated DESC LIMIT :limit"); - $sth->bindParam(':user_id', intval($user_id, 10), PDO::PARAM_INT); - $sth->bindParam(':limit', intval($limit, 10), PDO::PARAM_INT); - $sth->execute(); + $sth->execute([':user_id' => $user_id, ':limit' => $limit]); $headlines_count = 0; $headlines = array(); diff --git a/classes/pref/prefs.php b/classes/pref/prefs.php index eaf724199..1c5092167 100644 --- a/classes/pref/prefs.php +++ b/classes/pref/prefs.php @@ -664,6 +664,10 @@ class Pref_Prefs extends Handler_Protected { print \Controls\checkbox_tag($pref_name, $is_checked, "true", ["disabled" => $is_disabled], "CB_$pref_name"); + if ($pref_name == Prefs::DIGEST_ENABLE) { + print \Controls\button_tag(__('Preview'), '', ['onclick' => 'Helpers.Digest.preview()', 'style' => 'margin-left : 10px']); + } + } else if (in_array($pref_name, ['FRESH_ARTICLE_MAX_AGE', 'PURGE_OLD_DAYS', 'LONG_DATE_FORMAT', 'SHORT_DATE_FORMAT'])) { @@ -698,11 +702,10 @@ class Pref_Prefs extends Handler_Protected { "class" => "alt-info", "onclick" => "window.open('https://tt-rss.org/wiki/SSL%20Certificate%20Authentication')"]); - } else if ($pref_name == 'DIGEST_PREFERRED_TIME') { + } else if ($pref_name == Prefs::DIGEST_PREFERRED_TIME) { print "<input dojoType=\"dijit.form.ValidationTextBox\" id=\"$pref_name\" regexp=\"[012]?\d:\d\d\" placeHolder=\"12:00\" name=\"$pref_name\" value=\"$value\">"; - $item['help_text'] .= ". " . T_sprintf("Current server time: %s", date("H:i")); } else { $regexp = ($type_hint == Config::T_INT) ? 'regexp="^\d*$"' : ''; @@ -1408,6 +1411,10 @@ class Pref_Prefs extends Handler_Protected { $this->appPasswordList(); } + function previewDigest() { + print json_encode(Digest::prepare_headlines_digest($_SESSION["uid"], 1, 16)); + } + static function _get_ssl_certificate_id() { if ($_SERVER["REDIRECT_SSL_CLIENT_M_SERIAL"] ?? false) { return sha1($_SERVER["REDIRECT_SSL_CLIENT_M_SERIAL"] . |