예제 #1
0
파일: api.php 프로젝트: Verisor/tt-rss
 function setArticleLabel()
 {
     $article_ids = array_filter(explode(",", $this->dbh->escape_string($_REQUEST["article_ids"])), is_numeric);
     $label_id = (int) $this->dbh->escape_string($_REQUEST['label_id']);
     $assign = (bool) $this->dbh->escape_string($_REQUEST['assign']) == "true";
     $label = $this->dbh->escape_string(label_find_caption(feed_to_label_id($label_id), $_SESSION["uid"]));
     $num_updated = 0;
     if ($label) {
         foreach ($article_ids as $id) {
             if ($assign) {
                 label_add_article($id, $label, $_SESSION["uid"]);
             } else {
                 label_remove_article($id, $label, $_SESSION["uid"]);
             }
             ++$num_updated;
         }
     }
     $this->wrap(self::STATUS_OK, array("status" => "OK", "updated" => $num_updated));
 }
예제 #2
0
 function labelops($assign)
 {
     $reply = array();
     $ids = explode(",", db_escape_string($_REQUEST["ids"]));
     $label_id = db_escape_string($_REQUEST["lid"]);
     $label = db_escape_string(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);
 }