Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

file 69 lines (52 sloc) 1.854 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
<?php
class Article extends Handler_Protected {

function csrf_ignore($method) {
$csrf_ignored = array("redirect");

return array_search($method, $csrf_ignored) !== false;
}

function redirect() {
$id = db_escape_string($_REQUEST['id']);

$result = db_query($this->link, "SELECT link FROM ttrss_entries, ttrss_user_entries
WHERE id = '$id' AND id = ref_id AND owner_uid = '".$_SESSION['uid']."'
LIMIT 1");

if (db_num_rows($result) == 1) {
$article_url = db_fetch_result($result, 0, 'link');
$article_url = str_replace("\n", "", $article_url);

header("Location: $article_url");
return;

} else {
print_error(__("Article not found."));
}
}

function view() {
$id = db_escape_string($_REQUEST["id"]);
$cids = explode(",", db_escape_string($_REQUEST["cids"]));
$mode = db_escape_string($_REQUEST["mode"]);
$omode = db_escape_string($_REQUEST["omode"]);

// in prefetch mode we only output requested cids, main article
// just gets marked as read (it already exists in client cache)

$articles = array();

if ($mode == "") {
array_push($articles, format_article($this->link, $id, false));
} else if ($mode == "zoom") {
array_push($articles, format_article($this->link, $id, true, true));
} else if ($mode == "raw") {
if ($_REQUEST['html']) {
header("Content-Type: text/html");
print '<link rel="stylesheet" type="text/css" href="tt-rss.css"/>';
}

$article = format_article($this->link, $id, false);
print $article['content'];
return;
}

catchupArticleById($this->link, $id, 0);

if (!$_SESSION["bw_limit"]) {
foreach ($cids as $cid) {
if ($cid) {
array_push($articles, format_article($this->link, $cid, false, false));
}
}
}

print json_encode($articles);

}

}
Something went wrong with that request. Please try again.