diff options
| author | Andrew Dolgov <fox@fakecake.org> | 2025-03-19 12:47:10 +0300 |
|---|---|---|
| committer | Andrew Dolgov <fox@fakecake.org> | 2025-03-19 12:47:10 +0300 |
| commit | 5dcb8db933f1e49526137a55638d26f4d8d2d182 (patch) | |
| tree | e5432bd79c1ba8f7ca9d716c82f3c8ab314d1746 /classes/Feeds.php | |
| parent | 5d6912005666f386eae04dafe408dce9e68b1c43 (diff) | |
allow setting update interval in subcribe to feed dialog
Diffstat (limited to 'classes/Feeds.php')
| -rw-r--r-- | classes/Feeds.php | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/classes/Feeds.php b/classes/Feeds.php index b336d4df2..7a81ec6c0 100644 --- a/classes/Feeds.php +++ b/classes/Feeds.php @@ -567,8 +567,16 @@ class Feeds extends Handler_Protected { } function subscribeToFeed(): void { + global $update_intervals; + + $local_update_intervals = $update_intervals; + $local_update_intervals[0] .= sprintf(" (%s)", $update_intervals[Prefs::get(Prefs::DEFAULT_UPDATE_INTERVAL, $_SESSION['uid'])]); + print json_encode([ - "cat_select" => \Controls\select_feeds_cats("cat") + "cat_select" => \Controls\select_feeds_cats("cat"), + "intervals" => [ + "update" => $local_update_intervals + ] ]); } @@ -981,8 +989,9 @@ class Feeds extends Handler_Protected { $need_auth = isset($_REQUEST['need_auth']); $login = $need_auth ? clean($_REQUEST['login']) : ''; $pass = $need_auth ? clean($_REQUEST['pass']) : ''; + $update_interval = (int) clean($_REQUEST['update_interval'] ?? 0); - $rc = Feeds::_subscribe($feed, $cat, $login, $pass); + $rc = Feeds::_subscribe($feed, $cat, $login, $pass, $update_interval); print json_encode(array("result" => $rc)); } @@ -1002,7 +1011,7 @@ class Feeds extends Handler_Protected { * 7 - Error while creating feed database entry. * 8 - Permission denied (ACCESS_LEVEL_READONLY). */ - static function _subscribe(string $url, int $cat_id = 0, string $auth_login = '', string $auth_pass = ''): array { + static function _subscribe(string $url, int $cat_id = 0, string $auth_login = '', string $auth_pass = '', int $update_interval = 0): array { $user = ORM::for_table("ttrss_users")->find_one($_SESSION['uid']); @@ -1067,6 +1076,7 @@ class Feeds extends Handler_Protected { 'auth_login' => (string)$auth_login, 'auth_pass' => (string)$auth_pass, 'update_method' => 0, + 'update_interval' => $update_interval, 'auth_pass_encrypted' => false, ]); @@ -2281,7 +2291,7 @@ class Feeds extends Handler_Protected { // Term '"foo bar baz"' becomes '(foo <-> bar <-> baz)' ("<->" meaning "immediately followed by"). if (preg_match('/\s+/', $k)) $k = '(' . preg_replace('/\s+/', ' <-> ', $k) . ')'; - + array_push($search_query_leftover, $not ? "!$k" : $k); } else { array_push($search_query_leftover, $not ? "-$k" : $k); |