]>
Commit | Line | Data |
---|---|---|
ef8be8ea | 1 | <?php |
ef8be8ea | 2 | function module_pref_labels($link) { |
ef8be8ea AD |
3 | |
4 | $subop = $_GET["subop"]; | |
5 | ||
ceb30ba4 | 6 | if ($subop == "save") { |
071ec48f | 7 | |
ceb30ba4 | 8 | $id = db_escape_string($_REQUEST["id"]); |
9c5e85fe | 9 | $caption = db_escape_string(trim($_REQUEST["value"])); |
071ec48f | 10 | |
ceb30ba4 | 11 | db_query($link, "BEGIN"); |
10fa6615 | 12 | |
ceb30ba4 AD |
13 | $result = db_query($link, "SELECT caption FROM ttrss_labels2 |
14 | WHERE id = '$id' AND owner_uid = ". $_SESSION["uid"]); | |
ef8be8ea | 15 | |
ceb30ba4 AD |
16 | if (db_num_rows($result) != 0) { |
17 | $old_caption = db_fetch_result($result, 0, "caption"); | |
a4919a16 | 18 | |
ceb30ba4 AD |
19 | $result = db_query($link, "SELECT id FROM ttrss_labels2 |
20 | WHERE caption = '$caption' AND owner_uid = ". $_SESSION["uid"]); | |
ef8be8ea | 21 | |
ceb30ba4 AD |
22 | if (db_num_rows($result) == 0) { |
23 | if ($caption) { | |
24 | $result = db_query($link, "UPDATE ttrss_labels2 SET | |
25 | caption = '$caption' WHERE id = '$id' AND | |
26 | owner_uid = " . $_SESSION["uid"]); | |
ef8be8ea | 27 | |
ceb30ba4 | 28 | /* Update filters that reference label being renamed */ |
ef8be8ea | 29 | |
ceb30ba4 AD |
30 | db_query($link, "UPDATE ttrss_filters SET |
31 | action_param = '$caption' WHERE action_param = '$old_caption' | |
32 | AND action_id = 7 | |
33 | AND owner_uid = " . $_SESSION["uid"]); | |
ef8be8ea | 34 | |
9c5e85fe | 35 | print $_REQUEST["value"]; |
625acd1c AD |
36 | } else { |
37 | print $old_caption; | |
ceb30ba4 AD |
38 | } |
39 | } else { | |
40 | print $old_caption; | |
ef8be8ea | 41 | } |
ef8be8ea AD |
42 | } |
43 | ||
ceb30ba4 | 44 | db_query($link, "COMMIT"); |
ef8be8ea AD |
45 | |
46 | return; | |
47 | } | |
48 | ||
ef8be8ea AD |
49 | if ($subop == "remove") { |
50 | ||
ceb30ba4 | 51 | $ids = split(",", db_escape_string($_GET["ids"])); |
ef8be8ea | 52 | |
f6f7817d | 53 | foreach ($ids as $id) { |
1380f8ee | 54 | label_remove($link, $id, $_SESSION["uid"]); |
ef8be8ea | 55 | } |
f6f7817d | 56 | |
ef8be8ea AD |
57 | } |
58 | ||
59 | if ($subop == "add") { | |
ef8be8ea | 60 | |
ceb30ba4 | 61 | $caption = db_escape_string($_GET["caption"]); |
ef8be8ea | 62 | |
ceb30ba4 | 63 | if ($caption) { |
caf1f12f | 64 | |
6b2ee18d AD |
65 | if (label_create($link, $caption)) { |
66 | print T_sprintf("Created label <b>%s</b>", htmlspecialchars($caption)); | |
ceb30ba4 | 67 | } |
6b2ee18d | 68 | |
5e6f933a AD |
69 | } |
70 | ||
71 | return; | |
ef8be8ea AD |
72 | } |
73 | ||
fe8d2059 AD |
74 | set_pref($link, "_PREFS_ACTIVE_TAB", "labelConfig"); |
75 | ||
ef8be8ea AD |
76 | $sort = db_escape_string($_GET["sort"]); |
77 | ||
78 | if (!$sort || $sort == "undefined") { | |
ceb30ba4 | 79 | $sort = "caption"; |
ef8be8ea AD |
80 | } |
81 | ||
112d2aec AD |
82 | $label_search = db_escape_string($_GET["search"]); |
83 | ||
84 | if (array_key_exists("search", $_GET)) { | |
85 | $_SESSION["prefs_label_search"] = $label_search; | |
86 | } else { | |
87 | $label_search = $_SESSION["prefs_label_search"]; | |
88 | } | |
89 | ||
c17d514b AD |
90 | print "<div id=\"colorPicker\" style=\"display : none\">"; |
91 | ||
92 | $color_picker_pairs = array( | |
93 | array('#063064', '#fff7d5'), | |
94 | array('#ffffff', '#00ccff'), | |
95 | array('#ffffff', '#cc00ff'), | |
96 | array('#ffffff', '#00ffcc'), | |
97 | array('#ffffff', '#0000ff'), | |
98 | array('#ffffff', '#ff00ff'), | |
99 | array('#ffffff', '#ff0000'), | |
100 | array('#394f00', '#ccff00')); | |
101 | ||
102 | foreach ($color_picker_pairs as $c) { | |
103 | $fg_color = $c[0]; | |
104 | $bg_color = $c[1]; | |
105 | ||
106 | print "<div class='colorPickerEntry' | |
107 | style='color : $fg_color; background-color : $bg_color;' | |
108 | onclick=\"colorPickerDo('$fg_color', '$bg_color')\">z</div>"; | |
109 | ||
110 | } | |
111 | ||
112 | print "<br clear='both'>"; | |
113 | ||
114 | print "</div>"; | |
115 | ||
112d2aec AD |
116 | print "<div class=\"feedEditSearch\"> |
117 | <input id=\"label_search\" size=\"20\" type=\"search\" | |
4cf6fc6a AD |
118 | onfocus=\"javascript:disableHotkeys();\" |
119 | onblur=\"javascript:enableHotkeys();\" | |
112d2aec AD |
120 | onchange=\"javascript:updateLabelList()\" value=\"$label_search\"> |
121 | <input type=\"submit\" class=\"button\" | |
122 | onclick=\"javascript:updateLabelList()\" value=\"".__('Search')."\"> | |
112d2aec | 123 | </div>"; |
0d32b41e | 124 | |
ef8be8ea AD |
125 | print "<div class=\"prefGenericAddBox\">"; |
126 | ||
127 | print"<input type=\"submit\" class=\"button\" | |
128 | id=\"label_create_btn\" | |
ceb30ba4 | 129 | onclick=\"return addLabel()\" |
a3c159c4 | 130 | value=\"".__('Create label')."\"></div>"; |
ef8be8ea | 131 | |
112d2aec | 132 | if ($label_search) { |
ceb30ba4 | 133 | $label_search_query = "caption LIKE '%$label_search%' AND"; |
112d2aec AD |
134 | } else { |
135 | $label_search_query = ""; | |
136 | } | |
137 | ||
ef8be8ea | 138 | $result = db_query($link, "SELECT |
2eb9c95c | 139 | * |
ef8be8ea | 140 | FROM |
ceb30ba4 | 141 | ttrss_labels2 |
ef8be8ea | 142 | WHERE |
112d2aec | 143 | $label_search_query |
ef8be8ea AD |
144 | owner_uid = ".$_SESSION["uid"]." |
145 | ORDER BY $sort"); | |
146 | ||
147 | // print "<div id=\"infoBoxShadow\"><div id=\"infoBox\">PLACEHOLDER</div></div>"; | |
148 | ||
149 | if (db_num_rows($result) != 0) { | |
150 | ||
ef8be8ea AD |
151 | print "<p><table width=\"100%\" cellspacing=\"0\" |
152 | class=\"prefLabelList\" id=\"prefLabelList\">"; | |
153 | ||
154 | print "<tr><td class=\"selectPrompt\" colspan=\"8\"> | |
e8d0177d AD |
155 | ".__('Select:')." |
156 | <a href=\"javascript:selectPrefRows('label', true)\">".__('All')."</a>, | |
157 | <a href=\"javascript:selectPrefRows('label', false)\">".__('None')."</a> | |
ef8be8ea AD |
158 | </td</tr>"; |
159 | ||
4d23f96e | 160 | /* print "<tr class=\"title\"> |
ef8be8ea | 161 | <td width=\"5%\"> </td> |
4d23f96e | 162 | <td width=\"95%\"><a href=\"javascript:updateLabelList('caption')\">".__('Caption')."</a></td> |
ef8be8ea | 163 | </td> |
4d23f96e | 164 | </tr>"; */ |
ef8be8ea AD |
165 | |
166 | $lnum = 0; | |
167 | ||
168 | while ($line = db_fetch_assoc($result)) { | |
169 | ||
170 | $class = ($lnum % 2) ? "even" : "odd"; | |
171 | ||
172 | $label_id = $line["id"]; | |
ceb30ba4 AD |
173 | $this_row_id = "id=\"LILRR-$label_id\""; |
174 | ||
ef8be8ea AD |
175 | print "<tr class=\"$class\" $this_row_id>"; |
176 | ||
ceb30ba4 | 177 | $line["caption"] = htmlspecialchars($line["caption"]); |
2eb9c95c AD |
178 | |
179 | $fg_color = $line["fg_color"]; | |
180 | $bg_color = $line["bg_color"]; | |
181 | ||
182 | if (!$fg_color) $fg_color = "black"; | |
183 | if (!$bg_color) $bg_color = "transparent"; | |
184 | ||
4d23f96e | 185 | print "<td width='5%' align='center'><input |
ceb30ba4 | 186 | onclick='toggleSelectPrefRow(this, \"label\");' |
ef8be8ea AD |
187 | type=\"checkbox\" id=\"LICHK-".$line["id"]."\"></td>"; |
188 | ||
c17d514b AD |
189 | /* $id = $line['id']; |
190 | ||
191 | print "<td width='30' align='center'> | |
192 | <div class='labelColorIndicator' | |
2eb9c95c | 193 | style='color : $fg_color; background-color : $bg_color' |
c17d514b AD |
194 | onclick=\"colorPicker(this, '$id', '$fg_color', '$bg_color')\">z</div>"; |
195 | ||
196 | print "</td>"; */ | |
197 | ||
198 | print "<td><span class='prefsLabelEntry' | |
2eb9c95c | 199 | id=\"LILT-".$line["id"]."\">" . $line["caption"] . |
c17d514b AD |
200 | "</span>"; |
201 | ||
ef8be8ea AD |
202 | |
203 | print "</tr>"; | |
204 | ||
205 | ++$lnum; | |
206 | } | |
a5bd7bf0 | 207 | |
ef8be8ea | 208 | print "</table>"; |
ef8be8ea AD |
209 | |
210 | print "<p id=\"labelOpToolbar\">"; | |
a3c159c4 | 211 | print "<input type=\"submit\" class=\"button\" disabled=\"true\" |
a3c159c4 | 212 | onclick=\"javascript:removeSelectedLabels()\" value=\"".__('Remove')."\">"; |
ceb30ba4 | 213 | print "</p>"; |
ef8be8ea AD |
214 | |
215 | } else { | |
a5bd7bf0 AD |
216 | print "<p>"; |
217 | if (!$label_search) { | |
218 | print __('No labels defined.'); | |
219 | } else { | |
220 | print __('No matching labels found.'); | |
221 | } | |
222 | print "</p>"; | |
223 | ||
ef8be8ea AD |
224 | } |
225 | } | |
226 | ?> |