]> git.wh0rd.org - tt-rss.git/blobdiff - classes/pref/feeds.php
add several HOOK_PREFS_TAB_SECTION hook points
[tt-rss.git] / classes / pref / feeds.php
index 3a7da72d3c3ed858010d427d910b823af6d9c9e8..b423eab9525e6fb4aaa3cb9f13aa98ba7f6e0e27 100644 (file)
@@ -25,7 +25,11 @@ class Pref_Feeds extends Handler_Protected {
        }
 
        private function get_category_items($cat_id) {
-               $search = $_SESSION["prefs_feed_search"];
+
+               if ($_REQUEST['mode'] != 2)
+                       $search = $_SESSION["prefs_feed_search"];
+               else
+                       $search = "";
 
                if ($search) $search_qpart = " AND LOWER(title) LIKE LOWER('%$search%')";
 
@@ -85,7 +89,10 @@ class Pref_Feeds extends Handler_Protected {
 
        function getfeedtree() {
 
-               $search = $_SESSION["prefs_feed_search"];
+               if ($_REQUEST['mode'] != 2)
+                       $search = $_SESSION["prefs_feed_search"];
+               else
+                       $search = "";
 
                if ($search) $search_qpart = " AND LOWER(title) LIKE LOWER('%$search%')";
 
@@ -320,8 +327,11 @@ class Pref_Feeds extends Handler_Protected {
                                                $cat_id = ($item_id != "root") ?
                                                        db_escape_string($bare_item_id) : "NULL";
 
+                                               $cat_qpart = ($cat_id != 0) ? "cat_id = '$cat_id'" :
+                                                       "cat_id = NULL";
+
                                                db_query($this->link, "UPDATE ttrss_feeds
-                                                       SET order_id = $order_id, cat_id = '$cat_id'
+                                                       SET order_id = $order_id, $cat_qpart
                                                        WHERE id = '$bare_id' AND
                                                                owner_uid = " . $_SESSION["uid"]);
 
@@ -465,7 +475,6 @@ class Pref_Feeds extends Handler_Protected {
        function editfeed() {
                global $purge_intervals;
                global $update_intervals;
-               global $update_methods;
 
                $feed_id = db_escape_string($_REQUEST["id"]);
 
@@ -537,20 +546,10 @@ class Pref_Feeds extends Handler_Protected {
                print_select_hash("update_interval", $update_interval, $update_intervals,
                        'dojoType="dijit.form.Select"');
 
-               /* Update method */
-
-               $update_method = db_fetch_result($result, 0, "update_method",
-                       'dojoType="dijit.form.Select"');
-
-               print " " . __('using') . " ";
-               print_select_hash("update_method", $update_method, $update_methods,
-                       'dojoType="dijit.form.Select"');
+               /* Purge intl */
 
                $purge_interval = db_fetch_result($result, 0, "purge_interval");
 
-
-                       /* Purge intl */
-
                print "<hr/>";
                print __('Article purging:') . " ";
 
@@ -643,6 +642,19 @@ class Pref_Feeds extends Handler_Protected {
                        $checked>&nbsp;<label for=\"cache_images\">".
                __('Cache images locally')."</label>";
 
+               $cache_content = sql_bool_to_bool(db_fetch_result($result, 0, "cache_content"));
+
+               if ($cache_content) {
+                       $checked = "checked=\"1\"";
+               } else {
+                       $checked = "";
+               }
+
+               print "<hr/><input dojoType=\"dijit.form.CheckBox\" type=\"checkbox\" id=\"cache_content\"
+               name=\"cache_content\"
+                       $checked>&nbsp;<label for=\"cache_content\">".
+               __('Cache content locally')."</label>";
+
                $mark_unread_on_update = sql_bool_to_bool(db_fetch_result($result, 0, "mark_unread_on_update"));
 
                if ($mark_unread_on_update) {
@@ -723,7 +735,6 @@ class Pref_Feeds extends Handler_Protected {
        function editfeeds() {
                global $purge_intervals;
                global $update_intervals;
-               global $update_methods;
 
                $feed_ids = db_escape_string($_REQUEST["ids"]);
 
@@ -782,13 +793,6 @@ class Pref_Feeds extends Handler_Protected {
 
                $this->batch_edit_cbox("update_interval");
 
-               /* Update method */
-
-               print " " . __('using') . " ";
-               print_select_hash("update_method", $update_method, $update_methods,
-                       'disabled="1" dojoType="dijit.form.Select"');
-               $this->batch_edit_cbox("update_method");
-
                /* Purge intl */
 
                if (FORCE_ARTICLE_PURGE == 0) {
@@ -904,7 +908,8 @@ class Pref_Feeds extends Handler_Protected {
                        db_escape_string($_POST["include_in_digest"]));
                $cache_images = checkbox_to_sql_bool(
                        db_escape_string($_POST["cache_images"]));
-               $update_method = (int) db_escape_string($_POST["update_method"]);
+               $cache_content = checkbox_to_sql_bool(
+                       db_escape_string($_POST["cache_content"]));
 
                $always_display_enclosures = checkbox_to_sql_bool(
                        db_escape_string($_POST["always_display_enclosures"]));
@@ -928,8 +933,6 @@ class Pref_Feeds extends Handler_Protected {
                        $category_qpart_nocomma = "";
                }
 
-               $cache_images_qpart = "cache_images = $cache_images,";
-
                if (!$batch) {
 
                        $result = db_query($this->link, "UPDATE ttrss_feeds SET
@@ -941,13 +944,13 @@ class Pref_Feeds extends Handler_Protected {
                                auth_pass = '$auth_pass',
                                private = $private,
                                rtl_content = $rtl_content,
-                               $cache_images_qpart
+                               cache_images = $cache_images,
+                               cache_content = $cache_content,
                                include_in_digest = $include_in_digest,
                                always_display_enclosures = $always_display_enclosures,
                                mark_unread_on_update = $mark_unread_on_update,
                                update_on_checksum_change = $update_on_checksum_change,
-                               update_method = '$update_method'
-                               WHERE id = '$feed_id' AND owner_uid = " . $_SESSION["uid"]);
+                       WHERE id = '$feed_id' AND owner_uid = " . $_SESSION["uid"]);
 
                } else {
                        $feed_data = array();
@@ -1013,12 +1016,12 @@ class Pref_Feeds extends Handler_Protected {
                                                $qpart = "cache_images = $cache_images";
                                                break;
 
-                                       case "rtl_content":
-                                               $qpart = "rtl_content = $rtl_content";
+                                       case "cache_content":
+                                               $qpart = "cache_content = $cache_content";
                                                break;
 
-                                       case "update_method":
-                                               $qpart = "update_method = '$update_method'";
+                                       case "rtl_content":
+                                               $qpart = "rtl_content = $rtl_content";
                                                break;
 
                                        case "cat_id":
@@ -1067,6 +1070,8 @@ class Pref_Feeds extends Handler_Protected {
        }
 
        function rescore() {
+               require_once "rssfuncs.php";
+
                $ids = split(",", db_escape_string($_REQUEST["ids"]));
 
                foreach ($ids as $id) {
@@ -1371,9 +1376,7 @@ class Pref_Feeds extends Handler_Protected {
 
                print "</div>"; # feeds pane
 
-               print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"".__('Import and export')."\">";
-
-               print "<h3>" . __("OPML") . "</h3>";
+               print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"".__('OPML')."\">";
 
                print "<p>" . __("Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings.") . " ";
 
@@ -1411,29 +1414,9 @@ class Pref_Feeds extends Handler_Protected {
                print "<button dojoType=\"dijit.form.Button\" onclick=\"return displayDlg('pubOPMLUrl')\">".
                        __('Display published OPML URL')."</button> ";
 
-
-               print "<h3>" . __("Article archive") . "</h3>";
-
-               print "<p>" . __("You can export and import your Starred and Archived articles for safekeeping or when migrating between tt-rss instances.") . "</p>";
-
-               print "<button dojoType=\"dijit.form.Button\" onclick=\"return exportData()\">".
-                       __('Export my data')."</button> ";
-
-               print "<hr>";
-
-               print "<iframe id=\"data_upload_iframe\"
-                       name=\"data_upload_iframe\" onload=\"dataImportComplete(this)\"
-                       style=\"width: 400px; height: 100px; display: none;\"></iframe>";
-
-               print "<form name=\"import_form\" style='display : block' target=\"data_upload_iframe\"
-                       enctype=\"multipart/form-data\" method=\"POST\"
-                       action=\"backend.php\">
-                       <input id=\"export_file\" name=\"export_file\" type=\"file\">&nbsp;
-                       <input type=\"hidden\" name=\"op\" value=\"dlg\">
-                       <input type=\"hidden\" name=\"method\" value=\"dataimport\">
-                       <button dojoType=\"dijit.form.Button\" onclick=\"return importData();\" type=\"submit\">" .
-                       __('Import') . "</button>";
-
+               global $pluginhost;
+               $pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB_SECTION,
+                       "hook_prefs_tab_section", "prefFeedsOPML");
 
                print "</div>"; # pane
 
@@ -1470,10 +1453,14 @@ class Pref_Feeds extends Handler_Protected {
 
                print "<p>" . __("Use this bookmarklet to publish arbitrary pages using Tiny Tiny RSS") . "</p>";
 
-               $bm_url = htmlspecialchars("javascript:(function(){var d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f='".SELF_URL_PATH."/public.php?op=sharepopup',l=d.location,e=encodeURIComponent,g=f+'&title='+((e(s))?e(s):e(document.title))+'&url='+e(l.href);function a(){if(!w.open(g,'t','toolbar=0,resizable=0,scrollbars=1,status=1,width=500,height=200')){l.href=g;}}a();})()");
+               $bm_url = htmlspecialchars("javascript:(function(){var d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f='".SELF_URL_PATH."/public.php?op=sharepopup',l=d.location,e=encodeURIComponent,g=f+'&title='+((e(s))?e(s):e(document.title))+'&url='+e(l.href);function a(){if(!w.open(g,'t','toolbar=0,resizable=0,scrollbars=1,status=1,width=500,height=250')){l.href=g;}}a();})()");
 
                print "<a href=\"$bm_url\" class='bookmarklet'>" . __('Share with Tiny Tiny RSS'). "</a>";
 
+               global $pluginhost;
+               $pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB_SECTION,
+                       "hook_prefs_tab_section", "prefFeedsBookmarklets");
+
                print "</div>"; #pane
 
                print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"".__('Published & shared articles / Generated feeds')."\">";
@@ -1498,10 +1485,18 @@ class Pref_Feeds extends Handler_Protected {
                print "<button dojoType=\"dijit.form.Button\" onclick=\"return clearArticleAccessKeys()\">".
                        __('Unshare all articles')."</button> ";
 
+               global $pluginhost;
+               $pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB_SECTION,
+                       "hook_prefs_tab_section", "prefFeedsPublishedGenerated");
+
                print "</div>"; #pane
 
-               print "</div>"; #container
+               global $pluginhost;
 
+               $pluginhost->run_hooks($pluginhost::HOOK_PREFS_TAB,
+                       "hook_prefs_tab", "prefFeeds");
+
+               print "</div>"; #container
        }
 
        private function feedlist_init_cat($cat_id, $hidden = false) {