]> git.wh0rd.org - tt-rss.git/blobdiff - functions.php
remove modalbox; use dijit.Dialog; further dojo-related updates
[tt-rss.git] / functions.php
index 7d7e828931b4f5dd0e806eeaf7c07cd45e4c9a9b..67e3087ec5b2d102f6a805fe4f1501d00d938d5c 100644 (file)
                                $icon_url = db_escape_string($rss->get_image_url());
                        }
 
+                       $icon_url = substr($icon_url, 0, 250);
+
                        if ($icon_url && $orig_icon_url != $icon_url) { 
                                if (USE_CURL_FOR_ICONS || url_validate($icon_url)) {
                                        db_query($link, "UPDATE ttrss_feeds SET icon_url = '$icon_url' WHERE id = '$feed'");
                if (!$feed_title) $feed_title = getFeedTitle($link, $feed_id, false);
                if (!$unread) $unread = getFeedUnread($link, $feed_id); 
 
-               if ($unread > 0) $class .= "Unread";
+               if ($unread > 0) $class .= " Unread";
 
                if (!$icon_file) $icon_file = getFeedIcon($feed_id);
 
                print "<span $rtl_tag id=\"FEEDN-$feed_id\">$feed</span>";
 
                if ($unread != 0) {
-                       $fctr_class = "class=\"feedCtrHasUnread\"";
+                       $fctr_class = "class=\"feedCtr Unread\"";
                } else {
-                       $fctr_class = "class=\"feedCtrNoUnread\"";
+                       $fctr_class = "class=\"feedCtr\"";
                }
 
                print " <span $rtl_tag $fctr_class id=\"FEEDCTR-$feed_id\">
 
                        $has_img = feed_has_icon($id);
 
+                       if (date('Y') - date('Y', strtotime($line['last_updated'])) > 2)
+                               $last_updated = '';
+
                        $cv = array("id" => $id,
                                "updated" => $last_updated,
                                "counter" => $count,
 
                foreach (array("ON_CATCHUP_SHOW_NEXT_FEED", "HIDE_READ_FEEDS",
                        "ENABLE_FEED_CATS", "FEEDS_SORT_BY_UNREAD", "CONFIRM_FEED_CATCHUP",
-                       "CDM_AUTO_CATCHUP", "FRESH_ARTICLE_MAX_AGE", 
+                       "CDM_AUTO_CATCHUP", "FRESH_ARTICLE_MAX_AGE", "DEFAULT_ARTICLE_LIMIT",
                        "HIDE_READ_SHOWS_SPECIAL", "HIDE_FEEDLIST", "COMBINED_DISPLAY_MODE") as $param) {
 
                                 $params[strtolower($param)] = (int) get_pref($link, $param);
                        $feed_id, $is_cat, $search, $match_on,
                        $search_mode, $view_mode) {
 
-                       print "<div class=\"headlinesSubToolbar\">";
+#                      print "<div class=\"headlinesSubToolbar\">";
 
                        $page_prev_link = "javascript:viewFeedGoPage(-1)";
                        $page_next_link = "javascript:viewFeedGoPage(1)";
 
                        print "</ul>";
 
-                       print "</div>";
+#                      print "</div>";
                }
 
        function printCategoryHeader($link, $cat_id, $hidden = false, $can_browse = true, 
                                $collapse_pic = "cat-collapse.png";
                        }
 
-                       $catctr_class = ($cat_unread > 0) ? "catCtrHasUnread" : "catCtrNoUnread";
+                       $catctr_class = ($cat_unread > 0) ? "catCtr Unread" : "catCtr";
 
                        if ($can_browse) {
                                $browse_cat_link = "onclick=\"javascript:viewCategory($cat_id)\"";
                                }
        
                                if ($actid == $feed_id) {
-                                       $class .= "Selected";
+                                       $class .= " Selected";
                                }
        
                                $total_unread += $unread;
 
                /// STOP //////////////////////////////////////////////////////////////////////////////////
 
+               print "<toolbar><![CDATA[";
+
                if (!$offset) {
-                       print "<div id=\"headlinesContainer\" $rtl_tag>";
+//                     print "<div id=\"headlinesContainer\" $rtl_tag>";
 
                        if (!$result) {
                                print "<div align='center'>".__("Could not display feed (query failed). Please check label match syntax or local configuration.")."</div>";
                                print_headline_subtoolbar($link, $feed_site_url, $feed_title,
                                        $feed, $cat_view, $search, $match_on, $search_mode, $view_mode);
 
-                               print "<div id=\"headlinesInnerContainer\" onscroll=\"headlines_scroll_handler()\">";
+//                             print "<div id=\"headlinesInnerContainer\" onscroll=\"headlines_scroll_handler()\">";
 
                        }
                }
 
+               print "]]></toolbar><content><![CDATA[";
+
                $headlines_count = db_num_rows($result);
 
                if (db_num_rows($result) > 0) {
                                }
        
                                if ($line["unread"] == "t" || $line["unread"] == "1") {
-                                       $class .= "Unread";
+                                       $class .= " Unread";
                                        ++$num_unread;
                                        $is_unread = true;
                                } else {
                                                }
                                        }
 
-                                       if ($is_unread) {
-                                               $add_class = "Unread";
-                                       } else {
-                                               $add_class = "";
-                                       }       
-
                                        $expand_cdm = get_pref($link, 'CDM_EXPANDED');
 
                                        $mouseover_attrs = "onmouseover='postMouseIn($id)' 
                                        print "</div>";
                                
                                        print "<input type=\"checkbox\" onclick=\"toggleSelectRowById(this, 
-                                                       'RROW-$id')\" class=\"feedCheckBox\" id=\"RCHK-$id\"/>";
+                                                       'RROW-$id')\" id=\"RCHK-$id\"/>";
 
                                        print "$marked_pic";
                                        print "$published_pic";
                        }
                }
 
