diff --git a/classes/feeds.php b/classes/feeds.php index ff6b864e5..0c643325f 100644 --- a/classes/feeds.php +++ b/classes/feeds.php @@ -143,6 +143,10 @@ class Feeds extends Handler_Protected { //$reply .= "get_hooks($pluginhost::HOOK_HEADLINE_TOOLBAR_BUTTON) as $p) { + echo $p->hook_headline_toolbar_button($feed_id, $is_cat); + } + return $reply; } diff --git a/classes/pluginhost.php b/classes/pluginhost.php index a6ba72fc6..5b8a77fd6 100644 --- a/classes/pluginhost.php +++ b/classes/pluginhost.php @@ -24,6 +24,9 @@ class PluginHost { const HOOK_FEED_FETCHED = 12; const HOOK_SANITIZE = 13; const HOOK_RENDER_ARTICLE_API = 14; + const HOOK_TOOLBAR_BUTTON = 15; + const HOOK_ACTION_ITEM = 16; + const HOOK_HEADLINE_TOOLBAR_BUTTON = 17; const KIND_ALL = 1; const KIND_SYSTEM = 2; diff --git a/include/functions.php b/include/functions.php index e86c97474..ece6d1b91 100644 --- a/include/functions.php +++ b/include/functions.php @@ -621,6 +621,7 @@ $_SESSION["uid"]); $_SESSION["ip_address"] = $_SERVER["REMOTE_ADDR"]; + $_SESSION["user_agent"] = sha1($_SERVER['HTTP_USER_AGENT']); $_SESSION["pwd_hash"] = db_fetch_result($result, 0, "pwd_hash"); $_SESSION["last_version_check"] = time(); diff --git a/include/sessions.php b/include/sessions.php index ff9d28a30..dd1ca663d 100644 --- a/include/sessions.php +++ b/include/sessions.php @@ -59,6 +59,9 @@ if ($_SESSION["ref_schema_version"] != session_get_schema_version($link, true)) return false; + if (sha1($_SERVER['HTTP_USER_AGENT']) != $_SESSION["user_agent"]) + return false; + if ($_SESSION["uid"]) { $result = db_query($link, "SELECT pwd_hash FROM ttrss_users WHERE id = '".$_SESSION["uid"]."'"); diff --git a/index.php b/index.php index 0b8a957bb..7fb7a7878 100644 --- a/index.php +++ b/index.php @@ -199,12 +199,15 @@ - - + get_hooks($pluginhost::HOOK_TOOLBAR_BUTTON) as $p) { + echo $p->hook_toolbar_button(); + } + ?> +