]> git.wh0rd.org - tt-rss.git/commitdiff
api: add setArticleLabel
authorAndrew Dolgov <fox@madoka.volgo-balt.ru>
Sat, 17 Dec 2011 07:22:50 +0000 (11:22 +0400)
committerAndrew Dolgov <fox@madoka.volgo-balt.ru>
Sat, 17 Dec 2011 07:22:50 +0000 (11:22 +0400)
classes/api.php

index 9dd8fa7e74c6b93e4e0b0712bda3790ddcdb3ebb..96d3947ecd50b63b69d0223f0598455cad0e40b8 100644 (file)
@@ -374,6 +374,36 @@ class API extends Handler {
                print $this->wrap(self::STATUS_OK, $rv);
        }
 
+       function setArticleLabel() {
+
+               $article_ids = array_filter(explode(",", db_escape_string($_REQUEST["article_ids"])), is_numeric);
+               $label_id = (int) db_escape_string($_REQUEST['label_id']);
+               $assign = (bool) db_escape_string($_REQUEST['assign']) == "true";
+
+               $label = db_escape_string(label_find_caption($this->link,
+                       $label_id, $_SESSION["uid"]));
+
+               $num_updated = 0;
+
+               if ($label) {
+
+                       foreach ($article_ids as $id) {
+
+                               if ($assign)
+                                       label_add_article($this->link, $id, $label, $_SESSION["uid"]);
+                               else
+                                       label_remove_article($this->link, $id, $label, $_SESSION["uid"]);
+
+                               ++$num_updated;
+
+                       }
+               }
+
+               print $this->wrap(self::STATUS_OK, array("status" => "OK",
+                       "updated" => $num_updated));
+
+       }
+
        function index() {
                print $this->wrap(self::STATUS_ERR, array("error" => 'UNKNOWN_METHOD'));
        }