]> git.wh0rd.org Git - tt-rss.git/commitdiff
add rss.getSubscribedFeeds method
authorAndrew Dolgov <fox@madoka.spb.ru>
Tue, 16 May 2006 08:08:37 +0000 (09:08 +0100)
committerAndrew Dolgov <fox@madoka.spb.ru>
Tue, 16 May 2006 08:08:37 +0000 (09:08 +0100)
xml-rpc.php
xmlrpc/extras/test.py

index 9bfc25e522a6acb899e533e2a6c880c11608dfec..68101fc8b79e8913d2766dee0e22d583b8d9b4ad 100644 (file)
                pg_query("set client_encoding = 'utf-8'");
        }
 
-       function subscribeToFeed($msg) {
-       #               $value = new xmlrpcval("OK");
+       function getSubscribedFeeds($msg) {
+               global $link;
+
+               $login_o = $msg->getParam(0);
+               $pass_o = $msg->getParam(1);
+       
+               $login = $login_o->scalarval();
+               $pass = $pass_o->scalarval();
+       
+               $user_id = authenticate_user($link, $login, $pass);
+
+               if (authenticate_user($link, $login, $pass)) {
+
+                       $result = db_query($link, "SELECT 
+                               id, feed_url, title, SUBSTRING(last_updated,1,19) AS last_updated
+                                       FROM ttrss_feeds WHERE owner_uid = " . 
+                               $_SESSION["uid"]);
 
+                       $feeds = array();
+
+                       while ($line = db_fetch_assoc($result)) {
+                               
+                               $line_struct = new xmlrpcval(
+                                       array(
+                                               "feed_url" => new xmlrpcval($line["feed_url"]),
+                                               "title" => new xmlrpcval($line["title"]),
+                                               "last_updated" => new xmlrpcval(strtotime($line["last_updated"]))
+                                       ),
+                                       "struct");
+
+                               array_push($feeds, $line_struct);
+                       }
+
+                       $reply = new xmlrpcval($feeds, "array");
+                       
+               } else {
+                       $reply = new xmlrpcval("Login failed.");
+               }
+               
+               return new xmlrpcresp($reply);
+       }
+
+       function subscribeToFeed($msg) {
                global $link;
 
                $login_o = $msg->getParam(0);
 
        $subscribeToFeed_sig = array(array($xmlrpcString,
                $xmlrpcString, $xmlrpcString, $xmlrpcString));
-               
+
+       $getSubscribedFeeds_sig = array(array($xmlrpcString,
+               $xmlrpcString, $xmlrpcString));
+
        $s = new xmlrpc_server( 
                        array(
+                         "rss.getSubscribedFeeds" => array("function" => "getSubscribedFeeds",
+                                       "signature" => $getSubscribedFeeds_sig),
                          "rss.subscribeToFeed" => array("function" => "subscribeToFeed",
                                        "signature" => $subscribeToFeed_sig))
                        );
index 1bf5730a81692e0bd94003f8dbb2b962739577e1..65d53556e74b815938c6c2f5dd59ad8d07b6aa85 100644 (file)
@@ -9,7 +9,10 @@ try:
 #      print server.rss.getAllFeeds("fox", "sotona");
 
        print server.rss.subscribeToFeed("admin", "password", 
-               "http://tt-rss.spb.ru/forum/rss.php");
+               "http://tt-rss.spb.ru/forum/rss.php")
+
+       r = server.rss.getSubscribedFeeds("admin", "password")
+       print r
        
 #    print "Got '" + server.examples.getStateName(32) + "'"
 #