summaryrefslogtreecommitdiff
path: root/classes/handler/public.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2021-02-17 09:59:14 +0300
committerAndrew Dolgov <[email protected]>2021-02-17 09:59:14 +0300
commit273ada7353b185e20452d54a8206d5e0cef9e573 (patch)
tree42ab1d011537fc2e5cc63c4d45883ce2a79be995 /classes/handler/public.php
parent7adcada324dc6960cf4a120b1397c1bd60521d9b (diff)
* implement shortcut syntax for exposed plugin methods
* move shared article rendering code to share plugin
Diffstat (limited to 'classes/handler/public.php')
-rwxr-xr-xclasses/handler/public.php162
1 files changed, 0 insertions, 162 deletions
diff --git a/classes/handler/public.php b/classes/handler/public.php
index b0bed5d1c..b810019c1 100755
--- a/classes/handler/public.php
+++ b/classes/handler/public.php
@@ -294,168 +294,6 @@ class Handler_Public extends Handler {
}
}
- function share() {
- $uuid = clean($_REQUEST["key"]);
-
- if ($uuid) {
- $sth = $this->pdo->prepare("SELECT ref_id, owner_uid
- FROM ttrss_user_entries WHERE uuid = ?");
- $sth->execute([$uuid]);
-
- if ($row = $sth->fetch()) {
- header("Content-Type: text/html");
-
- $id = $row["ref_id"];
- $owner_uid = $row["owner_uid"];
-
- print $this->format_article($id, $owner_uid);
-
- return;
- }
- }
-
- header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
- print "Article not found.";
- }
-
- private function format_article($id, $owner_uid) {
-
- $pdo = Db::pdo();
-
- $sth = $pdo->prepare("SELECT id,title,link,content,feed_id,comments,int_id,lang,
- ".SUBSTRING_FOR_DATE."(updated,1,16) as updated,
- (SELECT site_url FROM ttrss_feeds WHERE id = feed_id) as site_url,
- (SELECT title FROM ttrss_feeds WHERE id = feed_id) as feed_title,
- (SELECT hide_images FROM ttrss_feeds WHERE id = feed_id) as hide_images,
- (SELECT always_display_enclosures FROM ttrss_feeds WHERE id = feed_id) as always_display_enclosures,
- num_comments,
- tag_cache,
- author,
- guid,
- note
- FROM ttrss_entries,ttrss_user_entries
- WHERE id = ? AND ref_id = id AND owner_uid = ?");
- $sth->execute([$id, $owner_uid]);
-
- $rv = '';
-
- if ($line = $sth->fetch()) {
-
- $line["tags"] = Article::_get_tags($id, $owner_uid, $line["tag_cache"]);
- unset($line["tag_cache"]);
-
- $line["content"] = Sanitizer::sanitize($line["content"],
- $line['hide_images'],
- $owner_uid, $line["site_url"], false, $line["id"]);
-
- PluginHost::getInstance()->chain_hooks_callback(PluginHost::HOOK_RENDER_ARTICLE,
- function ($result) use (&$line) {
- $line = $result;
- },
- $line);
-
- $line['content'] = DiskCache::rewrite_urls($line['content']);
-
- header("Content-Type: text/html");
-
- $rv .= "<!DOCTYPE html>
- <html><head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
- <title>".$line["title"]."</title>".
- javascript_tag("lib/prototype.js").
- javascript_tag("js/utility.js")."
- <style type='text/css'>
- @media (prefers-color-scheme: dark) {
- body {
- background : #222;
- }
- }
- body.css_loading * {
- display : none;
- }
- </style>
- <link rel='shortcut icon' type='image/png' href='images/favicon.png'>
- <link rel='icon' type='image/png' sizes='72x72' href='images/favicon-72px.png'>";
-
- $rv .= "<meta property='og:title' content=\"".htmlspecialchars(html_entity_decode($line["title"], ENT_NOQUOTES | ENT_HTML401))."\"/>\n";
- $rv .= "<meta property='og:description' content=\"".
- htmlspecialchars(
- truncate_string(
- preg_replace("/[\r\n\t]/", "",
- preg_replace("/ {1,}/", " ",
- strip_tags(html_entity_decode($line["content"], ENT_NOQUOTES | ENT_HTML401))
- )
- ), 500, "...")
- )."\"/>\n";
-
- $rv .= "</head>";
-
- $enclosures = Article::_get_enclosures($line["id"]);
- list ($og_image, $og_stream) = Article::_get_image($enclosures, $line['content'], $line["site_url"]);
-
- if ($og_image) {
- $rv .= "<meta property='og:image' content=\"" . htmlspecialchars($og_image) . "\"/>";
- }
-
- $rv .= "<body class='flat ttrss_utility ttrss_zoom css_loading'>";
- $rv .= "<div class='container'>";
-
- if ($line["link"]) {
- $rv .= "<h1><a target='_blank' rel='noopener noreferrer'
- title=\"".htmlspecialchars($line['title'])."\"
- href=\"" .htmlspecialchars($line["link"]) . "\">" . $line["title"] . "</a></h1>";
- } else {
- $rv .= "<h1>" . $line["title"] . "</h1>";
- }
-
- $rv .= "<div class='content post'>";
-
- /* header */
-
- $rv .= "<div class='header'>";
- $rv .= "<div class='row'>"; # row
-
- //$entry_author = $line["author"] ? " - " . $line["author"] : "";
- $parsed_updated = TimeHelper::make_local_datetime($line["updated"], true,
- $owner_uid, true);
-
- $rv .= "<div>".$line['author']."</div>";
- $rv .= "<div>$parsed_updated</div>";
-
- $rv .= "</div>"; # row
-
- $rv .= "</div>"; # header
-
- /* content */
-
- $lang = $line['lang'] ? $line['lang'] : "en";
- $rv .= "<div class='content' lang='$lang'>";
-
- /* content body */
-
- $rv .= $line["content"];
-
- /* $rv .= Article::format_article_enclosures($id,
- $line["always_display_enclosures"],
- $line["content"],
- $line["hide_images"]); */
-
- $rv .= "</div>"; # content
-
- $rv .= "</div>"; # post
-
- }
-
- PluginHost::getInstance()->chain_hooks_callback(PluginHost::HOOK_FORMAT_ARTICLE,
- function ($result) use (&$rv) {
- $rv = $result;
- },
- $rv, $line);
-
- return $rv;
-
- }
-
function rss() {
$feed = clean($_REQUEST["id"]);
$key = clean($_REQUEST["key"]);