]> git.wh0rd.org - tt-rss.git/blobdiff - modules/backend-rpc.php
handle counters using JSON instead of XML
[tt-rss.git] / modules / backend-rpc.php
index aa05e8e8e8a3866e00d38a1906650d1fd1b3ce5f..228d45a78eabbdecbb5ae41f54cd30042793f9cf 100644 (file)
 
                if ($subop == "getAllCounters") {
                        print "<rpc-reply>";                    
-                       print "<counters>";
+                       print "<counters><![CDATA[";
 
-                       $omode = $_REQUEST["omode"];
+                       print json_encode(getAllCounters($link, $_REQUEST['omode']));
 
-                       getAllCounters($link, $omode);
-                       print "</counters>";
+                       print "]]></counters>";
                        print_runtime_info($link);
                        print "</rpc-reply>";
 
                        $result = db_query($link, "UPDATE ttrss_user_entries SET marked = $mark
                                WHERE ref_id = '$id' AND owner_uid = " . $_SESSION["uid"]);
 
-                       print "<rpc-reply><counters>";
-                       getGlobalCounters($link);
-                       getVirtCounters($link);
-                       getLabelCounters($link);
-                       if (get_pref($link, 'ENABLE_FEED_CATS')) {
-                               getCategoryCounters($link);
-                       }
-                       print "</counters></rpc-reply>";
+                       print "<rpc-reply><counters><![CDATA[";
+                       print json_encode(getAllCounters($link));
+                       print "]]></counters></rpc-reply>";
 
                        return;
                }
                        $result = db_query($link, "DELETE FROM ttrss_user_entries                               
                                WHERE ref_id IN ($ids) AND owner_uid = " . $_SESSION["uid"]);
 
-                       print "<rpc-reply><counters>";
-                       getGlobalCounters($link);
-                       getVirtCounters($link);
-                       if (get_pref($link, 'ENABLE_FEED_CATS')) {
-                               getCategoryCounters($link);
-                       }
-                       print "</counters></rpc-reply>";
+                       print "<rpc-reply><counters><![CDATA[";
+                       print json_encode(getAllCounters($link));
+                       print "]]></counters></rpc-reply>";
 
                        return;
                }
                                SET feed_id = orig_feed_id, orig_feed_id = NULL
                                WHERE ref_id IN ($ids) AND owner_uid = " . $_SESSION["uid"]);
 
-                       print "<rpc-reply><counters>";
-                       getGlobalCounters($link);
-                       getVirtCounters($link);
-                       if (get_pref($link, 'ENABLE_FEED_CATS')) {
-                               getCategoryCounters($link);
-                       }
-                       print "</counters></rpc-reply>";
+                       print "<rpc-reply><counters><![CDATA[";
+                       print json_encode(getAllCounters($link));
+                       print "]]></counters></rpc-reply>";
 
                        return;
                }
                                archive_article($link, $id, $_SESSION["uid"]);
                        }
 
-                       print "<rpc-reply><counters>";
-                       getGlobalCounters($link);
-                       getVirtCounters($link);
-                       if (get_pref($link, 'ENABLE_FEED_CATS')) {
-                               getCategoryCounters($link);
-                       }
-                       print "</counters></rpc-reply>";
+                       print "<rpc-reply><counters><![CDATA[";
+                       print json_encode(getAllCounters($link));
+                       print "]]></counters></rpc-reply>";
 
                        return;
                }
 
                        print "<rpc-reply>";
                        
-                       print "<counters>";
-                       getGlobalCounters($link);
-                       getVirtCounters($link);
-                       getLabelCounters($link);
-                       if (get_pref($link, 'ENABLE_FEED_CATS')) {
-                               getCategoryCounters($link);
-                       }
-                       print "</counters>";
+                       print "<counters><![CDATA[";
+                       print json_encode(getAllCounters($link));
+                       print "]]></counters>";
 
                        if ($note != 'undefined') {
                                $note_size = strlen($note);
                        update_rss_feed($link, $feed_id);
 
                        print "<rpc-reply>";    
-                       print "<counters>";
-                       getFeedCounter($link, $feed_id);
-                       print "</counters>";
+                       print "<counters><![CDATA[";
+                       print json_encode(getFeedCounters($link, $feed_id));
+                       print "]]></counters>";
                        print "</rpc-reply>";
                        
                        return;
 
                        print "<rpc-reply>";
 
-                       print "<counters>";
+                       print "<counters><![CDATA[";
 
                        if ($global_unread_caller != $global_unread) {
-
-                               $omode = $_REQUEST["omode"];
-        
-                               if (!$omode) $omode = "tflc";
-
-                               getVirtCounters($link);
-
-                               if (strchr($omode, "l")) getLabelCounters($link);
-
-                               if (strchr($omode, "c")) {                      
-                                       if (get_pref($link, 'ENABLE_FEED_CATS')) {
-                                               getCategoryCounters($link);
-                                       }
-                               }
-
-                               if (strchr($omode, "f")) getFeedCounters($link);
-                               if (strchr($omode, "t")) getTagCounters($link);
-
-                               getGlobalCounters($link, $global_unread);
+                               $omode = $_REQUEST["omode"];
+                               print json_encode(getAllCounters($link, $omode));
                        }
  
-                       print "</counters>";
+                       print "]]></counters>";
 
                        print_runtime_info($link);
 
                        catchupArticlesById($link, $ids, $cmode);
 
                        print "<rpc-reply>";
-                       print "<counters>";
-                       getAllCounters($link, $_REQUEST["omode"]);
-                       print "</counters>";
+                       print "<counters><![CDATA[";
+                       print json_encode(getAllCounters($link, $_REQUEST['omode']));
+                       print "]]></counters>";
+
                        print_runtime_info($link);
                        print "</rpc-reply>";
 
                        markArticlesById($link, $ids, $cmode);
 
                        print "<rpc-reply>";
-                       print "<counters>";
-                       getAllCounters($link, $_REQUEST["omode"]);
-                       print "</counters>";
+                       print "<counters><![CDATA[";
+                       print json_encode(getAllCounters($link, $_REQUEST['omode']));
+                       print "]]></counters>";
                        print_runtime_info($link);
                        print "</rpc-reply>";
 
                        publishArticlesById($link, $ids, $cmode);
 
                        print "<rpc-reply>";
-                       print "<counters>";
-                       getAllCounters($link, $_REQUEST["omode"]);
-                       print "</counters>";
+                       print "<counters><![CDATA[";
+                       print json_encode(getAllCounters($link, $_REQUEST['omode']));
+                       print "]]></counters>";
                        print_runtime_info($link);
                        print "</rpc-reply>";
 
 
                        print "</info-for-headlines>";
 
-                       print "<counters>";
-                       getAllCounters($link, $omode);
-                       print "</counters>";
+                       print "<counters><![CDATA[";
+                       print json_encode(getAllCounters($link, $_REQUEST['omode']));
+                       print "]]></counters>";
                        print "</rpc-reply>";
 
                        return;
 
                        print "</info-for-headlines>";
 
-                       print "<counters>";
-                       getAllCounters($link, $omode);
-                       print "</counters>";
+                       print "<counters><![CDATA[";
+                       print json_encode(getAllCounters($link, $_REQUEST['omode']));
+                       print "]]></counters>";
                        print "</rpc-reply>";
 
                        return;