]> git.wh0rd.org - tt-rss.git/blobdiff - functions.php
some basic w3c compliance for static code
[tt-rss.git] / functions.php
index 3aa3cd6a39de1b36ce7e5306057c528a8fab2695..c20bba7f3c8ed64a4d6dc9d68bd43651087871fb 100644 (file)
@@ -86,6 +86,7 @@
 
        define('MAGPIE_USER_AGENT_EXT', ' (Tiny Tiny RSS/' . VERSION . ')');
        define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');
+       define('MAGPIE_CACHE_AGE', 60*15); // 15 minutes
 
        require_once "simplepie/simplepie.inc";
        require_once "magpierss/rss_fetch.inc";
                print "<select name=\"$id\" id='$id' $attributes>";
                foreach (array_keys($values) as $v) {
                        if ($v == $default)
-                               $sel = "selected";
+                               $sel = 'selected="selected"';
                         else
                                $sel = "";
                        
                                        setcookie("ttrss_lang", $_SESSION["language"], 
                                                time() + SESSION_COOKIE_LIFETIME);
                                }
+
+                               /* bump counters stamp since we're getting reloaded anyway */
+
+                               $_SESSION["get_all_counters_stamp"] = time();
                        }
 
                } else {
                print "<param key=\"default_view_limit\" value=\"" . 
                        (int) get_pref($link, "_DEFAULT_VIEW_LIMIT") . "\"/>";
 
+               print "<param key=\"default_view_order_by\" value=\"" . 
+                       get_pref($link, "_DEFAULT_VIEW_ORDER_BY") . "\"/>";
+
                print "<param key=\"prefs_active_tab\" value=\"" . 
                        get_pref($link, "_PREFS_ACTIVE_TAB") . "\"/>";
 
 
                if (CHECK_FOR_NEW_VERSION && $_SESSION["access_level"] >= 10) {
                        
-                       if ($_SESSION["last_version_check"] + 7200 < time()) {
+                       if ($_SESSION["last_version_check"] + 86400 < time()) {
                                $new_version_details = check_for_update($link);
 
                                print "<param key=\"new_version_available\" value=\"".
 
                        $view_query_part = "";
        
-                       if ($view_mode == "adaptive") {
+                       if ($view_mode == "adaptive" || $view_query_part == "noscores") {
                                if ($search) {
                                        $view_query_part = " ";
                                } else if ($feed != -1) {
                                $tmp_result = db_query($link, "SELECT sql_exp FROM ttrss_labels
                                        WHERE id = '$label_id'");
                        
-                               $query_strategy_part = db_fetch_result($tmp_result, 0, "sql_exp");
+                               $query_strategy_part = "(" . db_fetch_result($tmp_result, 0, "sql_exp") . ")";
 
                                if (!$query_strategy_part) {
                                        return false;
                                $order_by = "updated DESC";
                        }
 
-                       $order_by = "score DESC, $order_by";
+                       if ($view_mode != "noscores") {
+                               $order_by = "score DESC, $order_by";
+                       }
 
                        if ($override_order) {
                                $order_by = $override_order;
                                        $view_query_part
                                        $query_strategy_part ORDER BY $order_by
                                        $limit_query_part $offset_query_part";
-                                       
-                               $result = db_query($link, $query);
-       
+
                                if ($_GET["debug"]) print $query;
+
+                               $result = db_query($link, $query);
        
                        } else {
                                // browsing by tag
                return vsprintf(__(array_shift($args)), $args);
        }
 
-       function outputArticleXML($link, $id, $feed_id, $mark_as_read = true) {
+       function outputArticleXML($link, $id, $feed_id, $mark_as_read = true,
+               $zoom_mode = false) {
 
                /* we can figure out feed_id from article id anyway, why do we
                 * pass feed_id here? */
 
                $feed_id = db_fetch_result($result, 0, "feed_id");
 
-               print "<article id='$id'><![CDATA[";
+               if (!$zoom_mode) { print "<article id='$id'><![CDATA["; };
 
                $result = db_query($link, "SELECT rtl_content FROM ttrss_feeds
                        WHERE id = '$feed_id' AND owner_uid = " . $_SESSION["uid"]);
                                }                               
                        }
 
+                       if ($zoom_mode) {
+                               header("Content-Type: text/html");
+                               print "<html><head>
+                                               <title>Tiny Tiny RSS - ".$line["title"]."</title>
+                                               <link rel=\"stylesheet\" type=\"text/css\" href=\"tt-rss.css\">
+                                       </head><body>";
+                       }
+
+
                        print "<div class=\"postReply\">";
 
                        print "<div class=\"postHeader\" onmouseover=\"enable_resize(true)\" 
                        $tags = get_article_tags($link, $id);
        
                        $tags_str = "";
+                       $tags_nolinks_str = "";
                        $f_tags_str = "";
 
                        $num_tags = 0;
                                
                                if ($num_tags == $tag_limit) {
                                        $tags_str .= "&hellip;";
+                                       $tags_nolinks_str .= "&hellip;";
 
                                } else if ($num_tags < $tag_limit) {
                                        $tags_str .= $tag_str;
+                                       $tags_nolinks_str .= "$tag, ";
                                }
                                $f_tags_str .= $tag_str;
                        }
 
                        $tags_str = preg_replace("/, $/", "", $tags_str);
+                       $tags_nolinks_str = preg_replace("/, $/", "", $tags_nolinks_str);
                        $f_tags_str = preg_replace("/, $/", "", $f_tags_str);
 
                        $all_tags_div = "<span class='cdmAllTagsCtr'>&hellip;<div class='cdmAllTags'>All Tags: $f_tags_str</div></span>";
                        if (!$entry_comments) $entry_comments = "&nbsp;"; # placeholder
 
                        if (!$tags_str) $tags_str = '<span class="tagList">'.__('no tags').'</span>';
+                       if (!$tags_nolinks_str) $tags_nolinks_str = '<span class="tagList">'.__('no tags').'</span>';
 
                        print "<div style='float : right'>
-                               <img src='images/tag.png' class='tagsPic' alt='Tags' title='Tags'>
-                               $tags_str 
-                               <a title=\"Edit tags for this article\" 
-                                       href=\"javascript:editArticleTags($id, $feed_id)\">(+)</a></div>
-                               <div clear='both'>$entry_comments</div>";
+                                       <img src='images/tag.png' class='tagsPic' alt='Tags' title='Tags'>";
+
+                       if (!$zoom_mode) {
+                               print "$tags_str 
+                                       <a title=\"".__('Edit tags for this article')."\" 
+                                               href=\"javascript:editArticleTags($id, $feed_id)\">(+)</a>                              
+                                       <img src=\"images/art-zoom.png\" class='tagsPic' 
+                                               style=\"cursor : pointer\"
+                                               onclick=\"zoomToArticle($id)\"
+                                               alt='Zoom' title='".__('Show article summary in new window')."'>";
+                       } else {
+                               print "$tags_nolinks_str";
+                       }
+                       print "</div>";
+                       print "<div clear='both'>$entry_comments</div>";
 
                        print "</div>";
 
 
                }
 
-               print "]]></article>";
+               if (!$zoom_mode) { 
+                       print "]]></article>"; 
+               } else {
+                       print "
+                               <div style=\"text-align : center\">
+                               <input type=\"submit\" onclick=\"return window.close()\" 
+                               value=\"".__("Close this window")."\"></div>";
+                       print "</body></html>";
+
+               }
 
        }
 
        function outputHeadlinesList($link, $feed, $subop, $view_mode, $limit, $cat_view,
-                                       $next_unread_feed, $offset, $vgr_last_feed = false) {
+                                       $next_unread_feed, $offset, $vgr_last_feed = false, 
+                                       $override_order = false) {
 
                $disable_cache = false;
 
                if ($_GET["debug"]) $timing_info = print_checkpoint("H0", $timing_info);
 
                $qfh_ret = queryFeedHeadlines($link, $feed, $limit, $view_mode, $cat_view, 
-                       $search, $search_mode, $match_on, false, $real_offset);
+                       $search, $search_mode, $match_on, $override_order, $real_offset);
 
                if ($_GET["debug"]) $timing_info = print_checkpoint("H1", $timing_info);
 
 
                                        print "</span><span class='s1'>$marked_pic</span> ";
                                        print "<span class='s1'>$published_pic</span> ";
+                                       print "<span class='s1'><img src=\"images/art-zoom.png\" class='tagsPic' 
+                                               onclick=\"zoomToArticle($id)\"
+                                               style=\"cursor : pointer\"
+                                               alt='Zoom' 
+                                               title='".__('Show article summary in new window')."'></span>";
 
                                        $tags = get_article_tags($link, $id);
 
 
        function rounded_table_start($classname, $header = "&nbsp;") {
                print "<table width='100%' class='$classname' cellspacing='0' cellpadding='0'>";
-               print "<tr><td class='c1'>&nbsp;</td><td class='top'>$header</td><td class='c2'>&nbsp;</tr>";
+               print "<tr><td class='c1'>&nbsp;</td><td class='top'>$header</td><td class='c2'>&nbsp;</td></tr>";
                print "<tr><td class='left'>&nbsp;</td><td class='content'>";
        }
 
        function rounded_table_end($footer = "&nbsp;") {
                print "</td><td class='right'>&nbsp;</td></tr>";
-               print "<tr><td class='c4'>&nbsp;</td><td class='bottom'>$footer</td><td class='c3'>&nbsp;</tr>";
+               print "<tr><td class='c4'>&nbsp;</td><td class='bottom'>$footer</td><td class='c3'>&nbsp;</td></tr>";
                print "</table>";
        }