From 396bfdf9286a713f24c0580114b24634df8a1528 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 17 Dec 2011 11:22:50 +0400 Subject: [PATCH] api: add setArticleLabel --- classes/api.php | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/classes/api.php b/classes/api.php index 9dd8fa7e..96d3947e 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')); }