]> git.wh0rd.org - tt-rss.git/blobdiff - classes/feeds.php
rework class system to use subdirectories
[tt-rss.git] / classes / feeds.php
index d1ef16738a1db8c1563319cb6452ac2936e12797..7598b0af80061ddbc19c7532bdba0572ffe7939c 100644 (file)
@@ -1,5 +1,5 @@
 <?php\r
-class Feeds extends Protected_Handler {\r
+class Feeds extends Handler_Protected {\r
 \r
        function csrf_ignore($method) {\r
                $csrf_ignored = array("index");\r
@@ -119,7 +119,9 @@ class Feeds extends Protected_Handler {
 \r
        private function format_headlines_list($feed, $method, $view_mode, $limit, $cat_view,\r
                                        $next_unread_feed, $offset, $vgr_last_feed = false,\r
-                                       $override_order = false) {\r
+                                       $override_order = false, $include_children = false) {\r
+\r
+               global $plugins;\r
 \r
                $disable_cache = false;\r
 \r
@@ -196,7 +198,8 @@ class Feeds extends Protected_Handler {
                }\r
 //             error_log("search_mode: " . $search_mode);\r
                $qfh_ret = queryFeedHeadlines($this->link, $feed, $limit, $view_mode, $cat_view,\r
-                       $search, $search_mode, $match_on, $override_order, $offset);\r
+                       $search, $search_mode, $match_on, $override_order, $offset, 0,\r
+                       false, 0, $include_children);\r
 \r
                if ($_REQUEST["debug"]) $timing_info = print_checkpoint("H1", $timing_info);\r
 \r
@@ -219,10 +222,12 @@ class Feeds extends Protected_Handler {
 \r
                $headlines_count = db_num_rows($result);\r
 \r
+               $plugins->hook('headlines_before', $reply);\r
+\r
                if (get_pref($this->link, 'COMBINED_DISPLAY_MODE')) {\r
                        $button_plugins = array();\r
                        foreach (explode(",", ARTICLE_BUTTON_PLUGINS) as $p) {\r
-                               $pclass = trim("${p}_button");\r
+                               $pclass = trim("button_${p}");\r
 \r
                                if (class_exists($pclass)) {\r
                                        $plugin = new $pclass($link);\r
@@ -244,6 +249,12 @@ class Feeds extends Protected_Handler {
 \r
                        while ($line = db_fetch_assoc($result)) {\r
 \r
+                               if (get_pref($this->link, 'COMBINED_DISPLAY_MODE')) {\r
+                                       $plugins->hook('cdm_article_before', $line);\r
+                               } else {\r
+                                       $plugins->hook('headlines_row', $line);\r
+                               }\r
+\r
                                $class = ($lnum % 2) ? "even" : "odd";\r
 \r
                                $id = $line["id"];\r
@@ -672,11 +683,15 @@ class Feeds extends Protected_Handler {
 \r
                                        $reply['content'] .= "</div>";\r
 \r
+                                       $plugins->hook('cdm_article_after', $reply['content']);\r
+\r
                                }\r
 \r
                                ++$lnum;\r
                        }\r
 \r
+                       $plugins->hook('headlines_after', $reply);\r
+\r
                        if ($_REQUEST["debug"]) $timing_info = print_checkpoint("PE", $timing_info);\r
 \r
                } else {\r
@@ -745,29 +760,6 @@ class Feeds extends Protected_Handler {
                toggle_collapse_cat($this->link, $cat_id, $mode);\r
        }\r
 \r
-       function index() {\r
-               $root = (bool)$_REQUEST["root"];\r
-\r
-               if (!$root) {\r
-                       print json_encode($this->outputFeedList($this->link));\r
-               } else {\r
-\r
-                       $feeds = $this->outputFeedList($this->link, false);\r
-\r
-                       $root = array();\r
-                       $root['id'] = 'root';\r
-                       $root['name'] = __('Feeds');\r
-                       $root['items'] = $feeds['items'];\r
-\r
-                       $fl = array();\r
-                       $fl['identifier'] = 'id';\r
-                       $fl['label'] = 'name';\r
-                       $fl['items'] = array($root);\r
-\r
-                       print json_encode($fl);\r
-               }\r
-       }\r
-\r
        function view() {\r
                $timing_info = getmicrotime();\r
 \r
@@ -781,11 +773,12 @@ class Feeds extends Protected_Handler {
                $method = db_escape_string($_REQUEST["m"]);\r
                $view_mode = db_escape_string($_REQUEST["view_mode"]);\r
                $limit = (int) get_pref($this->link, "DEFAULT_ARTICLE_LIMIT");\r
-               @$cat_view = db_escape_string($_REQUEST["cat"]) == "true";\r
+               @$cat_view = $_REQUEST["cat"] == "true";\r
                @$next_unread_feed = db_escape_string($_REQUEST["nuf"]);\r
                @$offset = db_escape_string($_REQUEST["skip"]);\r
                @$vgroup_last_feed = db_escape_string($_REQUEST["vgrlf"]);\r
                $order_by = db_escape_string($_REQUEST["order_by"]);\r
+               $include_children = $_REQUEST["include_children"] == "true";\r
 \r
                if (is_numeric($feed)) $feed = (int) $feed;\r
 \r
@@ -826,6 +819,7 @@ class Feeds extends Protected_Handler {
                set_pref($this->link, "_DEFAULT_VIEW_MODE", $view_mode);\r
                set_pref($this->link, "_DEFAULT_VIEW_LIMIT", $limit);\r
                set_pref($this->link, "_DEFAULT_VIEW_ORDER_BY", $order_by);\r
+               set_pref($this->link, "_DEFAULT_INCLUDE_CHILDREN", $include_children);\r
 \r
                if (!$cat_view && preg_match("/^[0-9][0-9]*$/", $feed)) {\r
                        db_query($this->link, "UPDATE ttrss_feeds SET last_viewed = NOW()\r
@@ -879,7 +873,7 @@ class Feeds extends Protected_Handler {
 \r
                $ret = $this->format_headlines_list($feed, $method,\r
                        $view_mode, $limit, $cat_view, $next_unread_feed, $offset,\r
-                       $vgroup_last_feed, $override_order);\r
+                       $vgroup_last_feed, $override_order, $include_children);\r
 \r
                $topmost_article_ids = $ret[0];\r
                $headlines_count = $ret[1];\r