]> git.wh0rd.org - tt-rss.git/blobdiff - backend.php
userDetails -> infoBox, feed infobox, user details improvements
[tt-rss.git] / backend.php
index 4b9d3a7f3e1bfbf32a38e000ccca6bcab062c829..0333e11fd1ac867c860aa8921a3d474b5edbefd4 100644 (file)
                        $feed_id = db_escape_string($_GET["feed"]);
 
                        $result = db_query($link, 
-                               "SELECT feed_url FROM ttrss_feeds WHERE id = '$feed_id'");
+                               "SELECT feed_url FROM ttrss_feeds WHERE id = '$feed_id'
+                                       AND owner_uid = " . $_SESSION["uid"]);
 
                        if (db_num_rows($result) > 0) {                 
                                $feed_url = db_fetch_result($result, 0, "feed_url");
-//                             update_rss_feed($link, $feed_url, $feed_id);
+                               update_rss_feed($link, $feed_url, $feed_id);
                        }
 
-                       print "DONE-$feed_id";
-
+                       print "<rpc-reply>";
+                       getFeedCounter($link, $feed_id);
+                       print "</rpc-reply>";
+                       
                        return;
                }
 
                        print "</rpc-reply>";
                }
                
-               if ($subop == "catchupPage") {
+               if ($subop == "catchupSelected") {
 
                        $ids = split(",", $_GET["ids"]);
 
                        foreach ($ids as $id) {
 
-                               db_query($link, "UPDATE ttrss_entries SET unread=false,last_read = NOW()
-                                       WHERE id = '$id'");
+                               db_query($link, "UPDATE ttrss_user_entries SET unread=false,last_read = NOW()
+                                       WHERE id = '$id' AND owner_uid = " . $_SESSION["uid"]);
 
                        }
 
                $subop = $_GET["subop"];
 
                if ($subop == "catchupAll") {
-                       db_query($link, "UPDATE ttrss_entries SET 
+                       db_query($link, "UPDATE ttrss_user_entries SET 
                                last_read = NOW(),unread = false WHERE owner_uid = " . $_SESSION["uid"]);
                }
 
                if ($subop == "unread") {
                        $ids = split(",", $_GET["ids"]);
                        foreach ($ids as $id) {
-                               db_query($link, "UPDATE ttrss_entries SET unread = true WHERE feed_id = '$id'");
+                               db_query($link, "UPDATE ttrss_user_entries SET unread = true 
+                                       WHERE feed_id = '$id' AND owner_uid = ".$_SESSION["uid"]);
                        }
 
-                       print "Marked selected feeds as read.";
+                       print "Marked selected feeds as unread.";
                }
 
                if ($subop == "read") {
                        $ids = split(",", $_GET["ids"]);
                        foreach ($ids as $id) {
-                               db_query($link, "UPDATE ttrss_entries 
-                                       SET unread = false,last_read = NOW() WHERE feed_id = '$id'");
+                               db_query($link, "UPDATE ttrss_user_entries 
+                                       SET unread = false,last_read = NOW() WHERE 
+                                               feed_id = '$id' AND owner_uid = ".$_SESSION["uid"]);
                        }
 
-                       print "Marked selected feeds as unread.";
+                       print "Marked selected feeds as read.";
 
                }
 
                                title = '$feed_title', feed_url = '$feed_link',
                                update_interval = '$upd_intl',
                                purge_interval = '$purge_intl' 
-                               WHERE id = '$feed_id'");                        
+                               WHERE id = '$feed_id' AND owner_uid = " . $_SESSION["uid"]);                    
 
                }
 
                                $ids = split(",", $_GET["ids"]);
 
                                foreach ($ids as $id) {
-                                       db_query($link, "DELETE FROM ttrss_feeds WHERE id = '$id'");
+                                       db_query($link, "DELETE FROM ttrss_feeds 
+                                               WHERE id = '$id' AND owner_uid = " . $_SESSION["uid"]);
 
                                        $icons_dir = ICONS_DIR;
                                        
                        if (!WEB_DEMO_MODE) {
 
                                $feed_link = db_escape_string($_GET["link"]);
-                                       
-                               $result = db_query($link,
-                                       "INSERT INTO ttrss_feeds (owner_uid,feed_url,title) VALUES ('".$_SESSION["uid"]."', '$feed_link', '')");
 
                                $result = db_query($link,
-                                       "SELECT id FROM ttrss_feeds WHERE feed_url = '$feed_link'");
+                                       "SELECT id FROM ttrss_feeds 
+                                       WHERE feed_url = '$feed_link' AND owner_uid = ".$_SESSION["uid"]);
+
+                               if (db_num_rows($result) == 0) {
+                                       
+                                       $result = db_query($link,
+                                               "INSERT INTO ttrss_feeds (owner_uid,feed_url,title) 
+                                               VALUES ('".$_SESSION["uid"]."', '$feed_link', '')");
 
-                               $feed_id = db_fetch_result($result, 0, "id");
+                                       $result = db_query($link,
+                                       "SELECT id FROM ttrss_feeds WHERE feed_url = '$feed_link' 
+                                               AND owner_uid = " . $_SESSION["uid"]);
 
-                               if ($feed_id) {
-                                       update_rss_feed($link, $feed_link, $feed_id);
+                                       $feed_id = db_fetch_result($result, 0, "id");
+
+                                       if ($feed_id) {
+                                               update_rss_feed($link, $feed_link, $feed_id);
+                                       }
+                               } else {
+
+                                       print "<div class=\"warning\">
+                                               Feed <b>$feed_link</b> already exists in the database.
+                                       </div>";
                                }
                        }
                }
                        FROM 
                                ttrss_feeds WHERE owner_uid = '".$_SESSION["uid"]."' ORDER by title");
 
+               print "<div id=\"infoBox\">PLACEHOLDER</div>";
+
                print "<p><table width=\"100%\" class=\"prefFeedList\" id=\"prefFeedList\">";
                print "<tr class=\"title\">
                                        <td>&nbsp;</td><td>Select</td><td width=\"30%\">Title</td>
 
                        print "
                                Selection:&nbsp;
+                       <input type=\"submit\" class=\"button\" 
+                               onclick=\"javascript:selectedFeedDetails()\" value=\"Details\">
                        <input type=\"submit\" class=\"button\" 
                                onclick=\"javascript:editSelectedFeed()\" value=\"Edit\">
                        <input type=\"submit\" class=\"button\" 
                                ttrss_users
                        ORDER by login");
 
-               print "<div id=\"prefUserDetails\">PLACEHOLDER</div>";
+               print "<div id=\"infoBox\">PLACEHOLDER</div>";
 
                print "<p><table width=\"100%\" class=\"prefUserList\" id=\"prefUserList\">";
 
 
                $uid = sprintf("%d", $_GET["id"]);
 
-               print "<div class='userDetails'>";
+               print "<div class='infoBoxContents'>";
 
-               $result = db_query($link, "SELECT login,last_login,access_level
+               $result = db_query($link, "SELECT login,last_login,access_level,
+                       (SELECT COUNT(int_id) FROM ttrss_user_entries 
+                               WHERE owner_uid = id) AS stored_articles
                        FROM ttrss_users 
                        WHERE id = '$uid'");
                        
                $login = db_fetch_result($result, 0, "login");
                $last_login = db_fetch_result($result, 0, "last_login");
                $access_level = db_fetch_result($result, 0, "access_level");
+               $stored_articles = db_fetch_result($result, 0, "stored_articles");
 
                print "<tr><td>Username</td><td>$login</td></tr>";
                print "<tr><td>Access level</td><td>$access_level</td></tr>";
                print "<tr><td>Last logged in</td><td>$last_login</td></tr>";
+               print "<tr><td>Stored articles</td><td>$stored_articles</td></tr>";
 
                $result = db_query($link, "SELECT COUNT(id) as num_feeds FROM ttrss_feeds
                        WHERE owner_uid = '$uid'");
 
 /*             $result = db_query($link, "SELECT 
                        SUM(LENGTH(content)+LENGTH(title)+LENGTH(link)+LENGTH(guid)) AS db_size 
-                       FROM ttrss_entries WHERE owner_uid = '$uid'");
+                       FROM ttrss_user_entries,ttrss_entries 
+                               WHERE owner_uid = '$uid' AND ref_id = id");
 
                $db_size = round(db_fetch_result($result, 0, "db_size") / 1024);
 
-               print "<tr><td>Approx. DB size</td><td>$db_size KBytes</td></tr>"; */
+               print "<tr><td>Approx. used DB size</td><td>$db_size KBytes</td></tr>";  */
 
                print "</table>";
 
 
                print "<div align='center'>
                        <input type='submit' class='button'                     
-                       onclick=\"closeUserDetails()\" value=\"Close this window\"></div>";
+                       onclick=\"closeInfoBox()\" value=\"Close this window\"></div>";
 
 //             print "</body></html>"; 
 
        }
 
+       if ($op == "feed-details") {
+
+               $feed_id = $_GET["id"];
+
+               $result = db_query($link, 
+                       "SELECT 
+                               title,feed_url,last_updated,
+                               (SELECT COUNT(int_id) FROM ttrss_user_entries 
+                                       WHERE feed_id = id) AS total,
+                               (SELECT COUNT(int_id) FROM ttrss_user_entries 
+                                       WHERE feed_id = id AND unread = true) AS unread,
+                               (SELECT COUNT(int_id) FROM ttrss_user_entries 
+                                       WHERE feed_id = id AND marked = true) AS marked
+                       FROM ttrss_feeds
+                       WHERE id = '$feed_id' AND owner_uid = ".$_SESSION["uid"]);
+
+               if (db_num_rows($result) == 0) return;
+
+               $title = db_fetch_result($result, 0, "title");
+               $last_updated = db_fetch_result($result, 0, "last_updated");
+               $feed_url = db_fetch_result($result, 0, "feed_url");
+               $total = db_fetch_result($result, 0, "total");
+               $unread = db_fetch_result($result, 0, "unread");
+               $marked = db_fetch_result($result, 0, "marked");
+
+               print "<div class=\"infoBoxContents\"><h1>$title</h1>";
+
+               print "<table width='100%'>";
+
+               print "<tr><td>Feed URL</td><td><a href=\"$feed_url\">$feed_url</a></td></tr>";
+               print "<tr><td>Last updated</td><td>$last_updated</td></tr>";
+               print "<tr><td>Total articles</td><td>$total</td></tr>";
+               print "<tr><td>Unread articles</td><td>$unread</td></tr>";
+               print "<tr><td>Starred articles</td><td>$marked</td></tr>";
+
+               print "</table>";
+
+               print "</div>";
+
+               print "<div align='center'>
+                       <input type='submit' class='button'                     
+                       onclick=\"closeInfoBox()\" value=\"Close this window\"></div>";
+
+       }
+
        db_close($link);
 ?>