]> git.wh0rd.org - tt-rss.git/blobdiff - include/functions.php
load stylesheets/scripts using helper functions in a few more places
[tt-rss.git] / include / functions.php
index 040140bbf23c146e3fc1ee813fe13af702fa5ee4..f8c614ac7078a608cb13b9943a17606f917124c7 100644 (file)
@@ -80,7 +80,8 @@
                                        "pt_BR" => "Portuguese/Brazil",
                                        "zh_CN" => "Simplified Chinese",
                                        "sv_SE" => "Svenska",
-                                       "fi_FI" => "Suomi");
+                                       "fi_FI" => "Suomi",
+                                       "tr_TR" => "Türkçe");
 
                return $tr;
        }
                        curl_setopt($ch, CURLOPT_USERAGENT, SELF_USER_AGENT);
                        curl_setopt($ch, CURLOPT_ENCODING, "");
                        curl_setopt($ch, CURLOPT_REFERER, $url);
-                       curl_setopt($ch, CURLOPT_COOKIEJAR, "/dev/null");
+
+                       if (!ini_get("safe_mode") && !ini_get("open_basedir")) {
+                               curl_setopt($ch, CURLOPT_COOKIEJAR, "/dev/null");
+                       }
 
                        if (defined('_CURL_HTTP_PROXY')) {
                                curl_setopt($ch, CURLOPT_PROXY, _CURL_HTTP_PROXY);
                                $_SERVER["REDIRECT_SSL_CLIENT_V_END"] .
                                $_SERVER["REDIRECT_SSL_CLIENT_S_DN"]);
                }
+               if ($_SERVER["SSL_CLIENT_M_SERIAL"]) {
+                       return sha1($_SERVER["SSL_CLIENT_M_SERIAL"] .
+                               $_SERVER["SSL_CLIENT_V_START"] .
+                               $_SERVER["SSL_CLIENT_V_END"] .
+                               $_SERVER["SSL_CLIENT_S_DN"]);
+               }
                return "";
        }
 
 
                                $_SESSION["name"] = db_fetch_result($result, 0, "login");
                                $_SESSION["access_level"] = db_fetch_result($result, 0, "access_level");
-                               $_SESSION["csrf_token"] = sha1(uniqid(rand(), true));
+                               $_SESSION["csrf_token"] = uniqid(rand(), true);
 
                                db_query("UPDATE ttrss_users SET last_login = NOW() WHERE id = " .
                                        $_SESSION["uid"]);
                        $_SESSION["auth_module"] = false;
 
                        if (!$_SESSION["csrf_token"]) {
-                               $_SESSION["csrf_token"] = sha1(uniqid(rand(), true));
+                               $_SESSION["csrf_token"] = uniqid(rand(), true);
                        }
 
                        $_SESSION["ip_address"] = $_SERVER["REMOTE_ADDR"];
        }
 
        function load_user_plugins($owner_uid) {
-               if ($owner_uid) {
+               if ($owner_uid && SCHEMA_VERSION >= 100) {
                        $plugins = get_pref("_ENABLED_PLUGINS", $owner_uid);
 
                        PluginHost::getInstance()->load($plugins, PluginHost::KIND_USER, $owner_uid);
                if (SINGLE_USER_MODE) {
                        @session_start();
                        authenticate_user("admin", null);
+                       startup_gettext();
                        load_user_plugins($_SESSION["uid"]);
                } else {
                        if (!validate_session()) $_SESSION["uid"] = false;
 
                                                db_query("UPDATE ttrss_user_entries
                                                        SET unread = false,last_read = NOW() WHERE (SELECT COUNT(*)
-                                                               FROM ttrss_user_labels2 WHERE article_id = ref_id) > 0
-                                                               AND unread = true AND $date_qpart AND owner_uid = $owner_uid");
+                                                               FROM ttrss_user_labels2, ttrss_entries WHERE article_id = ref_id AND id = ref_id AND $date_qpart) > 0
+                                                               AND unread = true AND owner_uid = $owner_uid");
                                        }
 
                                } else if ($feed > 0) {
                                $from_where = "ttrss_entries.id = ttrss_user_entries.ref_id AND";
                        } else {
                                $from_qpart = "ttrss_user_entries";
+                               $from_where = "";
                        }
 
                        $query = "SELECT count(int_id) AS unread
 
                $search_query_part = "";
 
-               $keywords = explode(" ", $search);
+               $keywords = str_getcsv($search, " ");
                $query_keywords = array();
                $search_words = array();
 
                        }
 
 
-                       $content_query_part = "content, content AS content_preview, ";
+                       $content_query_part = "content, ";
 
 
                        if (is_numeric($feed)) {
 
                        if ($site_url) {
 
-                               if ($entry->hasAttribute('href'))
+                               if ($entry->hasAttribute('href')) {
                                        $entry->setAttribute('href',
                                                rewrite_relative_url($site_url, $entry->getAttribute('href')));
 
+                                       $entry->setAttribute('rel', 'noreferrer');
+                               }
+
                                if ($entry->hasAttribute('src')) {
                                        $src = rewrite_relative_url($site_url, $entry->getAttribute('src'));
 
                                header("Content-Type: text/html");
                                $rv['content'] .= "<html><head>
                                                <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>
-                                               <title>Tiny Tiny RSS - ".$line["title"]."</title>
-                                               <link rel=\"stylesheet\" type=\"text/css\" href=\"css/tt-rss.css\">
+                                               <title>Tiny Tiny RSS - ".$line["title"]."</title>".
+                                               stylesheet_tag("css/tt-rss.css").
+                                               stylesheet_tag("css/zoom.css").
+                                               stylesheet_tag("css/dijit.css")."
+
                                                <link rel=\"shortcut icon\" type=\"image/png\" href=\"images/favicon.png\">
                                                <link rel=\"icon\" type=\"image/png\" sizes=\"72x72\" href=\"images/favicon-72px.png\">
 
                if (db_num_rows($result) == 1) {
                        return db_fetch_result($result, 0, "access_key");
                } else {
-                       $key = db_escape_string(sha1(uniqid(rand(), true)));
+                       $key = db_escape_string(uniqid(base_convert(rand(), 10, 36)));
 
                        $result = db_query("INSERT INTO ttrss_access_keys
                                (access_key, feed_id, is_cat, owner_uid)
        function stylesheet_tag($filename) {
                $timestamp = filemtime($filename);
 
-               echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"$filename?$timestamp\"/>\n";
+               return "<link rel=\"stylesheet\" type=\"text/css\" href=\"$filename?$timestamp\"/>\n";
        }
 
        function javascript_tag($filename) {
 
                if ($query) $timestamp .= "&$query";
 
-               echo "<script type=\"text/javascript\" charset=\"utf-8\" src=\"$filename?$timestamp\"></script>\n";
+               return "<script type=\"text/javascript\" charset=\"utf-8\" src=\"$filename?$timestamp\"></script>\n";
        }
 
        function calculate_dep_timestamp() {