X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=classes%2Fhandler%2Fpublic.php;h=dbed3fee6f6b2e578a3f27b7713ba426914c4e2d;hb=253dbd48562f0742befe0335278c4e26ac313efe;hp=8440bc3551647e702b0f9827a2301c3e5538598a;hpb=e6532439d68234d86176e4d967609d68dd564c1d;p=tt-rss.git diff --git a/classes/handler/public.php b/classes/handler/public.php old mode 100644 new mode 100755 index 8440bc35..dbed3fee --- a/classes/handler/public.php +++ b/classes/handler/public.php @@ -33,6 +33,7 @@ class Handler_Public extends Handler { $date_sort_field = "updated DESC"; break; } + $params = array( "owner_uid" => $owner_uid, "feed" => $feed, @@ -47,7 +48,26 @@ class Handler_Public extends Handler { "start_ts" => $start_ts ); - $qfh_ret = Feeds::queryFeedHeadlines($params); + if (!$is_cat && is_numeric($feed) && $feed < PLUGIN_FEED_BASE_INDEX && $feed > LABEL_BASE_INDEX) { + + $user_plugins = get_pref("_ENABLED_PLUGINS", $owner_uid); + + $tmppluginhost = new PluginHost(); + $tmppluginhost->load(PLUGINS, PluginHost::KIND_ALL); + $tmppluginhost->load($user_plugins, PluginHost::KIND_USER, $owner_uid); + $tmppluginhost->load_data(); + + $handler = $tmppluginhost->get_feed_handler( + PluginHost::feed_to_pfeed_id($feed)); + + if ($handler) { + $qfh_ret = $handler->get_headlines(PluginHost::feed_to_pfeed_id($feed), + $options); + } + + } else { + $qfh_ret = Feeds::queryFeedHeadlines($params); + } $result = $qfh_ret[0]; $feed_title = htmlspecialchars($qfh_ret[1]); @@ -476,8 +496,6 @@ class Handler_Public extends Handler { session_set_cookie_params(0); } - @session_start(); - if (authenticate_user($login, $password)) { $_POST["password"] = ""; @@ -501,7 +519,13 @@ class Handler_Public extends Handler { } } } else { - $_SESSION["login_error_msg"] = __("Incorrect username or password"); + + // start an empty session to deliver login error message + @session_start(); + + if (!isset($_SESSION["login_error_msg"])) + $_SESSION["login_error_msg"] = __("Incorrect username or password"); + user_error("Failed login attempt for $login from {$_SERVER['REMOTE_ADDR']}", E_USER_WARNING); } @@ -934,17 +958,17 @@ class Handler_Public extends Handler { } function cached_url() { - @$hash = basename($_GET['hash']); + @$req_filename = basename($_GET['hash']); // we don't need an extension to find the file, hash is a complete URL - $hash = preg_replace("/\.[^\.]*$/", "", $hash); + $hash = preg_replace("/\.[^\.]*$/", "", $req_filename); if ($hash) { $filename = CACHE_DIR . '/images/' . $hash; if (file_exists($filename)) { - header("Content-Disposition: inline; filename=\"$hash\""); + header("Content-Disposition: inline; filename=\"$req_filename\""); send_local_file($filename);