From f9ac31d6712b4400a616e49d6217d55edb0daf9c Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 20 Dec 2011 23:57:27 +0400 Subject: move tweet button to a plugin, implement basic support for article action button plugins --- classes/feeds.php | 14 +++++++++----- classes/rpc.php | 23 +++++++++-------------- 2 files changed, 18 insertions(+), 19 deletions(-) (limited to 'classes') diff --git a/classes/feeds.php b/classes/feeds.php index 2e9aea686..ec96d7050 100644 --- a/classes/feeds.php +++ b/classes/feeds.php @@ -704,11 +704,15 @@ class Feeds extends Protected_Handler { onclick=\"emailArticle($id)\" alt='Zoom' title='".__('Forward by email')."'>"; - if (ENABLE_TWEET_BUTTON) { - $reply['content'] .= "link, 'images/art-tweet.png')."\" - class='tagsPic' style=\"cursor : pointer\" - onclick=\"tweetArticle($id)\" - alt='Zoom' title='".__('Share on Twitter')."'>"; + $button_plugins = explode(",", ARTICLE_BUTTON_PLUGINS); + + foreach ($button_plugins as $p) { + $pclass = "${p}_button"; + + if (class_exists($pclass)) { + $plugin = new $pclass($link); + $rv['content'] .= $plugin->render($id); + } } $reply['content'] .= "link, 'images/art-share.png')."\" diff --git a/classes/rpc.php b/classes/rpc.php index dbdca8a78..45915b9dc 100644 --- a/classes/rpc.php +++ b/classes/rpc.php @@ -753,21 +753,16 @@ class RPC extends Protected_Handler { return; } - function getTweetInfo() { - $id = db_escape_string($_REQUEST['id']); - - $result = db_query($this->link, "SELECT title, link - FROM ttrss_entries, ttrss_user_entries - WHERE id = '$id' AND ref_id = id AND owner_uid = " .$_SESSION['uid']); - - if (db_num_rows($result) != 0) { - $title = truncate_string(strip_tags(db_fetch_result($result, 0, 'title')), - 100, '...'); - $article_link = db_fetch_result($result, 0, 'link'); + function buttonPlugin() { + $pclass = basename($_REQUEST['plugin']) . "_button"; + $method = $_REQUEST['plugin_method']; + + if (class_exists($pclass)) { + $plugin = new $pclass($this->link); + if (method_exists($plugin, $method)) { + return $plugin->$method(); + } } - - print json_encode(array("title" => $title, "link" => $article_link, - "id" => $id)); } function setNote() { -- cgit v1.2.3-54-g00ecf