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