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