]> git.wh0rd.org - tt-rss.git/blobdiff - classes/handler/public.php
remove PHPMailer and related directives from config.php-dist; add pluggable Mailer...
[tt-rss.git] / classes / handler / public.php
index e892a9797003c05302acac45cef2f17e62acb9d2..cadb9873dce8d75da793f41c5b524939c28a1527 100755 (executable)
@@ -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);
                        }
 
@@ -753,7 +777,6 @@ class Handler_Public extends Handler {
                                                $resetpass_link = get_self_url_prefix() . "/public.php?op=forgotpass&hash=" . $resetpass_token .
                                                        "&login=" . urlencode($login);
 
-                                               require_once 'classes/ttrssmailer.php';
                                                require_once "lib/MiniTemplator.class.php";
 
                                                $tpl = new MiniTemplator;
@@ -769,13 +792,13 @@ class Handler_Public extends Handler {
 
                                                $tpl->generateOutputToString($message);
 
-                                               $mail = new ttrssMailer();
+                                               $mailer = new Mailer();
 
-                                               $rc = $mail->quickMail($email, $login,
-                                                       __("[tt-rss] Password reset request"),
-                                                       $message, false);
+                                               $rc = $mailer->mail(["to" => "$login <$email>",
+                                                       "subject" => __("[tt-rss] Password reset request"),
+                                                       "message" => $message]);
 
-                                               if (!$rc) print_error($mail->ErrorInfo);
+                                               if (!$rc) print_error($mailer->error());
 
                                                $resetpass_token_full = time() . ":" . $resetpass_token;