]> git.wh0rd.org - tt-rss.git/blame - modules/popup-dialog.php
label editor: rework help link
[tt-rss.git] / modules / popup-dialog.php
CommitLineData
ef8be8ea
AD
1<?php
2 function module_popup_dialog($link) {
3 $id = $_GET["id"];
0b126ac2 4 $param = db_escape_string($_GET["param"]);
ef8be8ea 5
ef16ae37
AD
6 if ($id == "explainError") {
7
cc17c205 8 print "<div id=\"infoBoxTitle\">".__('Notice')."</div>";
ef16ae37
AD
9 print "<div class=\"infoBoxContents\">";
10
11 if ($param == 1) {
cc17c205 12 print __("Update daemon is enabled in configuration, but daemon
ef16ae37
AD
13 process is not running, which prevents all feeds from updating. Please
14 start the daemon process or contact instance owner.");
f6854e44
AD
15
16 $stamp = (int)read_stampfile("update_daemon.stamp");
17
18 print "<p>" . __("Last update:") . " " . date("Y.m.d, G:i", $stamp);
19
ef16ae37
AD
20 }
21
d9fa39f1 22 if ($param == 2) {
4d1d0a45
AD
23 $msg = check_for_update($link, false);
24
25 if (!$msg) {
cc17c205 26 print __("You are running the latest version of Tiny Tiny RSS. The
4d1d0a45
AD
27 fact that you are seeing this dialog is probably a bug.");
28 } else {
29 print $msg;
30 }
d9fa39f1
AD
31
32 }
33
8e00ae9b
AD
34 if ($param == 3) {
35 print __("TT-RSS has detected that update daemon is taking too long to
36 perform a feed update. This could indicate a problem like crash
37 or a hang. Please check the daemon process or contact instance
38 owner.");
f6854e44
AD
39
40 $stamp = (int)read_stampfile("update_daemon.stamp");
41
42 print "<p>" . __("Last update:") . " " . date("Y.m.d, G:i", $stamp);
43
8e00ae9b
AD
44 }
45
ef16ae37
AD
46 print "</div>";
47
48 print "<div align='center'>";
49
50 print "<input class=\"button\"
51 type=\"submit\" onclick=\"return closeInfoBox()\"
cc17c205 52 value=\"".__('Close this window')."\">";
ef16ae37
AD
53
54 print "</div>";
55
5e6f933a 56 return;
ef16ae37
AD
57 }
58
ef8be8ea
AD
59 if ($id == "quickAddFeed") {
60
cc17c205 61 print "<div id=\"infoBoxTitle\">".__('Subscribe to feed')."</div>";
ef8be8ea
AD
62 print "<div class=\"infoBoxContents\">";
63
e6312f6c 64 print "<form id='feed_add_form' onsubmit='return false'>";
ef8be8ea
AD
65
66 print "<input type=\"hidden\" name=\"op\" value=\"pref-feeds\">";
365f95dc 67 /* print "<input type=\"hidden\" name=\"quiet\" value=\"1\">"; */
ef8be8ea 68 print "<input type=\"hidden\" name=\"subop\" value=\"add\">";
442d77f1 69 print "<input type=\"hidden\" name=\"from\" value=\"tt-rss\">";
ef8be8ea
AD
70
71 print "<table width='100%'>
766d42ae 72 <tr><td width='20%'>".__('Feed URL:')."</td><td>
ef8be8ea 73 <input class=\"iedit\" onblur=\"javascript:enableHotkeys()\"
18ab3d7a 74 onkeypress=\"return filterCR(event, subscribeToFeed)\"
ef8be8ea 75 onkeyup=\"toggleSubmitNotEmpty(this, 'fadd_submit_btn')\"
b5015f72 76 onchange=\"toggleSubmitNotEmpty(this, 'fadd_submit_btn')\"
ef8be8ea
AD
77 onfocus=\"javascript:disableHotkeys()\" name=\"feed_url\"></td></tr>";
78
79 if (get_pref($link, 'ENABLE_FEED_CATS')) {
cc17c205 80 print "<tr><td>".__('Category:')."</td><td>";
ef8be8ea
AD
81 print_feed_cat_select($link, "cat_id");
82 print "</td></tr>";
83 }
84
21f4756a
AD
85/* print "<tr><td colspan='2'><div class='insensitive'>";
86
87 print __("Some feeds require authentication. If you subscribe to such
88 feed, you will have to enter your login and password in Feed Editor");
89
90 print "</div></td></tr>"; */
91
ef8be8ea 92 print "</table>";
f27de515 93
b9073cd9
AD
94/* print "<div id='fadd_login_prompt'><br/>
95 <a href='javascript:appearBlockElement(\"fadd_login_container\",
96 \"fadd_login_prompt\")'>".__('Click here if this feed requires authentication.')."</a></div>"; */
f27de515 97
b9073cd9 98 print "<div id='fadd_login_container' style='display:none'>
f27de515 99 <table width='100%'>
18ab3d7a 100 <tr><td width='20%'>".__('Login:')."</td><td><input name='auth_login' class='iedit' onfocus=\"javascript:disableHotkeys()\" onfocus=\"javascript:disableHotkeys()\" onkeypress=\"return filterCR(event, subscribeToFeed)\"></td></tr>
89cb787e 101 <tr><td>".__('Password:')."</td><td><input type='password'
18ab3d7a 102 name='auth_pass' class='iedit' onfocus=\"javascript:disableHotkeys()\" onfocus=\"javascript:disableHotkeys()\" onkeypress=\"return filterCR(event, subscribeToFeed)\"></td></tr>
f27de515
AD
103 </table>
104 </div>";
105
ef8be8ea
AD
106 print "</form>";
107
b9073cd9 108 print "<div style='float : right'>
ef8be8ea
AD
109 <input class=\"button\"
110 id=\"fadd_submit_btn\" disabled=\"true\"
18ab3d7a 111 type=\"submit\" onclick=\"return subscribeToFeed()\" value=\"".__('Subscribe')."\">
ef8be8ea
AD
112 <input class=\"button\"
113 type=\"submit\" onclick=\"return closeInfoBox()\"
b9073cd9
AD
114 value=\"".__('Cancel')."\"></div>
115
116 <div>
117 <input type=\"checkbox\" id=\"fadd_login_check\"
118 onclick='checkboxToggleElement(this, \"fadd_login_container\")'>
119 <label for=\"fadd_login_check\">".
120 __('This feed requires authentication.')."</div>";
5e6f933a
AD
121
122 return;
ef8be8ea
AD
123 }
124
125 if ($id == "search") {
126
cc17c205 127 print "<div id=\"infoBoxTitle\">".__('Search')."</div>";
ef8be8ea
AD
128 print "<div class=\"infoBoxContents\">";
129
e6312f6c 130 print "<form id='search_form' onsubmit='return false'>";
ef8be8ea
AD
131
132 #$active_feed_id = db_escape_string($_GET["param"]);
133
134 $params = split(":", db_escape_string($_GET["param"]));
135
136 $active_feed_id = sprintf("%d", $params[0]);
137 $is_cat = $params[1] == "true";
138
cc17c205 139 print "<table width='100%'><tr><td>".__('Search:')."</td><td>";
ef8be8ea 140
3dc8ee84 141 print "<input name=\"query\" class=\"iedit\" type=\"search\"
ef8be8ea 142 onkeypress=\"return filterCR(event, search)\"
b5015f72 143 onchange=\"toggleSubmitNotEmpty(this, 'search_submit_btn')\"
ef8be8ea
AD
144 onkeyup=\"toggleSubmitNotEmpty(this, 'search_submit_btn')\"
145 value=\"\">
146 </td></tr>";
147
cc17c205 148 print "<tr><td>".__('Where:')."</td><td>";
ef8be8ea
AD
149
150 print "<select name=\"search_mode\">
cc17c205 151 <option value=\"all_feeds\">".__('All feeds')."</option>";
ef8be8ea
AD
152
153 $feed_title = getFeedTitle($link, $active_feed_id);
154
155 if (!$is_cat) {
156 $feed_cat_title = getFeedCatTitle($link, $active_feed_id);
157 } else {
158 $feed_cat_title = getCategoryTitle($link, $active_feed_id);
159 }
160
161 if ($active_feed_id && !$is_cat) {
cc17c205 162 print "<option selected value=\"this_feed\">$feed_title</option>";
ef8be8ea 163 } else {
cc17c205 164 print "<option disabled>".__('This feed')."</option>";
ef8be8ea
AD
165 }
166
167 if ($is_cat) {
168 $cat_preselected = "selected";
169 }
170
171 if (get_pref($link, 'ENABLE_FEED_CATS') && ($active_feed_id > 0 || $is_cat)) {
cc17c205 172 print "<option $cat_preselected value=\"this_cat\">$feed_cat_title</option>";
ef8be8ea 173 } else {
c4b0f96c 174 //print "<option disabled>".__('This category')."</option>";
ef8be8ea
AD
175 }
176
177 print "</select></td></tr>";
178
cc17c205 179 print "<tr><td>".__('Match on:')."</td><td>";
ef8be8ea
AD
180
181 $search_fields = array(
cc17c205
AD
182 "title" => __("Title"),
183 "content" => __("Content"),
184 "both" => __("Title or content"));
ef8be8ea
AD
185
186 print_select_hash("match_on", 3, $search_fields);
187
188 print "</td></tr></table>";
189
190 print "</form>";
191
192 print "<div align=\"right\">
193 <input type=\"submit\"
194 class=\"button\" onclick=\"javascript:search()\"
195 id=\"search_submit_btn\" disabled=\"true\"
cc17c205 196 value=\"".__('Search')."\">
ef8be8ea
AD
197 <input class=\"button\"
198 type=\"submit\" onclick=\"javascript:searchCancel()\"
cc17c205 199 value=\"".__('Cancel')."\"></div>";
ef8be8ea
AD
200
201 print "</div>";
202
5e6f933a
AD
203 return;
204
ef8be8ea
AD
205 }
206
207 if ($id == "quickAddLabel") {
cc17c205 208 print "<div id=\"infoBoxTitle\">".__('Create label')."</div>";
ef8be8ea
AD
209 print "<div class=\"infoBoxContents\">";
210
e6312f6c 211 print "<form id=\"label_edit_form\" onsubmit='return false'>";
ef8be8ea
AD
212
213 print "<input type=\"hidden\" name=\"op\" value=\"pref-labels\">";
214 print "<input type=\"hidden\" name=\"subop\" value=\"add\">";
215
216 print "<table width='100%'>";
217
cc17c205 218 print "<tr><td>".__('Caption:')."</td>
ef8be8ea 219 <td><input onkeypress=\"return filterCR(event, addLabel)\"
b5015f72
AD
220 onkeyup=\"toggleSubmitNotEmpty(this, 'infobox_submit')\"
221 onchange=\"toggleSubmitNotEmpty(this, 'infobox_submit')\"
222 name=\"description\" class=\"iedit\">";
ef8be8ea
AD
223
224 print "</td></tr>";
225
226 print "<tr><td colspan=\"2\">
cc17c205 227 <p>".__('SQL Expression:')."</p>";
ef8be8ea
AD
228
229 print "<textarea onkeyup=\"toggleSubmitNotEmpty(this, 'infobox_submit')\"
230 rows=\"4\" name=\"sql_exp\" class=\"iedit\"></textarea>";
ef8be8ea
AD
231 print "</td></tr></table>";
232
233 print "</form>";
234
235 print "<div style=\"display : none\" id=\"label_test_result\"></div>";
236
237 print "<div align='right'>";
238
6a5efb07
AD
239 print "<input type=\"submit\"
240 class=\"button\" onclick=\"return displayHelpInfobox(1)\"
241 value=\"".__('Help')."\"> ";
242
cc17c205 243 print "<input type=\"submit\" onclick=\"labelTest()\" value=\"".__('Test')."\">
ef8be8ea
AD
244 ";
245
246 print "<input type=\"submit\"
247 id=\"infobox_submit\"
248 disabled=\"true\"
249 class=\"button\" onclick=\"return addLabel()\"
cc17c205 250 value=\"".__('Create')."\"> ";
ef8be8ea
AD
251
252 print "<input class=\"button\"
253 type=\"submit\" onclick=\"return labelEditCancel()\"
cc17c205 254 value=\"".__('Cancel')."\">";
5e6f933a
AD
255
256 return;
ef8be8ea
AD
257 }
258
259 if ($id == "quickAddFilter") {
260
261 $active_feed_id = db_escape_string($_GET["param"]);
262
cc17c205 263 print "<div id=\"infoBoxTitle\">".__('Create filter')."</div>";
ef8be8ea
AD
264 print "<div class=\"infoBoxContents\">";
265
e6312f6c 266 print "<form id=\"filter_add_form\" onsubmit='return false'>";
ef8be8ea
AD
267
268 print "<input type=\"hidden\" name=\"op\" value=\"pref-filters\">";
269 print "<input type=\"hidden\" name=\"quiet\" value=\"1\">";
270 print "<input type=\"hidden\" name=\"subop\" value=\"add\">";
271
272// print "<div class=\"notice\"><b>Note:</b> filter will only apply to new articles.</div>";
273
274 $result = db_query($link, "SELECT id,description
275 FROM ttrss_filter_types ORDER BY description");
276
277 $filter_types = array();
278
279 while ($line = db_fetch_assoc($result)) {
280 //array_push($filter_types, $line["description"]);
89cb787e 281 $filter_types[$line["id"]] = __($line["description"]);
ef8be8ea
AD
282 }
283
284 print "<table width='100%'>";
285
cc17c205 286 print "<tr><td>".__('Match:')."</td>
18ab3d7a 287 <td><input onkeypress=\"return filterCR(event, createFilter)\"
b5015f72
AD
288 onkeyup=\"toggleSubmitNotEmpty(this, 'infobox_submit')\"
289 onchange=\"toggleSubmitNotEmpty(this, 'infobox_submit')\"
8011ac36
AD
290 name=\"reg_exp\" class=\"iedit\">";
291
cc17c205 292 print "</td></tr><tr><td>".__('On field:')."</td><td>";
8011ac36
AD
293
294 print_select_hash("filter_type", 1, $filter_types, "class=\"_iedit\"");
ef8be8ea
AD
295
296 print "</td></tr>";
cc17c205 297 print "<tr><td>".__('Feed:')."</td><td colspan='2'>";
ef8be8ea
AD
298
299 print_feed_select($link, "feed_id", $active_feed_id);
300
301 print "</td></tr>";
302
cc17c205 303 print "<tr><td>".__('Action:')."</td>";
ef8be8ea 304
073ca0e6
AD
305 print "<td colspan='2'><select name=\"action_id\"
306 onchange=\"filterDlgCheckAction(this)\">";
ef8be8ea
AD
307
308 $result = db_query($link, "SELECT id,description FROM ttrss_filter_actions
309 ORDER BY name");
310
311 while ($line = db_fetch_assoc($result)) {
89cb787e 312 printf("<option value='%d'>%s</option>", $line["id"], __($line["description"]));
ef8be8ea
AD
313 }
314
315 print "</select>";
316
073ca0e6
AD
317 print "</td></tr>";
318
cc17c205 319 print "<tr><td>".__('Params:')."</td>";
073ca0e6
AD
320
321 print "<td><input disabled class='iedit' name='action_param'></td></tr>";
322
cc17c205 323 print "<tr><td valign='top'>".__('Options:')."</td><td>";
3f2ff803
AD
324
325 print "<input type=\"checkbox\" name=\"inverse\" id=\"inverse\">
cc17c205 326 <label for=\"inverse\">".__('Inverse match')."</label></td></tr>";
3f2ff803 327
073ca0e6 328 print "</table>";
ef8be8ea
AD
329
330 print "</form>";
331
332 print "<div align='right'>";
333
334 print "<input type=\"submit\"
335 id=\"infobox_submit\"
18ab3d7a 336 class=\"button\" onclick=\"return createFilter()\"
cc17c205 337 disabled=\"true\" value=\"".__('Create')."\"> ";
ef8be8ea
AD
338
339 print "<input class=\"button\"
340 type=\"submit\" onclick=\"return closeInfoBox()\"
cc17c205 341 value=\"".__('Cancel')."\">";
ef8be8ea
AD
342
343 print "</div>";
344
345// print "</td></tr></table>";
346
5e6f933a 347 return;
ef8be8ea
AD
348 }
349
a3656a41
AD
350 if ($id == "feedUpdateErrors") {
351
cc17c205 352 print "<div id=\"infoBoxTitle\">".__('Update Errors')."</div>";
a3656a41
AD
353 print "<div class=\"infoBoxContents\">";
354
cc17c205 355 print __("These feeds have not been updated because of errors:");
a3656a41
AD
356
357 $result = db_query($link, "SELECT id,title,feed_url,last_error
358 FROM ttrss_feeds WHERE last_error != '' AND owner_uid = ".$_SESSION["uid"]);
359
e8dd519b 360 print "<ul class='feedErrorsList'>";
a3656a41
AD
361
362 while ($line = db_fetch_assoc($result)) {
363 print "<li><b>" . $line["title"] . "</b> (" . $line["feed_url"] . "): " .
364 "<em>" . $line["last_error"] . "</em>";
365 }
366
367 print "</ul>";
368 print "</div>";
369
370 print "<div align='center'>";
371
372 print "<input class=\"button\"
373 type=\"submit\" onclick=\"return closeInfoBox()\"
cc17c205 374 value=\"".__('Close')."\">";
a3656a41
AD
375
376 print "</div>";
377
aa330b93 378 return;
a3656a41
AD
379 }
380
0b126ac2
AD
381 if ($id == "editArticleTags") {
382
cc17c205 383 print "<div id=\"infoBoxTitle\">".__('Edit Tags')."</div>";
0b126ac2
AD
384 print "<div class=\"infoBoxContents\">";
385
e6312f6c 386 print "<form id=\"tag_edit_form\" onsubmit='return false'>";
0b126ac2 387
cc17c205 388 print __("Tags for this article (separated by commas):")."<br>";
0b126ac2
AD
389
390 $tags = get_article_tags($link, $param);
391
392 $tags_str = join(", ", $tags);
393
d62a3b63
AD
394 print "<table width='100%'>";
395
396 print "<tr><td colspan='2'><input type=\"hidden\" name=\"id\" value=\"$param\"></td></tr>";
397
05fcdf52
AD
398 print "<tr><td colspan='2'><textarea rows='4' class='iedit' id='tags_str'
399 name='tags_str'>$tags_str</textarea>
400 <div class=\"autocomplete\" id=\"tags_choices\"
401 style=\"display:none\"></div>
402 </td></tr>";
d62a3b63 403
05fcdf52 404/* print "<tr><td>".__('Add existing tag:')."</td>";
0b126ac2 405
d62a3b63
AD
406 $result = db_query($link, "SELECT DISTINCT tag_name FROM ttrss_tags
407 WHERE owner_uid = '".$_SESSION["uid"]."' ORDER BY tag_name");
408
409 $found_tags = array();
410
411 array_push($found_tags, '');
412
413 while ($line = db_fetch_assoc($result)) {
e4609ea9 414 array_push($found_tags, truncate_string($line["tag_name"], 20));
d62a3b63
AD
415 }
416
417 print "<td align='right'>";
418
419 print_select("found_tags", '', $found_tags, "onchange=\"javascript:editTagsInsert()\"");
420
05fcdf52 421 print "</td>";
d62a3b63 422
05fcdf52 423 print "</tr>"; */
d62a3b63
AD
424
425 print "</table>";
0b126ac2
AD
426
427 print "</form>";
428
429 print "<div align='right'>";
430
431 print "<input class=\"button\"
432 type=\"submit\" onclick=\"return editTagsSave()\"
cc17c205 433 value=\"".__('Save')."\"> ";
0b126ac2
AD
434
435 print "<input class=\"button\"
436 type=\"submit\" onclick=\"return closeInfoBox()\"
cc17c205 437 value=\"".__('Cancel')."\">";
0b126ac2
AD
438
439
440 print "</div>";
441
5e6f933a 442 return;
0b126ac2
AD
443 }
444
0979b696 445 if ($id == "printTagCloud") {
27258a90 446 print "<div id=\"infoBoxTitle\">".__('Tag cloud')."</div>";
0979b696
AD
447 print "<div class=\"infoBoxContents\">";
448
dcac082b 449 print __("Showing most popular tags ")." (<a
ef1ac7c7 450 href='javascript:toggleTags(true)'>".__('browse more')."</a>):<br/>";
0979b696
AD
451
452 print "<div class=\"tagCloudContainer\">";
453
454 printTagCloud($link);
455
456 print "</div>";
457
458 print "<div align='center'>";
459 print "<input class=\"button\"
460 type=\"submit\" onclick=\"return closeInfoBox()\"
3076c7b8 461 value=\"".__('Close this window')."\">";
0979b696
AD
462 print "</div>";
463
464 print "</div>";
465
466 return;
467 }
468
5e6f933a
AD
469 print "<div id='infoBoxTitle'>Internal Error</div>
470 <div id='infoBoxContents'>
471 <p>Unknown dialog <b>$id</b></p>
472 </div></div>";
473
ef8be8ea
AD
474 }
475?>