diff options
author | Andrew Dolgov <[email protected]> | 2021-02-17 09:59:14 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2021-02-17 09:59:14 +0300 |
commit | 273ada7353b185e20452d54a8206d5e0cef9e573 (patch) | |
tree | 42ab1d011537fc2e5cc63c4d45883ce2a79be995 /classes/handler | |
parent | 7adcada324dc6960cf4a120b1397c1bd60521d9b (diff) |
* implement shortcut syntax for exposed plugin methods
* move shared article rendering code to share plugin
Diffstat (limited to 'classes/handler')
-rwxr-xr-x | classes/handler/public.php | 162 |
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"]); |