diff options
author | Andrew Dolgov <[email protected]> | 2011-12-17 11:06:55 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2011-12-17 11:06:55 +0400 |
commit | ea1c2903ee5a5bca9b79d13c5199e7a34147caa8 (patch) | |
tree | 3f579d99200e49140462bcddaf6ac14b5ec2592b /classes | |
parent | f03a795de75b99332c6315ea36ff452f7b32ca6a (diff) |
api: add getLabels
Diffstat (limited to 'classes')
-rw-r--r-- | classes/api.php | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/classes/api.php b/classes/api.php index e046fc57d..9dd8fa7e7 100644 --- a/classes/api.php +++ b/classes/api.php @@ -337,6 +337,43 @@ class API extends Handler { print $this->wrap(self::STATUS_OK, array("value" => get_pref($this->link, $pref_name))); } + function getLabels() { + //$article_ids = array_filter(explode(",", db_escape_string($_REQUEST["article_ids"])), is_numeric); + + $article_id = (int)$_REQUEST['article_id']; + + $rv = array(); + + $result = db_query($this->link, "SELECT id, caption, fg_color, bg_color + FROM ttrss_labels2 + WHERE owner_uid = '".$_SESSION['uid']."' ORDER BY caption"); + + if ($article_id) + $article_labels = get_article_labels($this->link, $article_id); + else + $article_labels = array(); + + while ($line = db_fetch_assoc($result)) { + + $checked = false; + foreach ($article_labels as $al) { + if ($al[0] == $line['id']) { + $checked = true; + break; + } + } + + array_push($rv, array( + "id" => (int)$line['id'], + "caption" => $line['caption'], + "fg_color" => $line['fg_color'], + "bg_color" => $line['bg_color'], + "checked" => $checked)); + } + + print $this->wrap(self::STATUS_OK, $rv); + } + function index() { print $this->wrap(self::STATUS_ERR, array("error" => 'UNKNOWN_METHOD')); } |