summaryrefslogtreecommitdiff
path: root/classes/article.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2013-04-02 14:56:08 +0400
committerAndrew Dolgov <[email protected]>2013-04-02 14:56:08 +0400
commit4b7726f0b44db36ad12c0a0918a9129c8cbb1caa (patch)
treee94ea124de84bab61a06a6c9e3120575539e7ca8 /classes/article.php
parent9c96a3e28cb360fc79d1e58f4871ce47ad55333e (diff)
rpc: move labelops to article
Diffstat (limited to 'classes/article.php')
-rw-r--r--classes/article.php42
1 files changed, 42 insertions, 0 deletions
diff --git a/classes/article.php b/classes/article.php
index e75af0e7a..9a0970140 100644
--- a/classes/article.php
+++ b/classes/article.php
@@ -300,5 +300,47 @@ class Article extends Handler_Protected {
print "</ul>";
}
+ function assigntolabel() {
+ return $this->labelops(true);
+ }
+
+ function removefromlabel() {
+ return $this->labelops(false);
+ }
+
+ private function labelops($assign) {
+ $reply = array();
+
+ $ids = explode(",", db_escape_string($this->link, $_REQUEST["ids"]));
+ $label_id = db_escape_string($this->link, $_REQUEST["lid"]);
+
+ $label = db_escape_string($this->link, label_find_caption($this->link, $label_id,
+ $_SESSION["uid"]));
+
+ $reply["info-for-headlines"] = array();
+
+ if ($label) {
+
+ foreach ($ids as $id) {
+
+ if ($assign)
+ label_add_article($this->link, $id, $label, $_SESSION["uid"]);
+ else
+ label_remove_article($this->link, $id, $label, $_SESSION["uid"]);
+
+ $labels = get_article_labels($this->link, $id, $_SESSION["uid"]);
+
+ array_push($reply["info-for-headlines"],
+ array("id" => $id, "labels" => format_article_labels($labels, $id)));
+
+ }
+ }
+
+ $reply["message"] = "UPDATE_COUNTERS";
+
+ print json_encode($reply);
+ }
+
+
}