]> git.wh0rd.org Git - tt-rss.git/blob - classes/article.php
add catchall backend class
[tt-rss.git] / classes / article.php
1 <?php\r
2 class Article extends Handler {\r
3 \r
4         function redirect() {\r
5                 $id = db_escape_string($_REQUEST['id']);\r
6 \r
7                 $result = db_query($this->link, "SELECT link FROM ttrss_entries, ttrss_user_entries\r
8                                                 WHERE id = '$id' AND id = ref_id AND owner_uid = '".$_SESSION['uid']."'\r
9                                                 LIMIT 1");\r
10 \r
11                 if (db_num_rows($result) == 1) {\r
12                         $article_url = db_fetch_result($result, 0, 'link');\r
13                         $article_url = str_replace("\n", "", $article_url);\r
14 \r
15                         header("Location: $article_url");\r
16                         return;\r
17 \r
18                 } else {\r
19                         print_error(__("Article not found."));\r
20                 }\r
21         }\r
22 \r
23         function view() {\r
24                 $id = db_escape_string($_REQUEST["id"]);\r
25                 $cids = explode(",", db_escape_string($_REQUEST["cids"]));\r
26                 $mode = db_escape_string($_REQUEST["mode"]);\r
27                 $omode = db_escape_string($_REQUEST["omode"]);\r
28 \r
29                 // in prefetch mode we only output requested cids, main article\r
30                 // just gets marked as read (it already exists in client cache)\r
31 \r
32                 $articles = array();\r
33 \r
34                 if ($mode == "") {\r
35                         array_push($articles, format_article($this->link, $id, false));\r
36                 } else if ($mode == "zoom") {\r
37                         array_push($articles, format_article($this->link, $id, true, true));\r
38                 } else if ($mode == "raw") {\r
39                         if ($_REQUEST['html']) {\r
40                                 header("Content-Type: text/html");\r
41                                 print '<link rel="stylesheet" type="text/css" href="tt-rss.css"/>';\r
42                         }\r
43 \r
44                         $article = format_article($this->link, $id, false);\r
45                         print $article['content'];\r
46                         return;\r
47                 }\r
48 \r
49                 catchupArticleById($this->link, $id, 0);\r
50 \r
51                 if (!$_SESSION["bw_limit"]) {\r
52                         foreach ($cids as $cid) {\r
53                                 if ($cid) {\r
54                                         array_push($articles, format_article($this->link, $cid, false, false));\r
55                                 }\r
56                         }\r
57                 }\r
58 \r
59                 print json_encode($articles);\r
60 \r
61         }\r
62 \r
63 }\r