-               if (!$offset) {
-                       if ($headlines_count > 0) print "</div>";
-                       print "</div>";
-               }
+#              if (!$offset) {
+#                      if ($headlines_count > 0) print "</div>";
+#                      print "</div>";
+#              }
+
+               print "]]></content>";
 
                return array($topmost_article_ids, $headlines_count, $feed, $disable_cache, $vgroup_last_feed);
        }
                // Send feed digests by email if needed.
                if (DAEMON_SENDS_DIGESTS) send_headlines_digests($link);
 
-               purge_orphans($link);
-
        } // function update_daemon_common
 
        function sanitize_article_content($text) {
                return $ids;
        }
 
+       function cleanup_tags($link, $days = 14, $limit = 1000) {
+
+               if (DB_TYPE == "pgsql") {
+                       $interval_query = "date_updated < NOW() - INTERVAL '$days days'";
+               } else if (DB_TYPE == "mysql") {
+                       $interval_query = "date_updated < DATE_SUB(NOW(), INTERVAL $days DAY)";
+               }
+
+               $tags_deleted = 0;
+
+               while ($limit > 0) {
+                       $limit_part = 500;
+
+                       $query = "SELECT ttrss_tags.id AS id 
+                               FROM ttrss_tags, ttrss_user_entries, ttrss_entries 
+                               WHERE post_int_id = int_id AND $interval_query AND
+                               ref_id = ttrss_entries.id AND tag_cache != '' LIMIT $limit_part";
+       
+                       $result = db_query($link, $query);
+
+                       $ids = array();
+
+                       while ($line = db_fetch_assoc($result)) {
+                               array_push($ids, $line['id']);
+                       }
+
+                       if (count($ids) > 0) {
+                               $ids = join(",", $ids);
+                               print ".";
+
+                               $tmp_result = db_query($link, "DELETE FROM ttrss_tags WHERE id IN ($ids)");
+                               $tags_deleted += db_affected_rows($link, $tmp_result);
+                       } else {
+                               break;
+                       }
+
+                       $limit -= $limit_part;
+               }
+
+               print "\n";
+
+               return $tags_deleted;
+       }
+
 ?>