]> git.wh0rd.org - tt-rss.git/blobdiff - classes/pref/feeds.php
feed editor: expose site_url for editing
[tt-rss.git] / classes / pref / feeds.php
index 5cd07b3efd7592720b04f24fe8f7f390f0ee03cc..03f82033fe7f2bb08da2fd399baffea5ea8f8fb9 100755 (executable)
@@ -69,7 +69,7 @@ class Pref_Feeds extends Handler_Protected {
                }
 
                $fsth = $this->pdo->prepare("SELECT id, title, last_error,
-                       ".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated
+                       ".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated, update_interval
                        FROM ttrss_feeds
                        WHERE cat_id = :cat AND 
                        owner_uid = :uid AND
@@ -90,6 +90,7 @@ class Pref_Feeds extends Handler_Protected {
                        $feed['icon'] = Feeds::getFeedIcon($feed_line['id']);
                        $feed['param'] = make_local_datetime(
                                $feed_line['last_updated'], true);
+                       $feed['updates_disabled'] = (int)($feed_line['update_interval'] < 0);
 
                        array_push($items, $feed);
                }
@@ -237,7 +238,7 @@ class Pref_Feeds extends Handler_Protected {
                        $cat['child_unread'] = 0;
 
                        $fsth = $this->pdo->prepare("SELECT id, title,last_error,
-                               ".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated
+                               ".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated, update_interval                              
                                FROM ttrss_feeds
                                WHERE cat_id IS NULL AND 
                                owner_uid = :uid AND
@@ -258,6 +259,7 @@ class Pref_Feeds extends Handler_Protected {
                                        $feed_line['last_updated'], true);
                                $feed['unread'] = 0;
                                $feed['type'] = 'feed';
+                               $feed['updates_disabled'] = (int)($feed_line['update_interval'] < 0);
 
                                array_push($cat['items'], $feed);
                        }
@@ -272,7 +274,7 @@ class Pref_Feeds extends Handler_Protected {
 
                } else {
                        $fsth = $this->pdo->prepare("SELECT id, title, last_error,
-                               ".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated
+                               ".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated, update_interval
                                FROM ttrss_feeds
                                WHERE owner_uid = :uid AND
                                (:search = '' OR (LOWER(title) LIKE :search OR LOWER(feed_url) LIKE :search))
@@ -292,6 +294,7 @@ class Pref_Feeds extends Handler_Protected {
                                        $feed_line['last_updated'], true);
                                $feed['unread'] = 0;
                                $feed['type'] = 'feed';
+                               $feed['updates_disabled'] = (int)($feed_line['update_interval'] < 0);
 
                                array_push($root['items'], $feed);
                        }
@@ -562,6 +565,18 @@ class Pref_Feeds extends Handler_Protected {
                                        'dojoType="dijit.form.Select"');
                        }
 
+                       /* Site URL  */
+
+                       $site_url = htmlspecialchars($row["site_url"]);
+
+                       print "<hr/>";
+
+                       print __('Site URL:') . " ";
+                       print "<input dojoType=\"dijit.form.ValidationTextBox\" required=\"1\"
+                       placeHolder=\"".__("Site URL")."\"
+                       regExp='^(http|https)://.*' style=\"width : 15em\"
+                       name=\"site_url\" value=\"$site_url\">";
+
                        /* FTS Stemming Language */
 
                        if (DB_TYPE == "pgsql") {
@@ -620,7 +635,6 @@ class Pref_Feeds extends Handler_Protected {
                        autocomplete=\"new-password\"
                        name=\"auth_login\" value=\"$auth_login\"><hr/>";
 
-
                        print "<input dojoType=\"dijit.form.TextBox\" type=\"password\" name=\"auth_pass\"
                        autocomplete=\"new-password\"
                        placeHolder=\"".__("Password")."\"
@@ -926,6 +940,7 @@ class Pref_Feeds extends Handler_Protected {
 
                $feed_title = trim(clean($_POST["title"]));
                $feed_url = trim(clean($_POST["feed_url"]));
+               $site_url = trim(clean($_POST["site_url"]));
                $upd_intl = (int) clean($_POST["update_interval"]);
                $purge_intl = (int) clean($_POST["purge_interval"]);
                $feed_id = (int) clean($_POST["id"]); /* editSave */
@@ -954,17 +969,17 @@ class Pref_Feeds extends Handler_Protected {
                                $auth_pass = '';
                        }
 
-                       $sth = $this->pdo->prepare("SELECT feed_url FROM ttrss_feeds WHERE id = ?");
+                       /* $sth = $this->pdo->prepare("SELECT feed_url FROM ttrss_feeds WHERE id = ?");
                        $sth->execute([$feed_id]);
-                       $row = $sth->fetch();
-                       $orig_feed_url = $row["feed_url"];
+                       $row = $sth->fetch();$orig_feed_url = $row["feed_url"];
 
-                       $reset_basic_info = $orig_feed_url != $feed_url;
+                       $reset_basic_info = $orig_feed_url != $feed_url; */
 
                        $sth = $this->pdo->prepare("UPDATE ttrss_feeds SET
                                cat_id = :cat_id,
                                title = :title, 
                                feed_url = :feed_url,
+                               site_url = :site_url,
                                update_interval = :upd_intl,
                                purge_interval = :purge_intl,
                                auth_login = :auth_login,
@@ -982,6 +997,7 @@ class Pref_Feeds extends Handler_Protected {
                        $sth->execute([":title" => $feed_title,
                                        ":cat_id" => $cat_id ? $cat_id : null,
                                        ":feed_url" => $feed_url,
+                                       ":site_url" => $site_url,
                                        ":upd_intl" => $upd_intl,
                                        ":purge_intl" => $purge_intl,
                                        ":auth_login" => $auth_login,
@@ -996,9 +1012,9 @@ class Pref_Feeds extends Handler_Protected {
                                        ":id" => $feed_id,
                                        ":uid" => $_SESSION['uid']]);
 
-                       if ($reset_basic_info) {
+/*                     if ($reset_basic_info) {
                                RSSUtils::set_basic_feed_info($feed_id);
-                       }
+                       } */
 
                        PluginHost::getInstance()->run_hooks(PluginHost::HOOK_PREFS_SAVE_FEED,
                                "hook_prefs_save_feed", $feed_id);
@@ -1221,6 +1237,8 @@ class Pref_Feeds extends Handler_Protected {
                <img src='images/indicator_tiny.gif'>".
                 __("Loading, please wait...")."</div>";
 
+               $auto_expand = $feed_search != "" ? "true" : "false";
+
                print "<div dojoType=\"fox.PrefFeedStore\" jsId=\"feedStore\"
                        url=\"backend.php?op=pref-feeds&method=getfeedtree\">
                </div>
@@ -1231,7 +1249,7 @@ class Pref_Feeds extends Handler_Protected {
                <div dojoType=\"fox.PrefFeedTree\" id=\"feedTree\"
                        dndController=\"dijit.tree.dndSource\"
                        betweenThreshold=\"5\"
-                       autoExpand='false'
+                       autoExpand='$auto_expand'
                        model=\"feedModel\" openOnClick=\"false\">
                <script type=\"dojo/method\" event=\"onClick\" args=\"item\">
                        var id = String(item.id);