]>
git.wh0rd.org - tt-rss.git/blob - modules/pref-labels.php
2 function module_pref_labels($link) {
4 $subop = $_GET["subop"];
6 if ($subop == "color-set") {
7 $kind = db_escape_string($_REQUEST["kind"]);
8 $ids = split(',', db_escape_string($_REQUEST["ids"]));
9 $color = db_escape_string($_REQUEST["color"]);
10 $fg = db_escape_string($_REQUEST["fg"]);
11 $bg = db_escape_string($_REQUEST["bg"]);
13 foreach ($ids as $id) {
15 if ($kind == "fg" ||
$kind == "bg") {
16 db_query($link, "UPDATE ttrss_labels2 SET
17 ${kind}_color = '$color' WHERE id = '$id'
18 AND owner_uid = " . $_SESSION["uid"]);
20 db_query($link, "UPDATE ttrss_labels2 SET
21 fg_color = '$fg', bg_color = '$bg' WHERE id = '$id'
22 AND owner_uid = " . $_SESSION["uid"]);
29 if ($subop == "color-reset") {
30 $ids = split(',', db_escape_string($_REQUEST["ids"]));
32 foreach ($ids as $id) {
33 db_query($link, "UPDATE ttrss_labels2 SET
34 fg_color = '', bg_color = '' WHERE id = '$id'
35 AND owner_uid = " . $_SESSION["uid"]);
40 if ($subop == "save") {
42 $id = db_escape_string($_REQUEST["id"]);
43 $caption = db_escape_string(trim($_REQUEST["value"]));
45 db_query($link, "BEGIN");
47 $result = db_query($link, "SELECT caption FROM ttrss_labels2
48 WHERE id = '$id' AND owner_uid = ". $_SESSION["uid"]);
50 if (db_num_rows($result) != 0) {
51 $old_caption = db_fetch_result($result, 0, "caption");
53 $result = db_query($link, "SELECT id FROM ttrss_labels2
54 WHERE caption = '$caption' AND owner_uid = ". $_SESSION["uid"]);
56 if (db_num_rows($result) == 0) {
58 $result = db_query($link, "UPDATE ttrss_labels2 SET
59 caption = '$caption' WHERE id = '$id' AND
60 owner_uid = " . $_SESSION["uid"]);
62 /* Update filters that reference label being renamed */
64 db_query($link, "UPDATE ttrss_filters SET
65 action_param = '$caption' WHERE action_param = '$old_caption'
67 AND owner_uid = " . $_SESSION["uid"]);
69 print $_REQUEST["value"];
78 db_query($link, "COMMIT");
83 if ($subop == "remove") {
85 $ids = split(",", db_escape_string($_GET["ids"]));
87 foreach ($ids as $id) {
88 label_remove($link, $id, $_SESSION["uid"]);
93 if ($subop == "add") {
95 $caption = db_escape_string($_GET["caption"]);
99 if (label_create($link, $caption)) {
100 print T_sprintf("Created label <b>%s</b>", htmlspecialchars($caption));
108 set_pref($link, "_PREFS_ACTIVE_TAB", "labelConfig");
110 $sort = db_escape_string($_GET["sort"]);
112 if (!$sort ||
$sort == "undefined") {
116 $label_search = db_escape_string($_GET["search"]);
118 if (array_key_exists("search", $_GET)) {
119 $_SESSION["prefs_label_search"] = $label_search;
121 $label_search = $_SESSION["prefs_label_search"];
124 function print_color_picker($id) {
126 print "<div id=\"colorPicker-$id\"
127 onmouseover=\"colorPickerActive(true)\"
128 onmouseout=\"colorPickerActive(false)\"
129 class=\"colorPicker\" style='display : none'>";
131 $color_picker_pairs = array(
132 array('#ff0000', '#ffffff'),
133 array('#009000', '#ffffff'),
134 array('#0000ff', '#ffffff'),
135 array('#ff00ff', '#ffffff'),
136 array('#009090', '#ffffff'),
137 array('#ffffff', '#ff0000'),
138 array('#000000', '#00ff00'),
139 array('#ffffff', '#0000ff'),
140 array('#ffffff', '#ff00ff'),
141 array('#000000', '#00ffff'),
142 array('#000000', '#ffffff'),
143 array('#ffffff', '#000000'),
144 array('#ffffff', '#909000'),
145 array('#063064', '#fff7d5'),
146 array('#ffffff', '#4E4E90'),
149 foreach ($color_picker_pairs as $c) {
153 print "<div class='colorPickerEntry'
154 style='color : $fg_color; background-color : $bg_color;'
155 onclick=\"colorPickerDo('$id', '$fg_color', '$bg_color')\">α</div>";
159 print "<br clear='both'>";
161 print "<br/><b>".__('custom color:')."</b>";
162 print "<div class=\"ccPrompt\" onclick=\"labelColorAsk('$id', 'fg')\">".__("foreground")."</div>";
163 print "<div class=\"ccPrompt\" onclick=\"labelColorAsk('$id', 'bg')\">".__("background")."</div>";
168 print "<div class=\"feedEditSearch\">
169 <input id=\"label_search\" size=\"20\" type=\"search\"
170 onfocus=\"javascript:disableHotkeys();\"
171 onblur=\"javascript:enableHotkeys();\"
172 onchange=\"javascript:updateLabelList()\" value=\"$label_search\">
173 <input type=\"submit\" class=\"button\"
174 onclick=\"javascript:updateLabelList()\" value=\"".__('Search')."\">
177 print "<div class=\"prefGenericAddBox\">";
179 print"<input type=\"submit\" class=\"button\"
180 id=\"label_create_btn\"
181 onclick=\"return addLabel()\"
182 value=\"".__('Create label')."\"></div>";
185 $label_search_query = "caption LIKE '%$label_search%' AND";
187 $label_search_query = "";
190 $result = db_query($link, "SELECT
196 owner_uid = ".$_SESSION["uid"]."
199 // print "<div id=\"infoBoxShadow\"><div id=\"infoBox\">PLACEHOLDER</div></div>";
201 if (db_num_rows($result) != 0) {
203 print "<p><table width=\"100%\" cellspacing=\"0\"
204 class=\"prefLabelList\" id=\"prefLabelList\">";
206 print "<tr><td class=\"selectPrompt\" colspan=\"8\">
208 <a href=\"javascript:selectPrefRows('label', true)\">".__('All')."</a>,
209 <a href=\"javascript:selectPrefRows('label', false)\">".__('None')."</a>
212 /* print "<tr class=\"title\">
213 <td width=\"5%\"> </td>
214 <td width=\"95%\"><a href=\"javascript:updateLabelList('caption')\">".__('Caption')."</a></td>
220 while ($line = db_fetch_assoc($result)) {
222 $class = ($lnum %
2) ?
"even" : "odd";
224 $label_id = $line["id"];
225 $this_row_id = "id=\"LILRR-$label_id\"";
227 print "<tr class=\"$class\" $this_row_id>";
229 $line["caption"] = htmlspecialchars($line["caption"]);
231 $fg_color = $line["fg_color"];
232 $bg_color = $line["bg_color"];
234 if (!$fg_color) $fg_color = "";
235 if (!$bg_color) $bg_color = "";
237 print "<td width='5%' align='center'><input
238 onclick='toggleSelectPrefRow(this, \"label\");'
239 type=\"checkbox\" id=\"LICHK-".$line["id"]."\"></td>";
245 print "<div class='labelColorIndicator' id='LICID-$id'
246 style='color : $fg_color; background-color : $bg_color'
247 onclick=\"colorPicker('$id', '$fg_color', '$bg_color')\">α";
248 print_color_picker($id);
252 print "<span class='prefsLabelEntry'
253 id=\"LILT-".$line["id"]."\">" . $line["caption"] .
265 print "<p id=\"labelOpToolbar\">";
267 print "<input type=\"submit\" class=\"button\" disabled=\"true\"
268 onclick=\"javascript:removeSelectedLabels()\" value=\"".__('Remove')."\">";
271 /* print " <input type=\"submit\" class=\"button\" disabled=\"true\"
272 onclick=\"labelColorSet('fg')\" value=\"".__('Fg')."\"> ";
273 print "<input type=\"submit\" class=\"button\" disabled=\"true\"
274 onclick=\"labelColorSet('bg')\" value=\"".__('Bg')."\"> "; */
275 print "<input type=\"submit\" class=\"button\" disabled=\"true\"
276 onclick=\"labelColorReset()\" value=\"".__('Clear colors')."\">";
282 if (!$label_search) {
283 print __('No labels defined.');
285 print __('No matching labels found.');