dbh->escape_string($_REQUEST['id']); $result = $this->dbh->query("SELECT * FROM ttrss_labels2 WHERE id = '$label_id' AND owner_uid = " . $_SESSION["uid"]); $line = $this->dbh->fetch_assoc($result); print_hidden("id", "$label_id"); print_hidden("op", "pref-labels"); print_hidden("method", "save"); print "
".__("Caption")."
"; print "
"; $fg_color = $line['fg_color']; $bg_color = $line['bg_color']; print "α"; print ""; print "
"; print "
" . __("Colors") . "
"; print "
"; print ""; print ""; print "
".__("Foreground:")."".__("Background:"). "
"; print ""; print ""; print "
"; print ""; print "
"; print "
"; print ""; print "
"; print "
"; # print ""; print "
"; print ""; print ""; print "
"; return; } function getlabeltree() { $root = array(); $root['id'] = 'root'; $root['name'] = __('Labels'); $root['items'] = array(); $result = $this->dbh->query("SELECT * FROM ttrss_labels2 WHERE owner_uid = ".$_SESSION["uid"]." ORDER BY caption"); while ($line = $this->dbh->fetch_assoc($result)) { $label = array(); $label['id'] = 'LABEL:' . $line['id']; $label['bare_id'] = $line['id']; $label['name'] = $line['caption']; $label['fg_color'] = $line['fg_color']; $label['bg_color'] = $line['bg_color']; $label['type'] = 'label'; $label['checkbox'] = false; array_push($root['items'], $label); } $fl = array(); $fl['identifier'] = 'id'; $fl['label'] = 'name'; $fl['items'] = array($root); print json_encode($fl); return; } function colorset() { $kind = $this->dbh->escape_string($_REQUEST["kind"]); $ids = explode(',', $this->dbh->escape_string($_REQUEST["ids"])); $color = $this->dbh->escape_string($_REQUEST["color"]); $fg = $this->dbh->escape_string($_REQUEST["fg"]); $bg = $this->dbh->escape_string($_REQUEST["bg"]); foreach ($ids as $id) { if ($kind == "fg" || $kind == "bg") { $this->dbh->query("UPDATE ttrss_labels2 SET ${kind}_color = '$color' WHERE id = '$id' AND owner_uid = " . $_SESSION["uid"]); } else { $this->dbh->query("UPDATE ttrss_labels2 SET fg_color = '$fg', bg_color = '$bg' WHERE id = '$id' AND owner_uid = " . $_SESSION["uid"]); } $caption = $this->dbh->escape_string(Labels::find_caption($id, $_SESSION["uid"])); /* Remove cached data */ $this->dbh->query("UPDATE ttrss_user_entries SET label_cache = '' WHERE label_cache LIKE '%$caption%' AND owner_uid = " . $_SESSION["uid"]); } return; } function colorreset() { $ids = explode(',', $this->dbh->escape_string($_REQUEST["ids"])); foreach ($ids as $id) { $this->dbh->query("UPDATE ttrss_labels2 SET fg_color = '', bg_color = '' WHERE id = '$id' AND owner_uid = " . $_SESSION["uid"]); $caption = $this->dbh->escape_string(Labels::find_caption($id, $_SESSION["uid"])); /* Remove cached data */ $this->dbh->query("UPDATE ttrss_user_entries SET label_cache = '' WHERE label_cache LIKE '%$caption%' AND owner_uid = " . $_SESSION["uid"]); } } function save() { $id = $this->dbh->escape_string($_REQUEST["id"]); $caption = $this->dbh->escape_string(trim($_REQUEST["caption"])); $this->dbh->query("BEGIN"); $result = $this->dbh->query("SELECT caption FROM ttrss_labels2 WHERE id = '$id' AND owner_uid = ". $_SESSION["uid"]); if ($this->dbh->num_rows($result) != 0) { $old_caption = $this->dbh->fetch_result($result, 0, "caption"); $result = $this->dbh->query("SELECT id FROM ttrss_labels2 WHERE caption = '$caption' AND owner_uid = ". $_SESSION["uid"]); if ($this->dbh->num_rows($result) == 0) { if ($caption) { $result = $this->dbh->query("UPDATE ttrss_labels2 SET caption = '$caption' WHERE id = '$id' AND owner_uid = " . $_SESSION["uid"]); /* Update filters that reference label being renamed */ $old_caption = $this->dbh->escape_string($old_caption); $this->dbh->query("UPDATE ttrss_filters2_actions SET action_param = '$caption' WHERE action_param = '$old_caption' AND action_id = 7 AND filter_id IN (SELECT id FROM ttrss_filters2 WHERE owner_uid = ".$_SESSION["uid"].")"); print $_REQUEST["value"]; } else { print $old_caption; } } else { print $old_caption; } } $this->dbh->query("COMMIT"); return; } function remove() { $ids = explode(",", $this->dbh->escape_string($_REQUEST["ids"])); foreach ($ids as $id) { Labels::remove($id, $_SESSION["uid"]); } } function add() { $caption = $this->dbh->escape_string($_REQUEST["caption"]); $output = $this->dbh->escape_string($_REQUEST["output"]); if ($caption) { if (Labels::create($caption)) { if (!$output) { print T_sprintf("Created label %s", htmlspecialchars($caption)); } } if ($output == "select") { header("Content-Type: text/xml"); print ""; print_label_select("select_label", $caption, ""); print ""; } } return; } function index() { print "
"; print "
"; print "
"; print "
". "" . __('Select').""; print "
"; print "
".__('All')."
"; print "
".__('None')."
"; print "
"; print" "; print " "; print ""; print "
"; #toolbar print "
"; #pane print "
"; print "
". __("Loading, please wait...")."
"; print "
"; print "
"; #pane PluginHost::getInstance()->run_hooks(PluginHost::HOOK_PREFS_TAB, "hook_prefs_tab", "prefLabels"); print "
"; #container } }