From 3f3630529e1e7a0adf2ce0022596006cfcba0089 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 13 Dec 2011 00:20:53 +0400 Subject: implement tiny-OOP routing --- classes/article.php | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 classes/article.php (limited to 'classes/article.php') diff --git a/classes/article.php b/classes/article.php new file mode 100644 index 000000000..98141d91e --- /dev/null +++ b/classes/article.php @@ -0,0 +1,63 @@ +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 ''; + } + + $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); + + } + +} \ No newline at end of file -- cgit v1.2.3-54-g00ecf