]> git.wh0rd.org - tt-rss.git/blobdiff - functions.php
published feeds work
[tt-rss.git] / functions.php
index 6a55bdc8e8e7e3df06a58428985b843517a00f66..a77d2f85c0cc7ef0c10d8c0c60d2b91e88bf302f 100644 (file)
                                                        SET unread = false,last_read = NOW()
                                                        WHERE marked = true AND owner_uid = ".$_SESSION["uid"]);
                                        }
-                       
+
+                                       if ($feed == -2) {
+                                               db_query($link, "UPDATE ttrss_user_entries 
+                                                       SET unread = false,last_read = NOW()
+                                                       WHERE published = true AND owner_uid = ".$_SESSION["uid"]);
+                                       }
+
                                } else if ($feed < -10) { // label
 
                                        // TODO make this more efficient
                        return getCategoryUnread($link, $n_feed);               
                } else if ($n_feed == -1) {
                        $match_part = "marked = true";
+               } else if ($n_feed == -2) {
+                       $match_part = "published = true";
                } else if ($n_feed > 0) {
 
                        $result = db_query($link, "SELECT id FROM ttrss_feeds 
                $result = db_query($link, "SELECT count(ttrss_entries.id) as count FROM ttrss_entries,ttrss_user_entries,ttrss_feeds
                        WHERE marked = true AND ttrss_user_entries.ref_id = ttrss_entries.id AND 
                        ttrss_user_entries.feed_id = ttrss_feeds.id AND
-                       unread = true AND ttrss_user_entries.owner_uid = ".$_SESSION["uid"]);
+                       hidden = false AND unread = true AND ttrss_user_entries.owner_uid = ".$_SESSION["uid"]);
 
                $count = db_fetch_result($result, 0, "count");
 
                        $ret_arr["-1"]["description"] = "Starred";
                }
 
+               $result = db_query($link, "SELECT count(ttrss_entries.id) as count FROM ttrss_entries,ttrss_user_entries,ttrss_feeds
+                       WHERE published = true AND ttrss_user_entries.ref_id = ttrss_entries.id AND 
+                       ttrss_user_entries.feed_id = ttrss_feeds.id AND
+                       hidden = false AND unread = true AND ttrss_user_entries.owner_uid = ".$_SESSION["uid"]);
+
+               $count = db_fetch_result($result, 0, "count");
+
+               if (!$ret_mode) {
+                       print "<counter type=\"label\" id=\"-2\" counter=\"$count\"/>";
+               } else {
+                       $ret_arr["-2"]["counter"] = $count;
+                       $ret_arr["-2"]["description"] = "Published";
+               }
+
+
                $result = db_query($link, "SELECT owner_uid,id,sql_exp,description FROM
                        ttrss_labels WHERE owner_uid = ".$_SESSION["uid"]." ORDER by description");
        
                        } else if ($feed == -1) { // starred virtual feed
                                $query_strategy_part = "marked = true";
                                $vfeed_query_part = "ttrss_feeds.title AS feed_title,";
+                       } else if ($feed == -2) { // published virtual feed
+                               $query_strategy_part = "published = true";
+                               $vfeed_query_part = "ttrss_feeds.title AS feed_title,";
                        } else if ($feed <= -10) { // labels
                                $label_id = -$feed - 11;
        
        
                        } else if ($feed == -1) {
                                $feed_title = __("Starred articles");
+                       } else if ($feed == -2) {
+                               $feed_title = __("Published articles");
                        } else if ($feed < -10) {
                                $label_id = -$feed - 11;
                                $result = db_query($link, "SELECT description FROM ttrss_labels
                                                guid,
                                                ttrss_entries.id,ttrss_entries.title,
                                                updated,
-                                               unread,feed_id,marked,link,last_read,
+                                               unread,feed_id,marked,published,link,last_read,
                                                SUBSTRING(last_read,1,19) as last_read_noms,
                                                $vfeed_query_part
                                                $content_query_part
                }
        }
 
+       function publishArticlesById($link, $ids, $cmode) {
+
+               $tmp_ids = array();
+
+               foreach ($ids as $id) {
+                       array_push($tmp_ids, "ref_id = '$id'");
+               }
+
+               $ids_qpart = join(" OR ", $tmp_ids);
+
+               if ($cmode == 0) {
+                       db_query($link, "UPDATE ttrss_user_entries SET 
+                       published = false,last_read = NOW()
+                       WHERE ($ids_qpart) AND owner_uid = " . $_SESSION["uid"]);
+               } else if ($cmode == 1) {
+                       db_query($link, "UPDATE ttrss_user_entries SET 
+                       published = true
+                       WHERE ($ids_qpart) AND owner_uid = " . $_SESSION["uid"]);
+               } else {
+                       db_query($link, "UPDATE ttrss_user_entries SET 
+                       published = NOT published,last_read = NOW()
+                       WHERE ($ids_qpart) AND owner_uid = " . $_SESSION["uid"]);
+               }
+       }
+
        function catchupArticlesById($link, $ids, $cmode) {
 
                $tmp_ids = array();
 
                                $tog_unread_link = "javascript:selectionToggleUnread()";
                                $tog_marked_link = "javascript:selectionToggleMarked()";
+                               $tog_published_link = "javascript:selectionTogglePublished()";
 
                        } else {
 
 
                                $tog_unread_link = "javascript:selectionToggleUnread(true)";
                                $tog_marked_link = "javascript:selectionToggleMarked(true)";
+                               $tog_published_link = "javascript:selectionTogglePublished(true)";
 
                        }
 
                                        <li class=\"vsep\">&nbsp;</li>
                                        <li class=\"top\">Toggle<ul>
                                                <li onclick=\"$tog_unread_link\">".__('Unread')."</li>
-                                               <li onclick=\"$tog_marked_link\">".__('Starred')."</li></ul></li>
+                                               <li onclick=\"$tog_marked_link\">".__('Starred')."</li>
+                                               <li onclick=\"$tog_published_link\">".__('Published')."</li>
+                                               </ul></li>
                                        <li class=\"vsep\">&nbsp;</li>
                                        <li class=\"top\"><a href=\"$catchup_page_link\">".__('Mark as read')."</a><ul>
                                                <li onclick=\"$catchup_page_link\">".__('This page')."</li>
                }
 
                $num_starred = getFeedUnread($link, -1);
+               $num_published = getFeedUnread($link, -2);
 
                $class = "virt";
 
                printFeedEntry(-1, $class, __("Starred articles"), $num_starred, 
                        "images/mark_set.png", $link);
 
+               $class = "virt";
+
+               if ($num_published > 0) $class .= "Unread";
+
+               printFeedEntry(-2, $class, __("Published articles"), $num_published, 
+                       "images/pub_set.png", $link);
+
                if (get_pref($link, 'ENABLE_FEED_CATS')) {
                        print "</ul>";
                }
                                                alt=\"Set mark\" onclick='javascript:tMark($id)'>";
                                }
 
+                               if ($line["published"] == "t" || $line["published"] == "1") {
+                                       $published_pic = "<img id=\"FPPIC-$id\" src=\"images/pub_set.png\" 
+                                               class=\"markedPic\"
+                                               alt=\"Unpublish\" onclick='javascript:tPub($id)'>";
+                               } else {
+                                       $published_pic = "<img id=\"FPPIC-$id\" src=\"images/pub_unset.png\" 
+                                               class=\"markedPic\"
+                                               alt=\"Publish\" onclick='javascript:tPub($id)'>";
+                               }
+
 #                              $content_link = "<a target=\"_new\" href=\"".$line["link"]."\">" .
 #                                      $line["title"] . "</a>";
 
                                                </td>";
                
                                        print "<td class='hlMarkedPic'>$marked_pic</td>";
+                                       print "<td class='hlMarkedPic'>$published_pic</td>";
 
                                        if ($line["feed_title"]) {                      
                                                print "<td class='hlContent'>$content_link</td>";
                                                        'RROW-$id')\" class=\"feedCheckBox\" id=\"RCHK-$id\">";
 
                                        print "</span><span class='s1'>$marked_pic</span> ";
+                                       print "<span class='s1'>$published_pic</span> ";
 
                                        $tags = get_article_tags($link, $id);
 
 
                return $tag;
        }
+
+       function generate_publish_key() {
+               return sha1(uniqid(rand(), true));
+       }
+
 ?>