]> git.wh0rd.org - tt-rss.git/blob - mobile/functions.php
b1085b9c5fb0f5ad5de868fc90d73395b77d3534
[tt-rss.git] / mobile / functions.php
1 <?php
2 define('MOBILE_FEEDLIST_ENABLE_ICONS', false);
3 define('TTRSS_SESSION_NAME', 'ttrss_m_sid');
4
5 function render_feeds_list($link) {
6
7 $tags = $_GET["tags"];
8
9 print "<div id=\"heading\">";
10
11 if ($tags) {
12 print "Tags <span id=\"headingAddon\">
13 (<a href=\"tt-rss.php\">View feeds</a>, ";
14 } else {
15 print "Feeds <span id=\"headingAddon\">
16 (<a href=\"tt-rss.php?tags=1\">View tags</a>, ";
17 }
18
19 print "<a href=\"tt-rss.php?go=sform\">Search</a>, ";
20
21 print "<a href=\"logout.php\">Logout</a>)</span>";
22 print "</div>";
23
24 print "<ul class=\"feedList\">";
25
26 $owner_uid = $_SESSION["uid"];
27
28 if (!$tags) {
29
30 /* virtual feeds */
31
32 if (get_pref($link, 'ENABLE_FEED_CATS')) {
33 print "<li class=\"feedCat\">Special</li>";
34 print "<li class=\"feedCatHolder\"><ul class=\"feedCatList\">";
35 }
36
37 $num_fresh = getFeedUnread($link, -3);
38
39 $class = "virt";
40
41 if ($num_fresh > 0) $class .= "Unread";
42
43 printMobileFeedEntry(-3, $class, __("Fresh articles"), $num_fresh,
44 "../images/fresh.png", $link);
45
46 $num_starred = getFeedUnread($link, -1);
47
48 $class = "virt";
49
50 if ($num_starred > 0) $class .= "Unread";
51
52 printMobileFeedEntry(-1, $class, __("Starred articles"), $num_starred,
53 "../images/mark_set.png", $link);
54
55 $class = "virt";
56
57 $num_published = getFeedUnread($link, -2);
58
59 if ($num_published > 0) $class .= "Unread";
60
61 printMobileFeedEntry(-2, $class, __("Published articles"), $num_published,
62 "../images/pub_set.png", $link);
63
64 if (get_pref($link, 'ENABLE_FEED_CATS')) {
65 print "</ul>";
66 }
67
68 if (GLOBAL_ENABLE_LABELS && get_pref($link, 'ENABLE_LABELS')) {
69
70 $result = db_query($link, "SELECT id,description FROM
71 ttrss_labels WHERE owner_uid = '$owner_uid' ORDER by description");
72
73 if (db_num_rows($result) > 0) {
74 if (get_pref($link, 'ENABLE_FEED_CATS')) {
75 print "<li class=\"feedCat\">Labels</li>";
76 print "<li class=\"feedCatHolder\"><ul class=\"feedCatList\">";
77 } else {
78 // print "<li><hr></li>";
79 }
80 }
81
82 while ($line = db_fetch_assoc($result)) {
83
84 error_reporting (0);
85
86 $count = getFeedUnread($link, -$line["id"]-11);
87
88 $class = "label";
89
90 if ($count > 0) {
91 $class .= "Unread";
92 }
93
94 error_reporting (DEFAULT_ERROR_LEVEL);
95
96 printMobileFeedEntry(-$line["id"]-11,
97 $class, $line["description"], $count, "../images/label.png", $link);
98
99 }
100
101 if (db_num_rows($result) > 0) {
102 if (get_pref($link, 'ENABLE_FEED_CATS')) {
103 print "</ul>";
104 }
105 }
106
107 }
108
109 if (get_pref($link, 'ENABLE_FEED_CATS')) {
110 $order_by_qpart = "category,title";
111 } else {
112 $order_by_qpart = "title";
113 }
114
115 $result = db_query($link, "SELECT ttrss_feeds.*,
116 ".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated_noms,
117 (SELECT COUNT(id) FROM ttrss_entries,ttrss_user_entries
118 WHERE feed_id = ttrss_feeds.id AND
119 ttrss_user_entries.ref_id = ttrss_entries.id AND
120 owner_uid = '$owner_uid') AS total,
121 (SELECT COUNT(id) FROM ttrss_entries,ttrss_user_entries
122 WHERE feed_id = ttrss_feeds.id AND unread = true
123 AND ttrss_user_entries.ref_id = ttrss_entries.id
124 AND owner_uid = '$owner_uid') as unread,
125 cat_id,last_error,
126 ttrss_feed_categories.title AS category,
127 ttrss_feed_categories.collapsed
128 FROM ttrss_feeds LEFT JOIN ttrss_feed_categories
129 ON (ttrss_feed_categories.id = cat_id)
130 WHERE
131 ttrss_feeds.hidden = false AND
132 ttrss_feeds.owner_uid = '$owner_uid' AND parent_feed IS NULL
133 ORDER BY $order_by_qpart");
134
135 $actid = $_GET["actid"];
136
137 /* real feeds */
138
139 $lnum = 0;
140
141 $category = "";
142
143 while ($line = db_fetch_assoc($result)) {
144
145 $feed = db_unescape_string($line["title"]);
146 $feed_id = $line["id"];
147
148 $subop = $_GET["subop"];
149
150 $total = $line["total"];
151 $unread = $line["unread"];
152
153 $rtl_content = sql_bool_to_bool($line["rtl_content"]);
154
155 if ($rtl_content) {
156 $rtl_tag = "dir=\"RTL\"";
157 } else {
158 $rtl_tag = "";
159 }
160
161 $tmp_result = db_query($link,
162 "SELECT id,COUNT(unread) AS unread
163 FROM ttrss_feeds LEFT JOIN ttrss_user_entries
164 ON (ttrss_feeds.id = ttrss_user_entries.feed_id)
165 WHERE parent_feed = '$feed_id' AND unread = true
166 GROUP BY ttrss_feeds.id");
167
168 if (db_num_rows($tmp_result) > 0) {
169 while ($l = db_fetch_assoc($tmp_result)) {
170 $unread += $l["unread"];
171 }
172 }
173
174 $cat_id = $line["cat_id"];
175
176 $tmp_category = $line["category"];
177
178 if (!$tmp_category) {
179 $tmp_category = "Uncategorized";
180 }
181
182 // $class = ($lnum % 2) ? "even" : "odd";
183
184 if ($line["last_error"]) {
185 $class = "error";
186 } else {
187 $class = "feed";
188 }
189
190 if ($unread > 0) $class .= "Unread";
191
192 if ($actid == $feed_id) {
193 $class .= "Selected";
194 }
195
196 if ($category != $tmp_category && get_pref($link, 'ENABLE_FEED_CATS')) {
197
198 if ($category) {
199 print "</ul></li>";
200 }
201
202 $category = $tmp_category;
203
204 $collapsed = $line["collapsed"];
205
206 // workaround for NULL category
207 if ($category == "Uncategorized") {
208 if ($_COOKIE["ttrss_vf_uclps"] == 1) {
209 $collapsed = "t";
210 }
211 }
212
213 if ($collapsed == "t" || $collapsed == "1") {
214 $holder_class = "invisible";
215 $ellipsis = "...";
216 } else {
217 $holder_class = "feedCatHolder";
218 $ellipsis = "";
219 }
220
221 if ($cat_id) {
222 $cat_id_qpart = "cat_id = '$cat_id'";
223 } else {
224 $cat_id_qpart = "cat_id IS NULL";
225 }
226
227 $cat_id = sprintf("%d", $cat_id);
228 $cat_unread = getCategoryUnread($link, $cat_id);
229
230 print "<li class=\"feedCat\">
231 <a href=\"?subop=tc&id=$cat_id\">$tmp_category</a>
232 <a href=\"?go=vf&id=$cat_id&cat=true\">
233 <span class=\"$catctr_class\">($cat_unread)$ellipsis</span>
234 </a></li>";
235
236 print "<li id=\"feedCatHolder\" class=\"$holder_class\">
237 <ul class=\"feedCatList\">";
238 }
239
240 printMobileFeedEntry($feed_id, $class, $feed, $unread,
241 "../icons/$feed_id.ico", $link, $rtl_content);
242
243 ++$lnum;
244 }
245
246 } else {
247 // tags
248
249 $result = db_query($link, "SELECT tag_name,SUM((SELECT COUNT(int_id)
250 FROM ttrss_user_entries WHERE int_id = post_int_id
251 AND unread = true)) AS count FROM ttrss_tags
252 WHERE owner_uid = 2 GROUP BY tag_name ORDER BY tag_name");
253
254 $tags = array();
255
256 while ($line = db_fetch_assoc($result)) {
257 $tags[$line["tag_name"]] += $line["count"];
258 }
259
260 foreach (array_keys($tags) as $tag) {
261
262 $unread = $tags[$tag];
263
264 $class = "tag";
265
266 if ($unread > 0) {
267 $class .= "Unread";
268 }
269
270 printMobileFeedEntry($tag, $class, $tag, $unread,
271 "../images/tag.png", $link);
272
273 }
274
275
276 }
277 }
278
279 function printMobileFeedEntry($feed_id, $class, $feed_title, $unread, $icon_file, $link,
280 $rtl_content = false) {
281
282 if (file_exists($icon_file) && filesize($icon_file) > 0) {
283 $feed_icon = "<img src=\"$icon_file\">";
284 } else {
285 $feed_icon = "<img src=\"../images/blank_icon.gif\">";
286 }
287
288 if ($rtl_content) {
289 $rtl_tag = "dir=\"rtl\"";
290 } else {
291 $rtl_tag = "dir=\"ltr\"";
292 }
293
294 $feed = "<a href=\"?go=vf&id=$feed_id\">$feed_title</a>";
295
296 print "<li class=\"$class\">";
297 # if (get_pref($link, 'ENABLE_FEED_ICONS')) {
298 # print "$feed_icon";
299 # }
300
301 print "<span $rtl_tag>$feed</span> ";
302
303 if ($unread != 0) {
304 print "<span $rtl_tag>($unread)</span>";
305 }
306
307 print "</li>";
308
309 }
310
311 function render_headlines($link) {
312
313 $feed = db_escape_string($_GET["id"]);
314 $limit = db_escape_string($_GET["limit"]);
315 $view_mode = db_escape_string($_GET["viewmode"]);
316 $cat_view = db_escape_string($_GET["cat"]);
317 $subop = $_GET["subop"];
318 $catchup_op = $_GET["catchup_op"];
319
320 if (!$view_mode) {
321 if ($_SESSION["mobile:viewmode"]) {
322 $view_mode = $_SESSION["mobile:viewmode"];
323 } else {
324 $view_mode = "adaptive";
325 }
326 }
327
328 $_SESSION["mobile:viewmode"] = $view_mode;
329
330 if (!$limit) $limit = 30;
331 if (!$feed) $feed = 0;
332
333 if (preg_match("/^-?[0-9][0-9]*$/", $feed) != false) {
334
335 $result = db_query($link, "SELECT rtl_content FROM ttrss_feeds
336 WHERE id = '$feed' AND owner_uid = " . $_SESSION["uid"]);
337
338 if (db_num_rows($result) == 1) {
339 $rtl_content = sql_bool_to_bool(db_fetch_result($result, 0, "rtl_content"));
340 } else {
341 $rtl_content = false;
342 }
343
344 if ($rtl_content) {
345 $rtl_tag = "dir=\"RTL\"";
346 } else {
347 $rtl_tag = "";
348 }
349 } else {
350 $rtl_content = false;
351 $rtl_tag = "";
352 }
353
354 print "<div id=\"headlines\" $rtl_tag>";
355
356 if ($subop == "ForceUpdate" && sprintf("%d", $feed) > 0) {
357 update_generic_feed($link, $feed, $cat_view, true);
358 }
359
360 if ($subop == "MarkAllRead" || $catchup_op == "feed") {
361 catchup_feed($link, $feed, $cat_view);
362 }
363
364 if ($catchup_op == "selection") {
365 $ids_to_mark = array_keys($_GET["sel_ids"]);
366 if ($ids_to_mark) {
367 foreach ($ids_to_mark as $id) {
368 db_query($link, "UPDATE ttrss_user_entries SET
369 unread = false,last_read = NOW()
370 WHERE ref_id = '$id' AND owner_uid = " . $_SESSION["uid"]);
371 }
372 }
373 }
374
375 if ($subop == "MarkPageRead" || $catchup_op == "page") {
376 $ids_to_mark = $_SESSION["last_page_ids.$feed"];
377
378 if ($ids_to_mark) {
379
380 foreach ($ids_to_mark as $id) {
381 db_query($link, "UPDATE ttrss_user_entries SET
382 unread = false,last_read = NOW()
383 WHERE ref_id = '$id' AND owner_uid = " . $_SESSION["uid"]);
384 }
385 }
386 }
387
388
389 /// START /////////////////////////////////////////////////////////////////////////////////
390
391 $search = db_escape_string($_GET["query"]);
392 $search_mode = db_escape_string($_GET["search_mode"]);
393 $match_on = db_escape_string($_GET["match_on"]);
394
395 if (!$match_on) {
396 $match_on = "both";
397 }
398
399 $real_offset = $offset * $limit;
400
401 if ($_GET["debug"]) $timing_info = print_checkpoint("H0", $timing_info);
402
403 $qfh_ret = queryFeedHeadlines($link, $feed, $limit, $view_mode, $cat_view,
404 $search, $search_mode, $match_on, false, $real_offset);
405
406 if ($_GET["debug"]) $timing_info = print_checkpoint("H1", $timing_info);
407
408 $result = $qfh_ret[0];
409 $feed_title = $qfh_ret[1];
410 $feed_site_url = $qfh_ret[2];
411 $last_error = $qfh_ret[3];
412
413 /// STOP //////////////////////////////////////////////////////////////////////////////////
414
415 if (!$result) {
416 print "<div align='center'>
417 Could not display feed (query failed). Please check label match syntax or local configuration.</div>";
418 return;
419 }
420
421 print "<div id=\"heading\">";
422 # if (!$cat_view && file_exists("../icons/$feed.ico") && filesize("../icons/$feed.ico") > 0) {
423 # print "<img class=\"feedIcon\" src=\"../icons/$feed.ico\">";
424 # }
425
426 print "$feed_title <span id=\"headingAddon\">(";
427 print "<a href=\"tt-rss.php\">Back</a>, ";
428 print "<a href=\"tt-rss.php?go=sform&aid=$feed&ic=$cat_view\">Search</a>, ";
429 print "<a href=\"tt-rss.php?go=vf&id=$feed&subop=ForceUpdate\">Update</a>";
430
431 # print "Mark as read: ";
432 # print "<a href=\"tt-rss.php?go=vf&id=$feed&subop=MarkAsRead\">Page</a>, ";
433 # print "<a href=\"tt-rss.php?go=vf&id=$feed&subop=MarkAllRead\">Feed</a>";
434
435 print ")</span>";
436
437 print "&nbsp;" . __('View:');
438
439 print "<form style=\"display : inline\" method=\"GET\" action=\"tt-rss.php\">";
440
441 /* print "<select name=\"viewmode\">
442 <option selected value=\"adaptive\"> " . __('Adaptive') . "</option>
443 <option value=\"all_articles\">" . __('All Articles') . "</option>
444 <option value=\"marked\">" . __('Starred') . "</option>
445 <option value=\"unread\">" . __('Unread') . "</option>
446 </select>"; */
447
448 $sel_values = array(
449 "adaptive" => __("Adaptive"),
450 "all_articles" => __("All Articles"),
451 "unread" => __("Unread"),
452 "marked" => __("Starred"));
453
454 print_select_hash("viewmode", $view_mode, $sel_values);
455
456 print "<input type=\"hidden\" name=\"id\" value=\"$feed\">
457 <input type=\"hidden\" name=\"go\" value=\"vf\">
458 <input type=\"submit\" value=\"".__('Refresh')."\">";
459 print "</form>";
460
461 print "</div>";
462
463 if (db_num_rows($result) > 0) {
464
465 print "<form method=\"GET\" action=\"tt-rss.php\">";
466 print "<input type=\"hidden\" name=\"go\" value=\"vf\">";
467 print "<input type=\"hidden\" name=\"id\" value=\"$feed\">";
468
469 print "<ul class=\"headlines\">";
470
471 $page_art_ids = array();
472
473 $lnum = 0;
474
475 error_reporting (DEFAULT_ERROR_LEVEL);
476
477 $num_unread = 0;
478
479 while ($line = db_fetch_assoc($result)) {
480
481 $class = ($lnum % 2) ? "even" : "odd";
482
483 $id = $line["id"];
484 $feed_id = $line["feed_id"];
485
486 array_push($page_art_ids, $id);
487
488 if ($line["last_read"] == "" &&
489 ($line["unread"] != "t" && $line["unread"] != "1")) {
490
491 $update_pic = "<img id='FUPDPIC-$id' src=\"images/updated.png\"
492 alt=\"Updated\">";
493 } else {
494 $update_pic = "<img id='FUPDPIC-$id' src=\"images/blank_icon.gif\"
495 alt=\"Updated\">";
496 }
497
498 if ($line["unread"] == "t" || $line["unread"] == "1") {
499 $class .= "Unread";
500 ++$num_unread;
501 $is_unread = true;
502 } else {
503 $is_unread = false;
504 }
505
506 if ($line["marked"] == "t" || $line["marked"] == "1") {
507 $marked_pic = "<img class='marked' src=\"../images/mark_set.png\">";
508 } else {
509 $marked_pic = "<img class='marked' src=\"../images/mark_unset.png\">";
510 }
511
512 if ($line["published"] == "t" || $line["published"] == "1") {
513 $published_pic = "<img class='marked' src=\"../images/pub_set.gif\">";
514 } else {
515 $published_pic = "<img class='marked' src=\"../images/pub_unset.gif\">";
516 }
517
518 $content_link = "<a href=\"?go=view&id=$id&ret_feed=$feed&feed=$feed_id\">" .
519 $line["title"] . "</a>";
520
521 if (get_pref($link, 'HEADLINES_SMART_DATE')) {
522 $updated_fmt = smart_date_time(strtotime($line["updated"]));
523 } else {
524 $short_date = get_pref($link, 'SHORT_DATE_FORMAT');
525 $updated_fmt = date($short_date, strtotime($line["updated"]));
526 }
527
528 print "<li class='$class' id=\"HROW-$id\">";
529
530 print "<input type=\"checkbox\" name=\"sel_ids[$id]\"
531 onchange=\"toggleSelectRow(this, $id)\">";
532
533 print "<a href=\"?go=vf&id=$feed&ts=$id\">$marked_pic</a>";
534 print "<a href=\"?go=vf&id=$feed&tp=$id\">$published_pic</a>";
535
536 print $content_link;
537
538 if ($line["feed_title"]) {
539 print " (<a href='?go=vf&id=$feed_id'>".
540 $line["feed_title"]."</a>)";
541 }
542
543 print "<span class='hlUpdated'> ($updated_fmt)</span>";
544
545 print "</li>";
546
547
548 ++$lnum;
549 }
550
551 print "</ul>";
552
553 print "<div class='footerAddon'>";
554
555 $_SESSION["last_page_ids.$feed"] = $page_art_ids;
556
557 /* print "<a href=\"tt-rss.php?go=vf&id=$feed&subop=MarkPageRead\">Page</a>, ";
558 print "<a href=\"tt-rss.php?go=vf&id=$feed&subop=MarkAllRead\">Feed</a></div>"; */
559
560 print "<select name=\"catchup_op\">
561 <option value=\"selection\">Selection</option>
562 <option value=\"page\">Page</option>
563 <option value=\"feed\">Entire feed</option>
564 </select>
565 <input type=\"submit\" value=\"Mark as read\">";
566
567 print "</form>";
568
569 } else {
570 print "<div align='center'>No articles found.</div>";
571 }
572
573 }
574
575 function render_article($link) {
576
577 $id = db_escape_string($_GET["id"]);
578 $feed_id = db_escape_string($_GET["feed"]);
579 $ret_feed_id = db_escape_string($_GET["ret_feed"]);
580
581 $result = db_query($link, "SELECT rtl_content FROM ttrss_feeds
582 WHERE id = '$feed_id' AND owner_uid = " . $_SESSION["uid"]);
583
584 if (db_num_rows($result) == 1) {
585 $rtl_content = sql_bool_to_bool(db_fetch_result($result, 0, "rtl_content"));
586 } else {
587 $rtl_content = false;
588 }
589
590 if ($rtl_content) {
591 $rtl_tag = "dir=\"RTL\"";
592 $rtl_class = "RTL";
593 } else {
594 $rtl_tag = "";
595 $rtl_class = "";
596 }
597
598 $result = db_query($link, "UPDATE ttrss_user_entries
599 SET unread = false,last_read = NOW()
600 WHERE ref_id = '$id' AND feed_id = '$feed_id' AND owner_uid = " . $_SESSION["uid"]);
601
602 $result = db_query($link, "SELECT title,link,content,feed_id,comments,int_id,
603 marked,published,
604 ".SUBSTRING_FOR_DATE."(updated,1,16) as updated,
605 (SELECT icon_url FROM ttrss_feeds WHERE id = feed_id) as icon_url,
606 num_comments,
607 author
608 FROM ttrss_entries,ttrss_user_entries
609 WHERE id = '$id' AND ref_id = id");
610
611 if ($result) {
612
613 $line = db_fetch_assoc($result);
614
615 $num_comments = $line["num_comments"];
616 $entry_comments = "";
617
618 if ($num_comments > 0) {
619 if ($line["comments"]) {
620 $comments_url = $line["comments"];
621 } else {
622 $comments_url = $line["link"];
623 }
624 $entry_comments = "<a href=\"$comments_url\">$num_comments comments</a>";
625 } else {
626 if ($line["comments"] && $line["link"] != $line["comments"]) {
627 $entry_comments = "<a href=\"".$line["comments"]."\">comments</a>";
628 }
629 }
630
631 $tmp_result = db_query($link, "SELECT DISTINCT tag_name FROM
632 ttrss_tags WHERE post_int_id = " . $line["int_id"] . "
633 ORDER BY tag_name");
634
635 $tags_str = "";
636 $f_tags_str = "";
637
638 $num_tags = 0;
639
640 while ($tmp_line = db_fetch_assoc($tmp_result)) {
641 $num_tags++;
642 $tag = $tmp_line["tag_name"];
643 $tag_str = "<a href=\"?go=vf&id=$tag\">$tag</a>, ";
644 $tags_str .= $tag_str;
645 }
646
647 $tags_str = preg_replace("/, $/", "", $tags_str);
648
649 $parsed_updated = date(get_pref($link, 'SHORT_DATE_FORMAT'),
650 strtotime($line["updated"]));
651
652 print "<div id=\"heading\">";
653
654 # if (file_exists("../icons/$feed_id.ico") && filesize("../icons/$feed_id.ico") > 0) {
655 # print "<img class=\"feedIcon\" src=\"../icons/$feed_id.ico\">";
656 # }
657
658 $feed_link = "<a href=\"tt-rss.php?go=vf&id=$ret_feed_id\">Feed</a>";
659
660 print "<a href=\"" . $line["link"] . "\">" .
661 truncate_string($line["title"], 30) . "</a>";
662 print " <span id=\"headingAddon\">$parsed_updated ($feed_link)</span>";
663 print "</div>";
664
665 if ($num_tags > 0) {
666 print "<div class=\"postTags\">Tags: $tags_str</div>";
667 }
668
669 if ($line["marked"] == "t" || $line["marked"] == "1") {
670 $marked_pic = "<img class='marked' src=\"../images/mark_set.png\">";
671 } else {
672 $marked_pic = "<img class='marked' src=\"../images/mark_unset.png\">";
673 }
674
675 if ($line["published"] == "t" || $line["published"] == "1") {
676 $published_pic = "<img class='marked' src=\"../images/pub_set.gif\">";
677 } else {
678 $published_pic = "<img class='marked' src=\"../images/pub_unset.gif\">";
679 }
680
681 print "<div class=\"postStarOps\">";
682 print "<a href=\"?go=view&id=$id&ret_feed=$ret_feed_id&feed=$feed_id&sop=ts\">$marked_pic</a>";
683 print "<a href=\"?go=view&id=$id&ret_feed=$ret_feed_id&feed=$feed_id&sop=tp\">$published_pic</a>";
684 print "</div>";
685
686 print sanitize_rss($link, $line["content"], true);;
687
688 }
689
690 print "</body></html>";
691 }
692
693 function render_search_form($link, $active_feed_id = false, $is_cat = false) {
694
695 print "<div id=\"heading\">";
696
697 print "Search <span id=\"headingAddon\">
698 (<a href=\"tt-rss.php\">Go back</a>)</span></div>";
699
700 print "<form method=\"GET\" action=\"tt-rss.php\" class=\"searchForm\">";
701
702 print "<input type=\"hidden\" name=\"go\" value=\"vf\">";
703 print "<input type=\"hidden\" name=\"id\" value=\"$active_feed_id\">";
704 print "<input type=\"hidden\" name=\"cat\" value=\"$is_cat\">";
705
706 print "<table><tr><td>".__('Search:')."</td><td>";
707 print "<input name=\"query\"></td></tr>";
708
709 print "<tr><td>".__('Where:')."</td><td>";
710
711 print "<select name=\"search_mode\">
712 <option value=\"all_feeds\">".__('All feeds')."</option>";
713
714 $feed_title = getFeedTitle($link, $active_feed_id);
715
716 if (!$is_cat) {
717 $feed_cat_title = getFeedCatTitle($link, $active_feed_id);
718 } else {
719 $feed_cat_title = getCategoryTitle($link, $active_feed_id);
720 }
721
722 if ($active_feed_id && !$is_cat) {
723 print "<option selected value=\"this_feed\">$feed_title</option>";
724 } else {
725 print "<option disabled>".__('This feed')."</option>";
726 }
727
728 if ($is_cat) {
729 $cat_preselected = "selected";
730 }
731
732 if (get_pref($link, 'ENABLE_FEED_CATS') && ($active_feed_id > 0 || $is_cat)) {
733 print "<option $cat_preselected value=\"this_cat\">$feed_cat_title</option>";
734 } else {
735 //print "<option disabled>".__('This category')."</option>";
736 }
737
738 print "</select></td></tr>";
739
740 print "<tr><td>".__('Match on:')."</td><td>";
741
742 $search_fields = array(
743 "title" => __("Title"),
744 "content" => __("Content"),
745 "both" => __("Title or content"));
746
747 print_select_hash("match_on", 3, $search_fields);
748
749 print "</td></tr></table>";
750
751 print "<input type=\"submit\" value=\"".__('Search')."\">";
752
753 print "</form>";
754
755 print "</div>";
756 }
757
758 function toggleMarked($link, $ts_id) {
759 $result = db_query($link, "UPDATE ttrss_user_entries SET marked = NOT marked
760 WHERE ref_id = '$ts_id' AND owner_uid = " . $_SESSION["uid"]);
761 }
762
763 function togglePublished($link, $tp_id) {
764 $result = db_query($link, "UPDATE ttrss_user_entries SET published = NOT published
765 WHERE ref_id = '$tp_id' AND owner_uid = " . $_SESSION["uid"]);
766 }
767 ?>