]>
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 | ||
90 | print "<div class=\"feedEditSearch\"> | |
91 | <input id=\"label_search\" size=\"20\" type=\"search\" | |
4cf6fc6a AD |
92 | onfocus=\"javascript:disableHotkeys();\" |
93 | onblur=\"javascript:enableHotkeys();\" | |
112d2aec AD |
94 | onchange=\"javascript:updateLabelList()\" value=\"$label_search\"> |
95 | <input type=\"submit\" class=\"button\" | |
96 | onclick=\"javascript:updateLabelList()\" value=\"".__('Search')."\"> | |
112d2aec | 97 | </div>"; |
0d32b41e | 98 | |
ef8be8ea AD |
99 | print "<div class=\"prefGenericAddBox\">"; |
100 | ||
101 | print"<input type=\"submit\" class=\"button\" | |
102 | id=\"label_create_btn\" | |
ceb30ba4 | 103 | onclick=\"return addLabel()\" |
a3c159c4 | 104 | value=\"".__('Create label')."\"></div>"; |
ef8be8ea | 105 | |
112d2aec | 106 | if ($label_search) { |
ceb30ba4 | 107 | $label_search_query = "caption LIKE '%$label_search%' AND"; |
112d2aec AD |
108 | } else { |
109 | $label_search_query = ""; | |
110 | } | |
111 | ||
ef8be8ea | 112 | $result = db_query($link, "SELECT |
2eb9c95c | 113 | * |
ef8be8ea | 114 | FROM |
ceb30ba4 | 115 | ttrss_labels2 |
ef8be8ea | 116 | WHERE |
112d2aec | 117 | $label_search_query |
ef8be8ea AD |
118 | owner_uid = ".$_SESSION["uid"]." |
119 | ORDER BY $sort"); | |
120 | ||
121 | // print "<div id=\"infoBoxShadow\"><div id=\"infoBox\">PLACEHOLDER</div></div>"; | |
122 | ||
123 | if (db_num_rows($result) != 0) { | |
124 | ||
ef8be8ea AD |
125 | print "<p><table width=\"100%\" cellspacing=\"0\" |
126 | class=\"prefLabelList\" id=\"prefLabelList\">"; | |
127 | ||
128 | print "<tr><td class=\"selectPrompt\" colspan=\"8\"> | |
e8d0177d AD |
129 | ".__('Select:')." |
130 | <a href=\"javascript:selectPrefRows('label', true)\">".__('All')."</a>, | |
131 | <a href=\"javascript:selectPrefRows('label', false)\">".__('None')."</a> | |
ef8be8ea AD |
132 | </td</tr>"; |
133 | ||
4d23f96e | 134 | /* print "<tr class=\"title\"> |
ef8be8ea | 135 | <td width=\"5%\"> </td> |
4d23f96e | 136 | <td width=\"95%\"><a href=\"javascript:updateLabelList('caption')\">".__('Caption')."</a></td> |
ef8be8ea | 137 | </td> |
4d23f96e | 138 | </tr>"; */ |
ef8be8ea AD |
139 | |
140 | $lnum = 0; | |
141 | ||
142 | while ($line = db_fetch_assoc($result)) { | |
143 | ||
144 | $class = ($lnum % 2) ? "even" : "odd"; | |
145 | ||
146 | $label_id = $line["id"]; | |
ceb30ba4 AD |
147 | $this_row_id = "id=\"LILRR-$label_id\""; |
148 | ||
ef8be8ea AD |
149 | print "<tr class=\"$class\" $this_row_id>"; |
150 | ||
ceb30ba4 | 151 | $line["caption"] = htmlspecialchars($line["caption"]); |
2eb9c95c AD |
152 | |
153 | $fg_color = $line["fg_color"]; | |
154 | $bg_color = $line["bg_color"]; | |
155 | ||
156 | if (!$fg_color) $fg_color = "black"; | |
157 | if (!$bg_color) $bg_color = "transparent"; | |
158 | ||
4d23f96e | 159 | print "<td width='5%' align='center'><input |
ceb30ba4 | 160 | onclick='toggleSelectPrefRow(this, \"label\");' |
ef8be8ea AD |
161 | type=\"checkbox\" id=\"LICHK-".$line["id"]."\"></td>"; |
162 | ||
2eb9c95c AD |
163 | print "<td><span class='prefsLabelEntry' |
164 | style='color : $fg_color; background-color : $bg_color' | |
165 | id=\"LILT-".$line["id"]."\">" . $line["caption"] . | |
ceb30ba4 | 166 | "</span></td>"; |
ef8be8ea AD |
167 | |
168 | print "</tr>"; | |
169 | ||
170 | ++$lnum; | |
171 | } | |
a5bd7bf0 | 172 | |
ef8be8ea | 173 | print "</table>"; |
ef8be8ea AD |
174 | |
175 | print "<p id=\"labelOpToolbar\">"; | |
a3c159c4 | 176 | print "<input type=\"submit\" class=\"button\" disabled=\"true\" |
a3c159c4 | 177 | onclick=\"javascript:removeSelectedLabels()\" value=\"".__('Remove')."\">"; |
ceb30ba4 | 178 | print "</p>"; |
ef8be8ea AD |
179 | |
180 | } else { | |
a5bd7bf0 AD |
181 | print "<p>"; |
182 | if (!$label_search) { | |
183 | print __('No labels defined.'); | |
184 | } else { | |
185 | print __('No matching labels found.'); | |
186 | } | |
187 | print "</p>"; | |
188 | ||
ef8be8ea AD |
189 | } |
190 | } | |
191 | ?> |