summaryrefslogtreecommitdiff
path: root/classes/api.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2011-12-17 11:22:50 +0400
committerAndrew Dolgov <[email protected]>2011-12-17 11:22:50 +0400
commit396bfdf9286a713f24c0580114b24634df8a1528 (patch)
tree1c91cce706e69cbf38793999eeff1f43eba50008 /classes/api.php
parentea1c2903ee5a5bca9b79d13c5199e7a34147caa8 (diff)
api: add setArticleLabel
Diffstat (limited to 'classes/api.php')
-rw-r--r--classes/api.php30
1 files changed, 30 insertions, 0 deletions
diff --git a/classes/api.php b/classes/api.php
index 9dd8fa7e7..96d3947ec 100644
--- a/classes/api.php
+++ b/classes/api.php
@@ -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'));
}