@@ -2,8 +2,8 @@ discard block |
||
2 | 2 | require_once "colors.php"; |
3 | 3 | |
4 | 4 | class Feeds extends Handler_Protected { |
5 | - const NEVER_GROUP_FEEDS = [ -6, 0 ]; |
|
6 | - const NEVER_GROUP_BY_DATE = [ -2, -1, -3 ]; |
|
5 | + const NEVER_GROUP_FEEDS = [ -6, 0]; |
|
6 | + const NEVER_GROUP_BY_DATE = [ -2, -1, -3]; |
|
7 | 7 | |
8 | 8 | private $params; |
9 | 9 | |
@@ -27,7 +27,7 @@ discard block |
||
27 | 27 | |
28 | 28 | $reply = ""; |
29 | 29 | |
30 | - $rss_link = htmlspecialchars(get_self_url_prefix() . |
|
30 | + $rss_link = htmlspecialchars(get_self_url_prefix(). |
|
31 | 31 | "/public.php?op=rss&id=$feed_id$cat_q$search_q"); |
32 | 32 | |
33 | 33 | $reply .= "<span class='left'>"; |
@@ -49,7 +49,7 @@ discard block |
||
49 | 49 | } |
50 | 50 | |
51 | 51 | if ($error) |
52 | - $reply .= " <i title=\"" . htmlspecialchars($error) . "\" class='material-icons icon-error'>error</i>"; |
|
52 | + $reply .= " <i title=\"".htmlspecialchars($error)."\" class='material-icons icon-error'>error</i>"; |
|
53 | 53 | |
54 | 54 | $reply .= "</span>"; |
55 | 55 | $reply .= "<span id='feed_current_unread' style='display: none'></span>"; |
@@ -139,7 +139,7 @@ discard block |
||
139 | 139 | $sth->execute([$feed]); |
140 | 140 | } |
141 | 141 | |
142 | - if ($method_split[0] == "MarkAllReadGR") { |
|
142 | + if ($method_split[0] == "MarkAllReadGR") { |
|
143 | 143 | $this->catchup_feed($method_split[1], false); |
144 | 144 | } |
145 | 145 | |
@@ -243,7 +243,7 @@ discard block |
||
243 | 243 | if (!get_pref('SHOW_CONTENT_PREVIEW')) { |
244 | 244 | $line["content_preview"] = ""; |
245 | 245 | } else { |
246 | - $line["content_preview"] = "— " . truncate_string(strip_tags($line["content"]), 250); |
|
246 | + $line["content_preview"] = "— ".truncate_string(strip_tags($line["content"]), 250); |
|
247 | 247 | |
248 | 248 | foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_QUERY_HEADLINES) as $p) { |
249 | 249 | $line = $p->hook_query_headlines($line, 250, false); |
@@ -322,10 +322,10 @@ discard block |
||
322 | 322 | if (!get_pref("CDM_EXPANDED")) { |
323 | 323 | $line["cdm_excerpt"] = "<span class='collapse'> |
324 | 324 | <i class='material-icons' onclick='return Article.cdmUnsetActive(event)' |
325 | - title=\"" . __("Collapse article") . "\">remove_circle</i></span>"; |
|
325 | + title=\"" . __("Collapse article")."\">remove_circle</i></span>"; |
|
326 | 326 | |
327 | 327 | if (get_pref('SHOW_CONTENT_PREVIEW')) { |
328 | - $line["cdm_excerpt"] .= "<span class='excerpt'>" . $line["content_preview"] . "</span>"; |
|
328 | + $line["cdm_excerpt"] .= "<span class='excerpt'>".$line["content_preview"]."</span>"; |
|
329 | 329 | } |
330 | 330 | } |
331 | 331 | |
@@ -339,11 +339,11 @@ discard block |
||
339 | 339 | $ofgh->execute([$line["orig_feed_id"], $_SESSION['uid']]); |
340 | 340 | |
341 | 341 | if ($tmp_line = $ofgh->fetch()) { |
342 | - $line["orig_feed"] = [ $tmp_line["title"], $tmp_line["site_url"], $tmp_line["feed_url"] ]; |
|
342 | + $line["orig_feed"] = [$tmp_line["title"], $tmp_line["site_url"], $tmp_line["feed_url"]]; |
|
343 | 343 | } |
344 | 344 | } |
345 | 345 | |
346 | - $line["updated_long"] = make_local_datetime($line["updated"],true); |
|
346 | + $line["updated_long"] = make_local_datetime($line["updated"], true); |
|
347 | 347 | $line["updated"] = make_local_datetime($line["updated"], false, false, false, true); |
348 | 348 | |
349 | 349 | |
@@ -377,7 +377,7 @@ discard block |
||
377 | 377 | } |
378 | 378 | |
379 | 379 | if (isset($rgba_cache[$feed_id])) { |
380 | - $line['feed_bg_color'] = 'rgba(' . implode(",", $rgba_cache[$feed_id]) . ',0.3)'; |
|
380 | + $line['feed_bg_color'] = 'rgba('.implode(",", $rgba_cache[$feed_id]).',0.3)'; |
|
381 | 381 | } |
382 | 382 | |
383 | 383 | /* we don't need those */ |
@@ -421,7 +421,7 @@ discard block |
||
421 | 421 | |
422 | 422 | $reply['content'] .= "<p><span class=\"text-muted\">"; |
423 | 423 | |
424 | - $sth = $this->pdo->prepare("SELECT " . SUBSTRING_FOR_DATE . "(MAX(last_updated), 1, 19) AS last_updated FROM ttrss_feeds |
|
424 | + $sth = $this->pdo->prepare("SELECT ".SUBSTRING_FOR_DATE."(MAX(last_updated), 1, 19) AS last_updated FROM ttrss_feeds |
|
425 | 425 | WHERE owner_uid = ?"); |
426 | 426 | $sth->execute([$_SESSION['uid']]); |
427 | 427 | $row = $sth->fetch(); |
@@ -439,8 +439,8 @@ discard block |
||
439 | 439 | |
440 | 440 | if ($num_errors > 0) { |
441 | 441 | $reply['content'] .= "<br/>"; |
442 | - $reply['content'] .= "<a class=\"text-muted\" href=\"#\" onclick=\"CommonDialogs.showFeedsWithErrors()\">" . |
|
443 | - __('Some feeds have update errors (click for details)') . "</a>"; |
|
442 | + $reply['content'] .= "<a class=\"text-muted\" href=\"#\" onclick=\"CommonDialogs.showFeedsWithErrors()\">". |
|
443 | + __('Some feeds have update errors (click for details)')."</a>"; |
|
444 | 444 | } |
445 | 445 | $reply['content'] .= "</span></p></div>"; |
446 | 446 | |
@@ -635,7 +635,7 @@ discard block |
||
635 | 635 | $reply['headlines']['is_cat'] = false; |
636 | 636 | |
637 | 637 | $reply['headlines']['toolbar'] = ''; |
638 | - $reply['headlines']['content'] = "<div class='whiteBox'>". $error . "</div>"; |
|
638 | + $reply['headlines']['content'] = "<div class='whiteBox'>".$error."</div>"; |
|
639 | 639 | |
640 | 640 | $reply['headlines-info'] = array("count" => 0, |
641 | 641 | "unread" => 0, |
@@ -669,7 +669,7 @@ discard block |
||
669 | 669 | print "<fieldset>"; |
670 | 670 | |
671 | 671 | if (get_pref('ENABLE_FEED_CATS')) { |
672 | - print "<label class='inline'>" . __('Place in category:') . "</label> "; |
|
672 | + print "<label class='inline'>".__('Place in category:')."</label> "; |
|
673 | 673 | print_feed_cat_select("cat", false, 'dojoType="fox.form.Select"'); |
674 | 674 | } |
675 | 675 | |
@@ -678,7 +678,7 @@ discard block |
||
678 | 678 | print "</section>"; |
679 | 679 | |
680 | 680 | print '<div id="feedDlg_feedsContainer" style="display : none"> |
681 | - <header>' . __('Available feeds') . '</header> |
|
681 | + <header>' . __('Available feeds').'</header> |
|
682 | 682 | <section> |
683 | 683 | <fieldset> |
684 | 684 | <select id="feedDlg_feedContainerSelect" |
@@ -743,7 +743,7 @@ discard block |
||
743 | 743 | |
744 | 744 | if (DB_TYPE == "pgsql") { |
745 | 745 | print "<fieldset>"; |
746 | - print "<label class='inline'>" . __("Language:") . "</label>"; |
|
746 | + print "<label class='inline'>".__("Language:")."</label>"; |
|
747 | 747 | print_select("search_language", get_pref('DEFAULT_SEARCH_LANGUAGE'), Pref_Feeds::get_ts_languages(), |
748 | 748 | "dojoType='fox.form.Select' title=\"".__('Used for word stemming')."\""); |
749 | 749 | print "</fieldset>"; |
@@ -772,7 +772,7 @@ discard block |
||
772 | 772 | Debug::set_enabled(true); |
773 | 773 | Debug::set_loglevel($_REQUEST["xdebug"]); |
774 | 774 | |
775 | - $feed_id = (int)$_REQUEST["feed_id"]; |
|
775 | + $feed_id = (int) $_REQUEST["feed_id"]; |
|
776 | 776 | @$do_update = $_REQUEST["action"] == "do_update"; |
777 | 777 | $csrf_token = $_REQUEST["csrf_token"]; |
778 | 778 | |
@@ -811,7 +811,7 @@ discard block |
||
811 | 811 | </script> |
812 | 812 | |
813 | 813 | <div class="container"> |
814 | - <h1>Feed Debugger: <?php echo "$feed_id: " . $this->getFeedTitle($feed_id) ?></h1> |
|
814 | + <h1>Feed Debugger: <?php echo "$feed_id: ".$this->getFeedTitle($feed_id) ?></h1> |
|
815 | 815 | <div class="content"> |
816 | 816 | <form method="GET" action=""> |
817 | 817 | <input type="hidden" name="op" value="feeds"> |
@@ -1074,7 +1074,7 @@ discard block |
||
1074 | 1074 | } else if ($n_feed >= 0) { |
1075 | 1075 | |
1076 | 1076 | if ($n_feed != 0) { |
1077 | - $match_part = "feed_id = " . (int)$n_feed; |
|
1077 | + $match_part = "feed_id = ".(int) $n_feed; |
|
1078 | 1078 | } else { |
1079 | 1079 | $match_part = "feed_id IS NULL"; |
1080 | 1080 | } |
@@ -1184,7 +1184,7 @@ discard block |
||
1184 | 1184 | (owner_uid,feed_url,title,cat_id, auth_login,auth_pass,update_method,auth_pass_encrypted) |
1185 | 1185 | VALUES (?, ?, ?, ?, ?, ?, 0, false)"); |
1186 | 1186 | |
1187 | - $sth->execute([$_SESSION['uid'], $url, "[Unknown]", $cat_id, (string)$auth_login, (string)$auth_pass]); |
|
1187 | + $sth->execute([$_SESSION['uid'], $url, "[Unknown]", $cat_id, (string) $auth_login, (string) $auth_pass]); |
|
1188 | 1188 | |
1189 | 1189 | $sth = $pdo->prepare("SELECT id FROM ttrss_feeds WHERE feed_url = ? |
1190 | 1190 | AND owner_uid = ?"); |
@@ -1203,11 +1203,11 @@ discard block |
||
1203 | 1203 | } |
1204 | 1204 | |
1205 | 1205 | public static function getIconFile($feed_id) { |
1206 | - return ICONS_DIR . "/$feed_id.ico"; |
|
1206 | + return ICONS_DIR."/$feed_id.ico"; |
|
1207 | 1207 | } |
1208 | 1208 | |
1209 | 1209 | public static function feedHasIcon($id) { |
1210 | - return is_file(ICONS_DIR . "/$id.ico") && filesize(ICONS_DIR . "/$id.ico") > 0; |
|
1210 | + return is_file(ICONS_DIR."/$id.ico") && filesize(ICONS_DIR."/$id.ico") > 0; |
|
1211 | 1211 | } |
1212 | 1212 | |
1213 | 1213 | public static function getFeedIcon($id) { |
@@ -1231,7 +1231,7 @@ discard block |
||
1231 | 1231 | $icon = self::getIconFile($id); |
1232 | 1232 | |
1233 | 1233 | if ($icon && file_exists($icon)) { |
1234 | - return ICONS_URL . "/" . basename($icon) . "?" . filemtime($icon); |
|
1234 | + return ICONS_URL."/".basename($icon)."?".filemtime($icon); |
|
1235 | 1235 | } |
1236 | 1236 | } |
1237 | 1237 | } |
@@ -1303,7 +1303,7 @@ discard block |
||
1303 | 1303 | |
1304 | 1304 | $cat_feeds = array(); |
1305 | 1305 | while ($line = $sth->fetch()) { |
1306 | - array_push($cat_feeds, "feed_id = " . (int)$line["id"]); |
|
1306 | + array_push($cat_feeds, "feed_id = ".(int) $line["id"]); |
|
1307 | 1307 | } |
1308 | 1308 | |
1309 | 1309 | if (count($cat_feeds) == 0) return 0; |
@@ -1517,7 +1517,7 @@ discard block |
||
1517 | 1517 | } |
1518 | 1518 | |
1519 | 1519 | if ($limit > 0) { |
1520 | - $limit_query_part = "LIMIT " . (int)$limit; |
|
1520 | + $limit_query_part = "LIMIT ".(int) $limit; |
|
1521 | 1521 | } |
1522 | 1522 | |
1523 | 1523 | $allow_archived = false; |
@@ -1544,7 +1544,7 @@ discard block |
||
1544 | 1544 | implode(",", $subcats).")"; |
1545 | 1545 | |
1546 | 1546 | } else { |
1547 | - $query_strategy_part = "cat_id = " . $pdo->quote($feed); |
|
1547 | + $query_strategy_part = "cat_id = ".$pdo->quote($feed); |
|
1548 | 1548 | } |
1549 | 1549 | |
1550 | 1550 | } else { |
@@ -1554,7 +1554,7 @@ discard block |
||
1554 | 1554 | $vfeed_query_part = "ttrss_feeds.title AS feed_title,"; |
1555 | 1555 | |
1556 | 1556 | } else { |
1557 | - $query_strategy_part = "feed_id = " . $pdo->quote($feed); |
|
1557 | + $query_strategy_part = "feed_id = ".$pdo->quote($feed); |
|
1558 | 1558 | } |
1559 | 1559 | } else if ($feed == 0 && !$cat_view) { // archive virtual feed |
1560 | 1560 | $query_strategy_part = "feed_id IS NULL"; |
@@ -1676,7 +1676,7 @@ discard block |
||
1676 | 1676 | $content_query_part = "content, "; |
1677 | 1677 | |
1678 | 1678 | if ($limit_query_part) { |
1679 | - $offset_query_part = "OFFSET " . (int)$offset; |
|
1679 | + $offset_query_part = "OFFSET ".(int) $offset; |
|
1680 | 1680 | } else { |
1681 | 1681 | $offset_query_part = ""; |
1682 | 1682 | } |
@@ -1765,7 +1765,7 @@ discard block |
||
1765 | 1765 | $res = $pdo->query($query); |
1766 | 1766 | |
1767 | 1767 | if ($row = $res->fetch()) { |
1768 | - $first_id = (int)$row["id"]; |
|
1768 | + $first_id = (int) $row["id"]; |
|
1769 | 1769 | |
1770 | 1770 | if ($offset > 0 && $first_id && $check_first_id && $first_id != $check_first_id) { |
1771 | 1771 | return array(-1, $feed_title, $feed_site_url, $last_error, $last_updated, $search_words, $first_id, $vfeed_query_part != "", $query_error_override); |
@@ -1912,9 +1912,9 @@ discard block |
||
1912 | 1912 | } |
1913 | 1913 | |
1914 | 1914 | function color_of($name) { |
1915 | - $colormap = [ "#1cd7d7","#d91111","#1212d7","#8e16e5","#7b7b7b", |
|
1916 | - "#39f110","#0bbea6","#ec0e0e","#1534f2","#b9e416", |
|
1917 | - "#479af2","#f36b14","#10c7e9","#1e8fe7","#e22727" ]; |
|
1915 | + $colormap = ["#1cd7d7", "#d91111", "#1212d7", "#8e16e5", "#7b7b7b", |
|
1916 | + "#39f110", "#0bbea6", "#ec0e0e", "#1534f2", "#b9e416", |
|
1917 | + "#479af2", "#f36b14", "#10c7e9", "#1e8fe7", "#e22727"]; |
|
1918 | 1918 | |
1919 | 1919 | $sum = 0; |
1920 | 1920 | |
@@ -1978,13 +1978,13 @@ discard block |
||
1978 | 1978 | |
1979 | 1979 | // support schema-less urls |
1980 | 1980 | if (strpos($url, '//') === 0) { |
1981 | - $url = 'https:' . $url; |
|
1981 | + $url = 'https:'.$url; |
|
1982 | 1982 | } |
1983 | 1983 | |
1984 | 1984 | if (strpos($url, '://') === false) { |
1985 | - $url = 'http://' . $url; |
|
1985 | + $url = 'http://'.$url; |
|
1986 | 1986 | } else if (substr($url, 0, 5) == 'feed:') { |
1987 | - $url = 'http:' . substr($url, 5); |
|
1987 | + $url = 'http:'.substr($url, 5); |
|
1988 | 1988 | } |
1989 | 1989 | |
1990 | 1990 | //prepend slash if the URL has no slash in it |
@@ -2034,7 +2034,7 @@ discard block |
||
2034 | 2034 | |
2035 | 2035 | $sth = $pdo->prepare("INSERT INTO ttrss_feed_categories (owner_uid,title,parent_cat,order_id) |
2036 | 2036 | VALUES (?, ?, ?, ?)"); |
2037 | - $sth->execute([$_SESSION['uid'], $feed_cat, $parent_cat_id, (int)$order_id]); |
|
2037 | + $sth->execute([$_SESSION['uid'], $feed_cat, $parent_cat_id, (int) $order_id]); |
|
2038 | 2038 | |
2039 | 2039 | if (!$tr_in_progress) $pdo->commit(); |
2040 | 2040 | |
@@ -2134,7 +2134,7 @@ discard block |
||
2134 | 2134 | $sth->execute([$feed_id]); |
2135 | 2135 | |
2136 | 2136 | } else { |
2137 | - $sth = $pdo->prepare("DELETE FROM ttrss_user_entries |
|
2137 | + $sth = $pdo->prepare("DELETE FROM ttrss_user_entries |
|
2138 | 2138 | USING ttrss_user_entries, ttrss_entries |
2139 | 2139 | WHERE ttrss_entries.id = ref_id AND |
2140 | 2140 | marked = false AND |
@@ -2204,7 +2204,7 @@ discard block |
||
2204 | 2204 | case "title": |
2205 | 2205 | if ($commandpair[1]) { |
2206 | 2206 | array_push($query_keywords, "($not (LOWER(ttrss_entries.title) LIKE ". |
2207 | - $pdo->quote('%' . mb_strtolower($commandpair[1]) . '%') ."))"); |
|
2207 | + $pdo->quote('%'.mb_strtolower($commandpair[1]).'%')."))"); |
|
2208 | 2208 | } else { |
2209 | 2209 | array_push($query_keywords, "(UPPER(ttrss_entries.title) $not LIKE UPPER('%$k%') |
2210 | 2210 | OR UPPER(ttrss_entries.content) $not LIKE UPPER(".$pdo->quote("%$k%")."))"); |
@@ -2214,7 +2214,7 @@ discard block |
||
2214 | 2214 | case "author": |
2215 | 2215 | if ($commandpair[1]) { |
2216 | 2216 | array_push($query_keywords, "($not (LOWER(author) LIKE ". |
2217 | - $pdo->quote('%' . mb_strtolower($commandpair[1]) . '%')."))"); |
|
2217 | + $pdo->quote('%'.mb_strtolower($commandpair[1]).'%')."))"); |
|
2218 | 2218 | } else { |
2219 | 2219 | array_push($query_keywords, "(UPPER(ttrss_entries.title) $not LIKE UPPER('%$k%') |
2220 | 2220 | OR UPPER(ttrss_entries.content) $not LIKE UPPER(".$pdo->quote("%$k%")."))"); |
@@ -2229,7 +2229,7 @@ discard block |
||
2229 | 2229 | array_push($query_keywords, "($not (note IS NULL OR note = ''))"); |
2230 | 2230 | else |
2231 | 2231 | array_push($query_keywords, "($not (LOWER(note) LIKE ". |
2232 | - $pdo->quote('%' . mb_strtolower($commandpair[1]) . '%')."))"); |
|
2232 | + $pdo->quote('%'.mb_strtolower($commandpair[1]).'%')."))"); |
|
2233 | 2233 | } else { |
2234 | 2234 | array_push($query_keywords, "(UPPER(ttrss_entries.title) $not LIKE UPPER(".$pdo->quote("%$k%").") |
2235 | 2235 | OR UPPER(ttrss_entries.content) $not LIKE UPPER(".$pdo->quote("%$k%")."))"); |
@@ -2306,7 +2306,7 @@ discard block |
||
2306 | 2306 | |
2307 | 2307 | // if there's no joiners consider this a "simple" search and |
2308 | 2308 | // concatenate everything with &, otherwise don't try to mess with tsquery syntax |
2309 | - if (preg_match("/[&|]/", implode(" " , $search_query_leftover))) { |
|
2309 | + if (preg_match("/[&|]/", implode(" ", $search_query_leftover))) { |
|
2310 | 2310 | $tsquery = $pdo->quote(implode(" ", $search_query_leftover)); |
2311 | 2311 | } else { |
2312 | 2312 | $tsquery = $pdo->quote(implode(" & ", $search_query_leftover)); |
@@ -60,8 +60,8 @@ discard block |
||
60 | 60 | while ($line = $sth->fetch()) { |
61 | 61 | |
62 | 62 | $cat = array(); |
63 | - $cat['id'] = 'CAT:' . $line['id']; |
|
64 | - $cat['bare_id'] = (int)$line['id']; |
|
63 | + $cat['id'] = 'CAT:'.$line['id']; |
|
64 | + $cat['bare_id'] = (int) $line['id']; |
|
65 | 65 | $cat['name'] = $line['title']; |
66 | 66 | $cat['items'] = array(); |
67 | 67 | $cat['checkbox'] = false; |
@@ -93,8 +93,8 @@ discard block |
||
93 | 93 | |
94 | 94 | while ($feed_line = $fsth->fetch()) { |
95 | 95 | $feed = array(); |
96 | - $feed['id'] = 'FEED:' . $feed_line['id']; |
|
97 | - $feed['bare_id'] = (int)$feed_line['id']; |
|
96 | + $feed['id'] = 'FEED:'.$feed_line['id']; |
|
97 | + $feed['bare_id'] = (int) $feed_line['id']; |
|
98 | 98 | $feed['auxcounter'] = -1; |
99 | 99 | $feed['name'] = $feed_line['title']; |
100 | 100 | $feed['checkbox'] = false; |
@@ -103,7 +103,7 @@ discard block |
||
103 | 103 | $feed['icon'] = Feeds::getFeedIcon($feed_line['id']); |
104 | 104 | $feed['param'] = make_local_datetime( |
105 | 105 | $feed_line['last_updated'], true); |
106 | - $feed['updates_disabled'] = (int)($feed_line['update_interval'] < 0); |
|
106 | + $feed['updates_disabled'] = (int) ($feed_line['update_interval'] < 0); |
|
107 | 107 | |
108 | 108 | array_push($items, $feed); |
109 | 109 | } |
@@ -151,8 +151,8 @@ discard block |
||
151 | 151 | $feed_id = PluginHost::pfeed_to_feed_id($feed['id']); |
152 | 152 | |
153 | 153 | $item = array(); |
154 | - $item['id'] = 'FEED:' . $feed_id; |
|
155 | - $item['bare_id'] = (int)$feed_id; |
|
154 | + $item['id'] = 'FEED:'.$feed_id; |
|
155 | + $item['bare_id'] = (int) $feed_id; |
|
156 | 156 | $item['auxcounter'] = -1; |
157 | 157 | $item['name'] = $feed['title']; |
158 | 158 | $item['checkbox'] = false; |
@@ -216,8 +216,8 @@ discard block |
||
216 | 216 | |
217 | 217 | while ($line = $sth->fetch()) { |
218 | 218 | $cat = array(); |
219 | - $cat['id'] = 'CAT:' . $line['id']; |
|
220 | - $cat['bare_id'] = (int)$line['id']; |
|
219 | + $cat['id'] = 'CAT:'.$line['id']; |
|
220 | + $cat['bare_id'] = (int) $line['id']; |
|
221 | 221 | $cat['auxcounter'] = -1; |
222 | 222 | $cat['name'] = $line['title']; |
223 | 223 | $cat['items'] = array(); |
@@ -261,8 +261,8 @@ discard block |
||
261 | 261 | |
262 | 262 | while ($feed_line = $fsth->fetch()) { |
263 | 263 | $feed = array(); |
264 | - $feed['id'] = 'FEED:' . $feed_line['id']; |
|
265 | - $feed['bare_id'] = (int)$feed_line['id']; |
|
264 | + $feed['id'] = 'FEED:'.$feed_line['id']; |
|
265 | + $feed['bare_id'] = (int) $feed_line['id']; |
|
266 | 266 | $feed['auxcounter'] = -1; |
267 | 267 | $feed['name'] = $feed_line['title']; |
268 | 268 | $feed['checkbox'] = false; |
@@ -272,7 +272,7 @@ discard block |
||
272 | 272 | $feed_line['last_updated'], true); |
273 | 273 | $feed['unread'] = -1; |
274 | 274 | $feed['type'] = 'feed'; |
275 | - $feed['updates_disabled'] = (int)($feed_line['update_interval'] < 0); |
|
275 | + $feed['updates_disabled'] = (int) ($feed_line['update_interval'] < 0); |
|
276 | 276 | |
277 | 277 | array_push($cat['items'], $feed); |
278 | 278 | } |
@@ -296,8 +296,8 @@ discard block |
||
296 | 296 | |
297 | 297 | while ($feed_line = $fsth->fetch()) { |
298 | 298 | $feed = array(); |
299 | - $feed['id'] = 'FEED:' . $feed_line['id']; |
|
300 | - $feed['bare_id'] = (int)$feed_line['id']; |
|
299 | + $feed['id'] = 'FEED:'.$feed_line['id']; |
|
300 | + $feed['bare_id'] = (int) $feed_line['id']; |
|
301 | 301 | $feed['auxcounter'] = -1; |
302 | 302 | $feed['name'] = $feed_line['title']; |
303 | 303 | $feed['checkbox'] = false; |
@@ -307,7 +307,7 @@ discard block |
||
307 | 307 | $feed_line['last_updated'], true); |
308 | 308 | $feed['unread'] = -1; |
309 | 309 | $feed['type'] = 'feed'; |
310 | - $feed['updates_disabled'] = (int)($feed_line['update_interval'] < 0); |
|
310 | + $feed['updates_disabled'] = (int) ($feed_line['update_interval'] < 0); |
|
311 | 311 | |
312 | 312 | array_push($root['items'], $feed); |
313 | 313 | } |
@@ -348,11 +348,11 @@ discard block |
||
348 | 348 | |
349 | 349 | Debug::log("$prefix C: $item_id P: $parent_id"); |
350 | 350 | |
351 | - $bare_item_id = substr($item_id, strpos($item_id, ':')+1); |
|
351 | + $bare_item_id = substr($item_id, strpos($item_id, ':') + 1); |
|
352 | 352 | |
353 | 353 | if ($item_id != 'root') { |
354 | 354 | if ($parent_id && $parent_id != 'root') { |
355 | - $parent_bare_id = substr($parent_id, strpos($parent_id, ':')+1); |
|
355 | + $parent_bare_id = substr($parent_id, strpos($parent_id, ':') + 1); |
|
356 | 356 | $parent_qpart = $parent_bare_id; |
357 | 357 | } else { |
358 | 358 | $parent_qpart = null; |
@@ -371,7 +371,7 @@ discard block |
||
371 | 371 | if ($cat && is_array($cat)) { |
372 | 372 | foreach ($cat as $item) { |
373 | 373 | $id = $item['_reference']; |
374 | - $bare_id = substr($id, strpos($id, ':')+1); |
|
374 | + $bare_id = substr($id, strpos($id, ':') + 1); |
|
375 | 375 | |
376 | 376 | Debug::log("$prefix [$order_id] $id/$bare_id"); |
377 | 377 | |
@@ -389,7 +389,7 @@ discard block |
||
389 | 389 | |
390 | 390 | } else if (strpos($id, "CAT:") === 0) { |
391 | 391 | $this->process_category_order($data_map, $item['_reference'], $item_id, |
392 | - $nest_level+1); |
|
392 | + $nest_level + 1); |
|
393 | 393 | |
394 | 394 | $sth = $this->pdo->prepare("UPDATE ttrss_feed_categories |
395 | 395 | SET order_id = ? WHERE id = ? AND |
@@ -446,7 +446,7 @@ discard block |
||
446 | 446 | $sth->execute([$feed_id, $_SESSION['uid']]); |
447 | 447 | |
448 | 448 | if ($sth->fetch()) { |
449 | - @unlink(ICONS_DIR . "/$feed_id.ico"); |
|
449 | + @unlink(ICONS_DIR."/$feed_id.ico"); |
|
450 | 450 | |
451 | 451 | $sth = $this->pdo->prepare("UPDATE ttrss_feeds SET favicon_avg_color = NULL where id = ?"); |
452 | 452 | $sth->execute([$feed_id]); |
@@ -457,7 +457,7 @@ discard block |
||
457 | 457 | header("Content-type: text/html"); |
458 | 458 | |
459 | 459 | if (is_uploaded_file($_FILES['icon_file']['tmp_name'])) { |
460 | - $tmp_file = tempnam(CACHE_DIR . '/upload', 'icon'); |
|
460 | + $tmp_file = tempnam(CACHE_DIR.'/upload', 'icon'); |
|
461 | 461 | |
462 | 462 | $result = move_uploaded_file($_FILES['icon_file']['tmp_name'], |
463 | 463 | $tmp_file); |
@@ -480,8 +480,8 @@ discard block |
||
480 | 480 | $sth->execute([$feed_id, $_SESSION['uid']]); |
481 | 481 | |
482 | 482 | if ($sth->fetch()) { |
483 | - @unlink(ICONS_DIR . "/$feed_id.ico"); |
|
484 | - if (rename($icon_file, ICONS_DIR . "/$feed_id.ico")) { |
|
483 | + @unlink(ICONS_DIR."/$feed_id.ico"); |
|
484 | + if (rename($icon_file, ICONS_DIR."/$feed_id.ico")) { |
|
485 | 485 | |
486 | 486 | $sth = $this->pdo->prepare("UPDATE ttrss_feeds SET favicon_avg_color = '' WHERE id = ?"); |
487 | 487 | $sth->execute([$feed_id]); |
@@ -540,7 +540,7 @@ discard block |
||
540 | 540 | |
541 | 541 | print "<fieldset>"; |
542 | 542 | |
543 | - print "<label>" . __('URL:') . "</label> "; |
|
543 | + print "<label>".__('URL:')."</label> "; |
|
544 | 544 | print "<input dojoType='dijit.form.ValidationTextBox' required='1' |
545 | 545 | placeHolder=\"".__("Feed URL")."\" |
546 | 546 | regExp='^(http|https)://.*' style='width : 300px' |
@@ -563,7 +563,7 @@ discard block |
||
563 | 563 | |
564 | 564 | print "<fieldset>"; |
565 | 565 | |
566 | - print "<label>" . __('Place in category:') . "</label> "; |
|
566 | + print "<label>".__('Place in category:')."</label> "; |
|
567 | 567 | |
568 | 568 | print_feed_cat_select("cat_id", $cat_id, |
569 | 569 | 'dojoType="fox.form.Select"'); |
@@ -577,7 +577,7 @@ discard block |
||
577 | 577 | |
578 | 578 | print "<fieldset>"; |
579 | 579 | |
580 | - print "<label>" . __('Site URL:') . "</label> "; |
|
580 | + print "<label>".__('Site URL:')."</label> "; |
|
581 | 581 | print "<input dojoType='dijit.form.ValidationTextBox' required='1' |
582 | 582 | placeHolder=\"".__("Site URL")."\" |
583 | 583 | regExp='^(http|https)://.*' style='width : 300px' |
@@ -595,7 +595,7 @@ discard block |
||
595 | 595 | |
596 | 596 | print "<fieldset>"; |
597 | 597 | |
598 | - print "<label>" . __('Language:') . "</label> "; |
|
598 | + print "<label>".__('Language:')."</label> "; |
|
599 | 599 | print_select("feed_language", $feed_language, $this::get_ts_languages(), |
600 | 600 | 'dojoType="fox.form.Select"'); |
601 | 601 | |
@@ -626,10 +626,10 @@ discard block |
||
626 | 626 | |
627 | 627 | print "<fieldset>"; |
628 | 628 | |
629 | - print "<label>" . __('Article purging:') . "</label> "; |
|
629 | + print "<label>".__('Article purging:')."</label> "; |
|
630 | 630 | |
631 | 631 | print_select_hash("purge_interval", $purge_interval, $purge_intervals, |
632 | - 'dojoType="fox.form.Select" ' . |
|
632 | + 'dojoType="fox.form.Select" '. |
|
633 | 633 | ((FORCE_ARTICLE_PURGE == 0) ? "" : 'disabled="1"')); |
634 | 634 | |
635 | 635 | print "</fieldset>"; |
@@ -736,7 +736,7 @@ discard block |
||
736 | 736 | print "<fieldset class='narrow'>"; |
737 | 737 | |
738 | 738 | print "<label class='checkbox'><input dojoType='dijit.form.CheckBox' type='checkbox' id='cache_images' |
739 | - name='cache_images' $checked> ". __('Cache media')."</label>"; |
|
739 | + name='cache_images' $checked> ".__('Cache media')."</label>"; |
|
740 | 740 | |
741 | 741 | print "</fieldset>"; |
742 | 742 | |
@@ -818,7 +818,7 @@ discard block |
||
818 | 818 | |
819 | 819 | print "<fieldset>"; |
820 | 820 | |
821 | - print "<label>" . __('Place in category:') . "</label> "; |
|
821 | + print "<label>".__('Place in category:')."</label> "; |
|
822 | 822 | |
823 | 823 | print_feed_cat_select("cat_id", false, |
824 | 824 | 'disabled="1" dojoType="fox.form.Select"'); |
@@ -833,7 +833,7 @@ discard block |
||
833 | 833 | if (DB_TYPE == "pgsql") { |
834 | 834 | print "<fieldset>"; |
835 | 835 | |
836 | - print "<label>" . __('Language:') . "</label> "; |
|
836 | + print "<label>".__('Language:')."</label> "; |
|
837 | 837 | print_select("feed_language", "", $this::get_ts_languages(), |
838 | 838 | 'disabled="1" dojoType="fox.form.Select"'); |
839 | 839 | |
@@ -866,7 +866,7 @@ discard block |
||
866 | 866 | |
867 | 867 | print "<fieldset>"; |
868 | 868 | |
869 | - print "<label>" . __('Article purging:') . "</label> "; |
|
869 | + print "<label>".__('Article purging:')."</label> "; |
|
870 | 870 | |
871 | 871 | print_select_hash("purge_interval", "", $purge_intervals, |
872 | 872 | 'disabled="1" dojoType="fox.form.Select"'); |
@@ -1026,12 +1026,12 @@ discard block |
||
1026 | 1026 | ":purge_intl" => $purge_intl, |
1027 | 1027 | ":auth_login" => $auth_login, |
1028 | 1028 | ":auth_pass" => $auth_pass, |
1029 | - ":private" => (int)$private, |
|
1030 | - ":cache_images" => (int)$cache_images, |
|
1031 | - ":hide_images" => (int)$hide_images, |
|
1032 | - ":include_in_digest" => (int)$include_in_digest, |
|
1033 | - ":always_display_enclosures" => (int)$always_display_enclosures, |
|
1034 | - ":mark_unread_on_update" => (int)$mark_unread_on_update, |
|
1029 | + ":private" => (int) $private, |
|
1030 | + ":cache_images" => (int) $cache_images, |
|
1031 | + ":hide_images" => (int) $hide_images, |
|
1032 | + ":include_in_digest" => (int) $include_in_digest, |
|
1033 | + ":always_display_enclosures" => (int) $always_display_enclosures, |
|
1034 | + ":mark_unread_on_update" => (int) $mark_unread_on_update, |
|
1035 | 1035 | ":feed_language" => $feed_language, |
1036 | 1036 | ":id" => $feed_id, |
1037 | 1037 | ":uid" => $_SESSION['uid']]); |
@@ -1062,57 +1062,57 @@ discard block |
||
1062 | 1062 | |
1063 | 1063 | switch ($k) { |
1064 | 1064 | case "title": |
1065 | - $qpart = "title = " . $this->pdo->quote($feed_title); |
|
1065 | + $qpart = "title = ".$this->pdo->quote($feed_title); |
|
1066 | 1066 | break; |
1067 | 1067 | |
1068 | 1068 | case "feed_url": |
1069 | - $qpart = "feed_url = " . $this->pdo->quote($feed_url); |
|
1069 | + $qpart = "feed_url = ".$this->pdo->quote($feed_url); |
|
1070 | 1070 | break; |
1071 | 1071 | |
1072 | 1072 | case "update_interval": |
1073 | - $qpart = "update_interval = " . $this->pdo->quote($upd_intl); |
|
1073 | + $qpart = "update_interval = ".$this->pdo->quote($upd_intl); |
|
1074 | 1074 | break; |
1075 | 1075 | |
1076 | 1076 | case "purge_interval": |
1077 | - $qpart = "purge_interval =" . $this->pdo->quote($purge_intl); |
|
1077 | + $qpart = "purge_interval =".$this->pdo->quote($purge_intl); |
|
1078 | 1078 | break; |
1079 | 1079 | |
1080 | 1080 | case "auth_login": |
1081 | - $qpart = "auth_login = " . $this->pdo->quote($auth_login); |
|
1081 | + $qpart = "auth_login = ".$this->pdo->quote($auth_login); |
|
1082 | 1082 | break; |
1083 | 1083 | |
1084 | 1084 | case "auth_pass": |
1085 | - $qpart = "auth_pass =" . $this->pdo->quote($auth_pass). ", auth_pass_encrypted = false"; |
|
1085 | + $qpart = "auth_pass =".$this->pdo->quote($auth_pass).", auth_pass_encrypted = false"; |
|
1086 | 1086 | break; |
1087 | 1087 | |
1088 | 1088 | case "private": |
1089 | - $qpart = "private = " . $this->pdo->quote($private); |
|
1089 | + $qpart = "private = ".$this->pdo->quote($private); |
|
1090 | 1090 | break; |
1091 | 1091 | |
1092 | 1092 | case "include_in_digest": |
1093 | - $qpart = "include_in_digest = " . $this->pdo->quote($include_in_digest); |
|
1093 | + $qpart = "include_in_digest = ".$this->pdo->quote($include_in_digest); |
|
1094 | 1094 | break; |
1095 | 1095 | |
1096 | 1096 | case "always_display_enclosures": |
1097 | - $qpart = "always_display_enclosures = " . $this->pdo->quote($always_display_enclosures); |
|
1097 | + $qpart = "always_display_enclosures = ".$this->pdo->quote($always_display_enclosures); |
|
1098 | 1098 | break; |
1099 | 1099 | |
1100 | 1100 | case "mark_unread_on_update": |
1101 | - $qpart = "mark_unread_on_update = " . $this->pdo->quote($mark_unread_on_update); |
|
1101 | + $qpart = "mark_unread_on_update = ".$this->pdo->quote($mark_unread_on_update); |
|
1102 | 1102 | break; |
1103 | 1103 | |
1104 | 1104 | case "cache_images": |
1105 | - $qpart = "cache_images = " . $this->pdo->quote($cache_images); |
|
1105 | + $qpart = "cache_images = ".$this->pdo->quote($cache_images); |
|
1106 | 1106 | break; |
1107 | 1107 | |
1108 | 1108 | case "hide_images": |
1109 | - $qpart = "hide_images = " . $this->pdo->quote($hide_images); |
|
1109 | + $qpart = "hide_images = ".$this->pdo->quote($hide_images); |
|
1110 | 1110 | break; |
1111 | 1111 | |
1112 | 1112 | case "cat_id": |
1113 | 1113 | if (get_pref('ENABLE_FEED_CATS')) { |
1114 | 1114 | if ($cat_id) { |
1115 | - $qpart = "cat_id = " . $this->pdo->quote($cat_id); |
|
1115 | + $qpart = "cat_id = ".$this->pdo->quote($cat_id); |
|
1116 | 1116 | } else { |
1117 | 1117 | $qpart = 'cat_id = NULL'; |
1118 | 1118 | } |
@@ -1123,7 +1123,7 @@ discard block |
||
1123 | 1123 | break; |
1124 | 1124 | |
1125 | 1125 | case "feed_language": |
1126 | - $qpart = "feed_language = " . $this->pdo->quote($feed_language); |
|
1126 | + $qpart = "feed_language = ".$this->pdo->quote($feed_language); |
|
1127 | 1127 | break; |
1128 | 1128 | |
1129 | 1129 | } |
@@ -1184,14 +1184,14 @@ discard block |
||
1184 | 1184 | |
1185 | 1185 | $error_button = "<button dojoType=\"dijit.form.Button\" |
1186 | 1186 | onclick=\"CommonDialogs.showFeedsWithErrors()\" id=\"errorButton\">" . |
1187 | - __("Feeds with errors") . "</button>"; |
|
1187 | + __("Feeds with errors")."</button>"; |
|
1188 | 1188 | } |
1189 | 1189 | |
1190 | 1190 | $inactive_button = "<button dojoType=\"dijit.form.Button\" |
1191 | 1191 | id=\"pref_feeds_inactive_btn\" |
1192 | 1192 | style=\"display : none\" |
1193 | 1193 | onclick=\"dijit.byId('feedTree').showInactiveFeeds()\">" . |
1194 | - __("Inactive feeds") . "</button>"; |
|
1194 | + __("Inactive feeds")."</button>"; |
|
1195 | 1195 | |
1196 | 1196 | $feed_search = clean($_REQUEST["search"]); |
1197 | 1197 | |
@@ -1213,7 +1213,7 @@ discard block |
||
1213 | 1213 | </div>"; |
1214 | 1214 | |
1215 | 1215 | print "<div dojoType=\"fox.form.DropDownButton\">". |
1216 | - "<span>" . __('Select')."</span>"; |
|
1216 | + "<span>".__('Select')."</span>"; |
|
1217 | 1217 | print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">"; |
1218 | 1218 | print "<div onclick=\"dijit.byId('feedTree').model.setAllChecked(true)\" |
1219 | 1219 | dojoType=\"dijit.MenuItem\">".__('All')."</div>"; |
@@ -1222,7 +1222,7 @@ discard block |
||
1222 | 1222 | print "</div></div>"; |
1223 | 1223 | |
1224 | 1224 | print "<div dojoType=\"fox.form.DropDownButton\">". |
1225 | - "<span>" . __('Feeds')."</span>"; |
|
1225 | + "<span>".__('Feeds')."</span>"; |
|
1226 | 1226 | print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">"; |
1227 | 1227 | print "<div onclick=\"CommonDialogs.quickAddFeed()\" |
1228 | 1228 | dojoType=\"dijit.MenuItem\">".__('Subscribe to feed')."</div>"; |
@@ -1238,7 +1238,7 @@ discard block |
||
1238 | 1238 | |
1239 | 1239 | if (get_pref('ENABLE_FEED_CATS')) { |
1240 | 1240 | print "<div dojoType=\"fox.form.DropDownButton\">". |
1241 | - "<span>" . __('Categories')."</span>"; |
|
1241 | + "<span>".__('Categories')."</span>"; |
|
1242 | 1242 | print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">"; |
1243 | 1243 | print "<div onclick=\"dijit.byId('feedTree').createCategory()\" |
1244 | 1244 | dojoType=\"dijit.MenuItem\">".__('Add category')."</div>"; |
@@ -1305,7 +1305,7 @@ discard block |
||
1305 | 1305 | print "<div dojoType='dijit.layout.AccordionPane' |
1306 | 1306 | title='<i class=\"material-icons\">import_export</i> ".__('OPML')."'>"; |
1307 | 1307 | |
1308 | - print "<h3>" . __("Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings.") . "</h3>"; |
|
1308 | + print "<h3>".__("Using OPML you can export and import your feeds, filters, labels and Tiny Tiny RSS settings.")."</h3>"; |
|
1309 | 1309 | |
1310 | 1310 | print_notice("Only main settings profile can be migrated using OPML."); |
1311 | 1311 | |
@@ -1322,7 +1322,7 @@ discard block |
||
1322 | 1322 | <input type='hidden' name='op' value='dlg'> |
1323 | 1323 | <input type='hidden' name='method' value='importOpml'> |
1324 | 1324 | <button dojoType='dijit.form.Button' class='alt-primary' onclick=\"return Helpers.OPML.import();\" type=\"submit\">" . |
1325 | - __('Import OPML') . "</button>"; |
|
1325 | + __('Import OPML')."</button>"; |
|
1326 | 1326 | |
1327 | 1327 | print "</form>"; |
1328 | 1328 | |
@@ -1330,22 +1330,22 @@ discard block |
||
1330 | 1330 | |
1331 | 1331 | print "<button dojoType='dijit.form.Button' |
1332 | 1332 | onclick='Helpers.OPML.export()' >" . |
1333 | - __('Export OPML') . "</button>"; |
|
1333 | + __('Export OPML')."</button>"; |
|
1334 | 1334 | |
1335 | 1335 | print " <label class='checkbox'>"; |
1336 | 1336 | print_checkbox("include_settings", true, "1", ""); |
1337 | - print " " . __("Include settings"); |
|
1337 | + print " ".__("Include settings"); |
|
1338 | 1338 | print "</label>"; |
1339 | 1339 | |
1340 | 1340 | print "</form>"; |
1341 | 1341 | |
1342 | 1342 | print "<p/>"; |
1343 | 1343 | |
1344 | - print "<h2>" . __("Published OPML") . "</h2>"; |
|
1344 | + print "<h2>".__("Published OPML")."</h2>"; |
|
1345 | 1345 | |
1346 | - print "<p>" . __('Your OPML can be published publicly and can be subscribed by anyone who knows the URL below.') . |
|
1347 | - " " . |
|
1348 | - __("Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds.") . "</p>"; |
|
1346 | + print "<p>".__('Your OPML can be published publicly and can be subscribed by anyone who knows the URL below.'). |
|
1347 | + " ". |
|
1348 | + __("Published OPML does not include your Tiny Tiny RSS settings, feeds that require authentication or feeds hidden from Popular feeds.")."</p>"; |
|
1349 | 1349 | |
1350 | 1350 | print "<button dojoType='dijit.form.Button' class='alt-primary' onclick=\"return App.displayDlg('".__("Public OPML URL")."','pubOPMLUrl')\">". |
1351 | 1351 | __('Display published OPML URL')."</button> "; |
@@ -1358,10 +1358,10 @@ discard block |
||
1358 | 1358 | print "<div dojoType=\"dijit.layout.AccordionPane\" |
1359 | 1359 | title=\"<i class='material-icons'>share</i> ".__('Published & shared articles / Generated feeds')."\">"; |
1360 | 1360 | |
1361 | - print "<h3>" . __('Published articles can be subscribed by anyone who knows the following URL:') . "</h3>"; |
|
1361 | + print "<h3>".__('Published articles can be subscribed by anyone who knows the following URL:')."</h3>"; |
|
1362 | 1362 | |
1363 | - $rss_url = '-2::' . htmlspecialchars(get_self_url_prefix() . |
|
1364 | - "/public.php?op=rss&id=-2&view-mode=all_articles");; |
|
1363 | + $rss_url = '-2::'.htmlspecialchars(get_self_url_prefix(). |
|
1364 | + "/public.php?op=rss&id=-2&view-mode=all_articles"); ; |
|
1365 | 1365 | |
1366 | 1366 | print "<button dojoType='dijit.form.Button' class='alt-primary' onclick=\"return App.displayDlg('".__("Show as feed")."','generatedFeed', '$rss_url')\">". |
1367 | 1367 | __('Display URL')."</button> "; |
@@ -1390,7 +1390,7 @@ discard block |
||
1390 | 1390 | $cat_unread = Feeds::getCategoryUnread($cat_id); |
1391 | 1391 | } |
1392 | 1392 | |
1393 | - $obj['id'] = 'CAT:' . $cat_id; |
|
1393 | + $obj['id'] = 'CAT:'.$cat_id; |
|
1394 | 1394 | $obj['items'] = array(); |
1395 | 1395 | $obj['name'] = Feeds::getCategoryTitle($cat_id); |
1396 | 1396 | $obj['type'] = 'category'; |
@@ -1410,7 +1410,7 @@ discard block |
||
1410 | 1410 | if ($unread === false) |
1411 | 1411 | $unread = getFeedUnread($feed_id, false); |
1412 | 1412 | |
1413 | - $obj['id'] = 'FEED:' . $feed_id; |
|
1413 | + $obj['id'] = 'FEED:'.$feed_id; |
|
1414 | 1414 | $obj['name'] = $title; |
1415 | 1415 | $obj['unread'] = (int) $unread; |
1416 | 1416 | $obj['type'] = 'feed'; |
@@ -1446,7 +1446,7 @@ discard block |
||
1446 | 1446 | |
1447 | 1447 | print "<div dojoType='fox.Toolbar'>"; |
1448 | 1448 | print "<div dojoType='fox.form.DropDownButton'>". |
1449 | - "<span>" . __('Select')."</span>"; |
|
1449 | + "<span>".__('Select')."</span>"; |
|
1450 | 1450 | print "<div dojoType='dijit.Menu' style='display: none'>"; |
1451 | 1451 | print "<div onclick=\"Tables.select('inactive-feeds-list', true)\" |
1452 | 1452 | dojoType='dijit.MenuItem'>".__('All')."</div>"; |
@@ -1503,7 +1503,7 @@ discard block |
||
1503 | 1503 | |
1504 | 1504 | print "<div dojoType=\"fox.Toolbar\">"; |
1505 | 1505 | print "<div dojoType=\"fox.form.DropDownButton\">". |
1506 | - "<span>" . __('Select')."</span>"; |
|
1506 | + "<span>".__('Select')."</span>"; |
|
1507 | 1507 | print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">"; |
1508 | 1508 | print "<div onclick=\"Tables.select('error-feeds-list', true)\" |
1509 | 1509 | dojoType=\"dijit.MenuItem\">".__('All')."</div>"; |
@@ -1567,7 +1567,7 @@ discard block |
||
1567 | 1567 | |
1568 | 1568 | public static function remove_feed($id, $owner_uid) { |
1569 | 1569 | foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_UNSUBSCRIBE_FEED) as $p) { |
1570 | - if (! $p->hook_unsubscribe_feed($id, $owner_uid)) { |
|
1570 | + if (!$p->hook_unsubscribe_feed($id, $owner_uid)) { |
|
1571 | 1571 | user_error("Feed $id (owner: $owner_uid) not removed due to plugin error (HOOK_UNSUBSCRIBE_FEED).", E_USER_WARNING); |
1572 | 1572 | return; |
1573 | 1573 | } |
@@ -1599,7 +1599,7 @@ discard block |
||
1599 | 1599 | $res = $pdo->query("SELECT MAX(id) AS id FROM ttrss_archived_feeds"); |
1600 | 1600 | $row = $res->fetch(); |
1601 | 1601 | |
1602 | - $new_feed_id = (int)$row['id'] + 1; |
|
1602 | + $new_feed_id = (int) $row['id'] + 1; |
|
1603 | 1603 | |
1604 | 1604 | $sth = $pdo->prepare("INSERT INTO ttrss_archived_feeds |
1605 | 1605 | (id, owner_uid, title, feed_url, site_url, created) |
@@ -1631,8 +1631,8 @@ discard block |
||
1631 | 1631 | |
1632 | 1632 | $pdo->commit(); |
1633 | 1633 | |
1634 | - if (file_exists(ICONS_DIR . "/$id.ico")) { |
|
1635 | - unlink(ICONS_DIR . "/$id.ico"); |
|
1634 | + if (file_exists(ICONS_DIR."/$id.ico")) { |
|
1635 | + unlink(ICONS_DIR."/$id.ico"); |
|
1636 | 1636 | } |
1637 | 1637 | |
1638 | 1638 | CCache::remove($id, $owner_uid); |
@@ -1656,7 +1656,7 @@ discard block |
||
1656 | 1656 | |
1657 | 1657 | if (get_pref('ENABLE_FEED_CATS')) { |
1658 | 1658 | print "<fieldset>"; |
1659 | - print "<label>" . __('Place in category:') . "</label> "; |
|
1659 | + print "<label>".__('Place in category:')."</label> "; |
|
1660 | 1660 | print_feed_cat_select("cat", false, 'dojoType="fox.form.Select"'); |
1661 | 1661 | print "</fieldset>"; |
1662 | 1662 | } |
@@ -1665,7 +1665,7 @@ discard block |
||
1665 | 1665 | |
1666 | 1666 | print "<div id='feedDlg_loginContainer' style='display : none'>"; |
1667 | 1667 | |
1668 | - print "<header>" . __("Authentication") . "</header>"; |
|
1668 | + print "<header>".__("Authentication")."</header>"; |
|
1669 | 1669 | print "<section>"; |
1670 | 1670 | |
1671 | 1671 | print "<input dojoType='dijit.form.TextBox' name='login' placeHolder=\"".__("Login")."\"> |
@@ -1784,12 +1784,12 @@ discard block |
||
1784 | 1784 | $sth->execute([$_SESSION['uid']]); |
1785 | 1785 | |
1786 | 1786 | if ($row = $sth->fetch()) { |
1787 | - print (int)$row["num_inactive"]; |
|
1787 | + print (int) $row["num_inactive"]; |
|
1788 | 1788 | } |
1789 | 1789 | } |
1790 | 1790 | |
1791 | 1791 | public static function subscribe_to_feed_url() { |
1792 | - $url_path = get_self_url_prefix() . |
|
1792 | + $url_path = get_self_url_prefix(). |
|
1793 | 1793 | "/public.php?op=subscribe&feed_url=%s"; |
1794 | 1794 | return $url_path; |
1795 | 1795 | } |
@@ -82,7 +82,7 @@ discard block |
||
82 | 82 | "ENABLE_API_ACCESS" => array(__("Enable API"), __("Allows accessing this account through the API")), |
83 | 83 | "ENABLE_FEED_CATS" => array(__("Enable categories")), |
84 | 84 | "FEEDS_SORT_BY_UNREAD" => array(__("Sort feeds by unread articles count"), ""), |
85 | - "FRESH_ARTICLE_MAX_AGE" => array(__("Maximum age of fresh articles"), "<strong>" . __("hours") . "</strong>"), |
|
85 | + "FRESH_ARTICLE_MAX_AGE" => array(__("Maximum age of fresh articles"), "<strong>".__("hours")."</strong>"), |
|
86 | 86 | "HIDE_READ_FEEDS" => array(__("Hide read feeds")), |
87 | 87 | "HIDE_READ_SHOWS_SPECIAL" => array(__("Always show special feeds"), __("While hiding read feeds")), |
88 | 88 | "LONG_DATE_FORMAT" => array(__("Long date format"), __("Syntax is identical to PHP <a href='http://php.net/manual/function.date.php'>date()</a> function.")), |
@@ -403,7 +403,7 @@ discard block |
||
403 | 403 | |
404 | 404 | if ($_SESSION["auth_module"] == "auth_internal") { |
405 | 405 | |
406 | - print "<div dojoType='dijit.layout.ContentPane' title=\"" . __('App passwords') . "\">"; |
|
406 | + print "<div dojoType='dijit.layout.ContentPane' title=\"".__('App passwords')."\">"; |
|
407 | 407 | |
408 | 408 | print_notice("You can create separate passwords for API clients. Using one is required if you enable OTP."); |
409 | 409 | |
@@ -415,11 +415,11 @@ discard block |
||
415 | 415 | |
416 | 416 | print "<button style='float : left' class='alt-primary' dojoType='dijit.form.Button' |
417 | 417 | onclick=\"Helpers.AppPasswords.generate()\">" . |
418 | - __('Generate new password') . "</button> "; |
|
418 | + __('Generate new password')."</button> "; |
|
419 | 419 | |
420 | 420 | print "<button style='float : left' class='alt-danger' dojoType='dijit.form.Button' |
421 | 421 | onclick=\"Helpers.AppPasswords.removeSelected()\">" . |
422 | - __('Remove selected passwords') . "</button>"; |
|
422 | + __('Remove selected passwords')."</button>"; |
|
423 | 423 | |
424 | 424 | print "</div>"; # content pane |
425 | 425 | } |
@@ -474,13 +474,13 @@ discard block |
||
474 | 474 | print_notice("You will need to generate app passwords for the API clients if you enable OTP."); |
475 | 475 | |
476 | 476 | if (function_exists("imagecreatefromstring")) { |
477 | - print "<h3>" . __("Scan the following code by the Authenticator application or copy the key manually") . "</h3>"; |
|
477 | + print "<h3>".__("Scan the following code by the Authenticator application or copy the key manually")."</h3>"; |
|
478 | 478 | |
479 | 479 | $csrf_token = $_SESSION["csrf_token"]; |
480 | 480 | print "<img alt='otp qr-code' src='backend.php?op=pref-prefs&method=otpqrcode&csrf_token=$csrf_token'>"; |
481 | 481 | } else { |
482 | 482 | print_error("PHP GD functions are required to generate QR codes."); |
483 | - print "<h3>" . __("Use the following OTP key with a compatible Authenticator application") . "</h3>"; |
|
483 | + print "<h3>".__("Use the following OTP key with a compatible Authenticator application")."</h3>"; |
|
484 | 484 | } |
485 | 485 | |
486 | 486 | print "<form dojoType='dijit.form.Form' id='changeOtpForm'>"; |
@@ -647,7 +647,7 @@ discard block |
||
647 | 647 | print "<fieldset class='prefs'>"; |
648 | 648 | |
649 | 649 | print "<label for='CB_$pref_name'>"; |
650 | - print $item['short_desc'] . ":"; |
|
650 | + print $item['short_desc'].":"; |
|
651 | 651 | print "</label>"; |
652 | 652 | |
653 | 653 | $value = $item['value']; |
@@ -684,7 +684,7 @@ discard block |
||
684 | 684 | print "</select>"; |
685 | 685 | |
686 | 686 | print " <button dojoType=\"dijit.form.Button\" class='alt-info' |
687 | - onclick=\"Helpers.customizeCSS()\">" . __('Customize') . "</button>"; |
|
687 | + onclick=\"Helpers.customizeCSS()\">" . __('Customize')."</button>"; |
|
688 | 688 | |
689 | 689 | print " <button dojoType='dijit.form.Button' onclick='window.open(\"https://tt-rss.org/wiki/Themes\")'> |
690 | 690 | <i class='material-icons'>open_in_new</i> ".__("More themes...")."</button>"; |
@@ -747,12 +747,12 @@ discard block |
||
747 | 747 | $has_serial = ($cert_serial) ? "false" : "true"; |
748 | 748 | |
749 | 749 | print "<button dojoType='dijit.form.Button' disabled='$has_serial' |
750 | - onclick=\"dijit.byId('SSL_CERT_SERIAL').attr('value', '$cert_serial')\">" . |
|
751 | - __('Register') . "</button>"; |
|
750 | + onclick=\"dijit.byId('SSL_CERT_SERIAL').attr('value', '$cert_serial')\">". |
|
751 | + __('Register')."</button>"; |
|
752 | 752 | |
753 | 753 | print "<button dojoType='dijit.form.Button' class='alt-danger' |
754 | 754 | onclick=\"dijit.byId('SSL_CERT_SERIAL').attr('value', '')\">" . |
755 | - __('Clear') . "</button>"; |
|
755 | + __('Clear')."</button>"; |
|
756 | 756 | |
757 | 757 | print "<button dojoType='dijit.form.Button' class='alt-info' |
758 | 758 | onclick='window.open(\"https://tt-rss.org/wiki/SSL%20Certificate%20Authentication\")'> |
@@ -763,7 +763,7 @@ discard block |
||
763 | 763 | id=\"$pref_name\" regexp=\"[012]?\d:\d\d\" placeHolder=\"12:00\" |
764 | 764 | name=\"$pref_name\" value=\"$value\">"; |
765 | 765 | |
766 | - $item['help_text'] .= ". " . T_sprintf("Current server time: %s", date("H:i")); |
|
766 | + $item['help_text'] .= ". ".T_sprintf("Current server time: %s", date("H:i")); |
|
767 | 767 | } else { |
768 | 768 | $regexp = ($type_name == 'integer') ? 'regexp="^\d*$"' : ''; |
769 | 769 | |
@@ -849,7 +849,7 @@ discard block |
||
849 | 849 | print_warning("Your PHP configuration has open_basedir restrictions enabled. Some plugins relying on CURL for functionality may not work correctly."); |
850 | 850 | } |
851 | 851 | |
852 | - $feed_handler_whitelist = [ "Af_Comics" ]; |
|
852 | + $feed_handler_whitelist = ["Af_Comics"]; |
|
853 | 853 | |
854 | 854 | $feed_handlers = array_merge( |
855 | 855 | PluginHost::getInstance()->get_hooks(PluginHost::HOOK_FEED_FETCHED), |
@@ -861,9 +861,9 @@ discard block |
||
861 | 861 | |
862 | 862 | if (count($feed_handlers) > 0) { |
863 | 863 | print_error( |
864 | - T_sprintf("The following plugins use per-feed content hooks. This may cause excessive data usage and origin server load resulting in a ban of your instance: <b>%s</b>" , |
|
864 | + T_sprintf("The following plugins use per-feed content hooks. This may cause excessive data usage and origin server load resulting in a ban of your instance: <b>%s</b>", |
|
865 | 865 | implode(", ", array_map(function($plugin) { return get_class($plugin); }, $feed_handlers)) |
866 | - ) . " (<a href='https://tt-rss.org/wiki/FeedHandlerPlugins' target='_blank'>".__("More info...")."</a>)" |
|
866 | + )." (<a href='https://tt-rss.org/wiki/FeedHandlerPlugins' target='_blank'>".__("More info...")."</a>)" |
|
867 | 867 | ); |
868 | 868 | } |
869 | 869 | |
@@ -892,7 +892,7 @@ discard block |
||
892 | 892 | <label class='checkbox description text-muted' id='PLABEL-$name'> |
893 | 893 | <input disabled='1' |
894 | 894 | dojoType='dijit.form.CheckBox' $checked type='checkbox'> |
895 | - ".htmlspecialchars($about[1]). "</label>"; |
|
895 | + ".htmlspecialchars($about[1])."</label>"; |
|
896 | 896 | |
897 | 897 | if (@$about[4]) { |
898 | 898 | print "<button dojoType='dijit.form.Button' class='alt-info' |
@@ -1154,7 +1154,7 @@ discard block |
||
1154 | 1154 | print "<div dojoType='fox.Toolbar'>"; |
1155 | 1155 | |
1156 | 1156 | print "<div dojoType='fox.form.DropDownButton'>". |
1157 | - "<span>" . __('Select')."</span>"; |
|
1157 | + "<span>".__('Select')."</span>"; |
|
1158 | 1158 | print "<div dojoType='dijit.Menu' style='display: none'>"; |
1159 | 1159 | print "<div onclick=\"Tables.select('pref-profiles-list', true)\" |
1160 | 1160 | dojoType='dijit.MenuItem'>".__('All')."</div>"; |
@@ -1192,7 +1192,7 @@ discard block |
||
1192 | 1192 | $is_active = ""; |
1193 | 1193 | } |
1194 | 1194 | |
1195 | - print "<td width='100%'><span>" . __("Default profile") . " $is_active</span></td>"; |
|
1195 | + print "<td width='100%'><span>".__("Default profile")." $is_active</span></td>"; |
|
1196 | 1196 | |
1197 | 1197 | print "</tr>"; |
1198 | 1198 | |
@@ -1214,7 +1214,7 @@ discard block |
||
1214 | 1214 | |
1215 | 1215 | print "<td><span dojoType='dijit.InlineEditBox' |
1216 | 1216 | width='300px' autoSave='false' |
1217 | - profile-id='$profile_id'>" . $edit_title . |
|
1217 | + profile-id='$profile_id'>".$edit_title. |
|
1218 | 1218 | "<script type='dojo/method' event='onChange' args='item'> |
1219 | 1219 | var elem = this; |
1220 | 1220 | dojo.xhrPost({ |
@@ -1263,13 +1263,13 @@ discard block |
||
1263 | 1263 | |
1264 | 1264 | private function appPasswordList() { |
1265 | 1265 | print "<div dojoType='fox.Toolbar'>"; |
1266 | - print "<div dojoType='fox.form.DropDownButton'>" . |
|
1267 | - "<span>" . __('Select') . "</span>"; |
|
1266 | + print "<div dojoType='fox.form.DropDownButton'>". |
|
1267 | + "<span>".__('Select')."</span>"; |
|
1268 | 1268 | print "<div dojoType='dijit.Menu' style='display: none'>"; |
1269 | 1269 | print "<div onclick=\"Tables.select('app-password-list', true)\" |
1270 | - dojoType=\"dijit.MenuItem\">" . __('All') . "</div>"; |
|
1270 | + dojoType=\"dijit.MenuItem\">" . __('All')."</div>"; |
|
1271 | 1271 | print "<div onclick=\"Tables.select('app-password-list', false)\" |
1272 | - dojoType=\"dijit.MenuItem\">" . __('None') . "</div>"; |
|
1272 | + dojoType=\"dijit.MenuItem\">" . __('None')."</div>"; |
|
1273 | 1273 | print "</div></div>"; |
1274 | 1274 | print "</div>"; #toolbar |
1275 | 1275 | |
@@ -1294,7 +1294,7 @@ discard block |
||
1294 | 1294 | |
1295 | 1295 | print "<td align='center'> |
1296 | 1296 | <input onclick='Tables.onRowChecked(this)' dojoType='dijit.form.CheckBox' type='checkbox'></td>"; |
1297 | - print "<td>" . htmlspecialchars($row["title"]) . "</td>"; |
|
1297 | + print "<td>".htmlspecialchars($row["title"])."</td>"; |
|
1298 | 1298 | |
1299 | 1299 | print "<td align='right' class='text-muted'>"; |
1300 | 1300 | print make_local_datetime($row['created'], false); |
@@ -1314,7 +1314,7 @@ discard block |
||
1314 | 1314 | private function encryptAppPassword($password) { |
1315 | 1315 | $salt = substr(bin2hex(get_random_bytes(24)), 0, 24); |
1316 | 1316 | |
1317 | - return "SSHA-512:".hash('sha512', $salt . $password). ":$salt"; |
|
1317 | + return "SSHA-512:".hash('sha512', $salt.$password).":$salt"; |
|
1318 | 1318 | } |
1319 | 1319 | |
1320 | 1320 | public function deleteAppPassword() { |
@@ -80,14 +80,14 @@ discard block |
||
80 | 80 | |
81 | 81 | if (strpos($feed_id, "CAT:") === 0) { |
82 | 82 | $cat_id = (int) substr($feed_id, 4); |
83 | - array_push($scope_inner_qparts, "cat_id = " . $this->pdo->quote($cat_id)); |
|
83 | + array_push($scope_inner_qparts, "cat_id = ".$this->pdo->quote($cat_id)); |
|
84 | 84 | } else if ($feed_id > 0) { |
85 | - array_push($scope_inner_qparts, "feed_id = " . $this->pdo->quote($feed_id)); |
|
85 | + array_push($scope_inner_qparts, "feed_id = ".$this->pdo->quote($feed_id)); |
|
86 | 86 | } |
87 | 87 | } |
88 | 88 | |
89 | 89 | if (count($scope_inner_qparts) > 0) { |
90 | - array_push($scope_qparts, "(" . implode(" OR ", $scope_inner_qparts) . ")"); |
|
90 | + array_push($scope_qparts, "(".implode(" OR ", $scope_inner_qparts).")"); |
|
91 | 91 | } |
92 | 92 | |
93 | 93 | array_push($filter["rules"], $rule); |
@@ -100,7 +100,7 @@ discard block |
||
100 | 100 | |
101 | 101 | if (count($scope_qparts) == 0) $scope_qparts = ["true"]; |
102 | 102 | |
103 | - $glue = $filter['match_any_rule'] ? " OR " : " AND "; |
|
103 | + $glue = $filter['match_any_rule'] ? " OR " : " AND "; |
|
104 | 104 | $scope_qpart = join($glue, $scope_qparts); |
105 | 105 | |
106 | 106 | if (!$scope_qpart) $scope_qpart = "true"; |
@@ -146,9 +146,9 @@ discard block |
||
146 | 146 | |
147 | 147 | $content_preview = $line["content_preview"]; |
148 | 148 | |
149 | - $tmp = "<li><span class='title'>" . $line["title"] . "</span><br/>" . |
|
150 | - "<span class='feed'>" . $line['feed_title'] . "</span>, <span class='date'>" . mb_substr($line["date_entered"], 0, 16) . "</span>" . |
|
151 | - "<div class='preview text-muted'>" . $content_preview . "</div>" . |
|
149 | + $tmp = "<li><span class='title'>".$line["title"]."</span><br/>". |
|
150 | + "<span class='feed'>".$line['feed_title']."</span>, <span class='date'>".mb_substr($line["date_entered"], 0, 16)."</span>". |
|
151 | + "<div class='preview text-muted'>".$content_preview."</div>". |
|
152 | 152 | "</li>"; |
153 | 153 | |
154 | 154 | array_push($rv, $tmp); |
@@ -203,11 +203,11 @@ discard block |
||
203 | 203 | foreach ($feeds as $feed_id) { |
204 | 204 | |
205 | 205 | if (strpos($feed_id, "CAT:") === 0) { |
206 | - $feed_id = (int)substr($feed_id, 4); |
|
206 | + $feed_id = (int) substr($feed_id, 4); |
|
207 | 207 | array_push($feeds_fmt, Feeds::getCategoryTitle($feed_id)); |
208 | 208 | } else { |
209 | 209 | if ($feed_id) |
210 | - array_push($feeds_fmt, Feeds::getFeedTitle((int)$feed_id)); |
|
210 | + array_push($feeds_fmt, Feeds::getFeedTitle((int) $feed_id)); |
|
211 | 211 | else |
212 | 212 | array_push($feeds_fmt, __("All feeds")); |
213 | 213 | } |
@@ -218,8 +218,7 @@ discard block |
||
218 | 218 | } else { |
219 | 219 | |
220 | 220 | $where = $line["cat_filter"] ? |
221 | - Feeds::getCategoryTitle($line["cat_id"]) : |
|
222 | - ($line["feed_id"] ? |
|
221 | + Feeds::getCategoryTitle($line["cat_id"]) : ($line["feed_id"] ? |
|
223 | 222 | Feeds::getFeedTitle($line["feed_id"]) : __("All feeds")); |
224 | 223 | } |
225 | 224 | |
@@ -227,11 +226,11 @@ discard block |
||
227 | 226 | |
228 | 227 | $inverse = $line["inverse"] ? "inverse" : ""; |
229 | 228 | |
230 | - $rv .= "<li class='$inverse'>" . T_sprintf("%s on %s in %s %s", |
|
229 | + $rv .= "<li class='$inverse'>".T_sprintf("%s on %s in %s %s", |
|
231 | 230 | htmlspecialchars($line["reg_exp"]), |
232 | 231 | $line["field"], |
233 | 232 | $where, |
234 | - $line["inverse"] ? __("(inverse)") : "") . "</li>"; |
|
233 | + $line["inverse"] ? __("(inverse)") : "")."</li>"; |
|
235 | 234 | } |
236 | 235 | |
237 | 236 | return $rv; |
@@ -294,12 +293,12 @@ discard block |
||
294 | 293 | //$fg_color = $label_row["fg_color"]; |
295 | 294 | $bg_color = $label_row["bg_color"]; |
296 | 295 | |
297 | - $name[1] = "<i class=\"material-icons\" style='color : $bg_color; margin-right : 4px'>label</i>" . $name[1]; |
|
296 | + $name[1] = "<i class=\"material-icons\" style='color : $bg_color; margin-right : 4px'>label</i>".$name[1]; |
|
298 | 297 | } |
299 | 298 | } |
300 | 299 | |
301 | 300 | $filter = array(); |
302 | - $filter['id'] = 'FILTER:' . $line['id']; |
|
301 | + $filter['id'] = 'FILTER:'.$line['id']; |
|
303 | 302 | $filter['bare_id'] = $line['id']; |
304 | 303 | $filter['name'] = $name[0]; |
305 | 304 | $filter['param'] = $name[1]; |
@@ -357,7 +356,7 @@ discard block |
||
357 | 356 | print "<div dojoType=\"fox.Toolbar\">"; |
358 | 357 | |
359 | 358 | print "<div dojoType=\"fox.form.DropDownButton\">". |
360 | - "<span>" . __('Select')."</span>"; |
|
359 | + "<span>".__('Select')."</span>"; |
|
361 | 360 | print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">"; |
362 | 361 | print "<div onclick=\"dijit.byId('filterEditDlg').selectRules(true)\" |
363 | 362 | dojoType=\"dijit.MenuItem\">".__('All')."</div>"; |
@@ -384,12 +383,12 @@ discard block |
||
384 | 383 | $line["feed_id"] = json_decode($line["match_on"], true); |
385 | 384 | } else { |
386 | 385 | if ($line["cat_filter"]) { |
387 | - $feed_id = "CAT:" . (int)$line["cat_id"]; |
|
386 | + $feed_id = "CAT:".(int) $line["cat_id"]; |
|
388 | 387 | } else { |
389 | - $feed_id = (int)$line["feed_id"]; |
|
388 | + $feed_id = (int) $line["feed_id"]; |
|
390 | 389 | } |
391 | 390 | |
392 | - $line["feed_id"] = ["" . $feed_id]; // set item type to string for in_array() |
|
391 | + $line["feed_id"] = ["".$feed_id]; // set item type to string for in_array() |
|
393 | 392 | } |
394 | 393 | |
395 | 394 | unset($line["cat_filter"]); |
@@ -417,7 +416,7 @@ discard block |
||
417 | 416 | print "<div dojoType=\"fox.Toolbar\">"; |
418 | 417 | |
419 | 418 | print "<div dojoType=\"fox.form.DropDownButton\">". |
420 | - "<span>" . __('Select')."</span>"; |
|
419 | + "<span>".__('Select')."</span>"; |
|
421 | 420 | print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">"; |
422 | 421 | print "<div onclick=\"dijit.byId('filterEditDlg').selectActions(true)\" |
423 | 422 | dojoType=\"dijit.MenuItem\">".__('All')."</div>"; |
@@ -528,11 +527,11 @@ discard block |
||
528 | 527 | foreach ($feeds as $feed_id) { |
529 | 528 | |
530 | 529 | if (strpos($feed_id, "CAT:") === 0) { |
531 | - $feed_id = (int)substr($feed_id, 4); |
|
530 | + $feed_id = (int) substr($feed_id, 4); |
|
532 | 531 | array_push($feeds_fmt, Feeds::getCategoryTitle($feed_id)); |
533 | 532 | } else { |
534 | 533 | if ($feed_id) |
535 | - array_push($feeds_fmt, Feeds::getFeedTitle((int)$feed_id)); |
|
534 | + array_push($feeds_fmt, Feeds::getFeedTitle((int) $feed_id)); |
|
536 | 535 | else |
537 | 536 | array_push($feeds_fmt, __("All feeds")); |
538 | 537 | } |
@@ -542,7 +541,7 @@ discard block |
||
542 | 541 | |
543 | 542 | $sth = $this->pdo->prepare("SELECT description FROM ttrss_filter_types |
544 | 543 | WHERE id = ?"); |
545 | - $sth->execute([(int)$rule["filter_type"]]); |
|
544 | + $sth->execute([(int) $rule["filter_type"]]); |
|
546 | 545 | |
547 | 546 | if ($row = $sth->fetch()) { |
548 | 547 | $filter_type = $row["description"]; |
@@ -552,9 +551,9 @@ discard block |
||
552 | 551 | |
553 | 552 | $inverse = isset($rule["inverse"]) ? "inverse" : ""; |
554 | 553 | |
555 | - return "<span class='filterRule $inverse'>" . |
|
554 | + return "<span class='filterRule $inverse'>". |
|
556 | 555 | T_sprintf("%s on %s in %s %s", htmlspecialchars($rule["reg_exp"]), |
557 | - $filter_type, $feed, isset($rule["inverse"]) ? __("(inverse)") : "") . "</span>"; |
|
556 | + $filter_type, $feed, isset($rule["inverse"]) ? __("(inverse)") : "")."</span>"; |
|
558 | 557 | } |
559 | 558 | |
560 | 559 | public function printRuleName() { |
@@ -564,7 +563,7 @@ discard block |
||
564 | 563 | private function getActionName($action) { |
565 | 564 | $sth = $this->pdo->prepare("SELECT description FROM |
566 | 565 | ttrss_filter_actions WHERE id = ?"); |
567 | - $sth->execute([(int)$action["action_id"]]); |
|
566 | + $sth->execute([(int) $action["action_id"]]); |
|
568 | 567 | |
569 | 568 | $title = ""; |
570 | 569 | |
@@ -574,7 +573,7 @@ discard block |
||
574 | 573 | |
575 | 574 | if ($action["action_id"] == 4 || $action["action_id"] == 6 || |
576 | 575 | $action["action_id"] == 7) |
577 | - $title .= ": " . $action["action_param"]; |
|
576 | + $title .= ": ".$action["action_param"]; |
|
578 | 577 | |
579 | 578 | if ($action["action_id"] == 9) { |
580 | 579 | list ($pfclass, $pfaction) = explode(":", $action["action_param"]); |
@@ -584,7 +583,7 @@ discard block |
||
584 | 583 | foreach ($filter_actions as $fclass => $factions) { |
585 | 584 | foreach ($factions as $faction) { |
586 | 585 | if ($pfaction == $faction["action"] && $pfclass == $fclass) { |
587 | - $title .= ": " . $fclass . ": " . $faction["description"]; |
|
586 | + $title .= ": ".$fclass.": ".$faction["description"]; |
|
588 | 587 | break; |
589 | 588 | } |
590 | 589 | } |
@@ -681,7 +680,7 @@ discard block |
||
681 | 680 | $reg_exp = trim($rule["reg_exp"]); |
682 | 681 | $inverse = isset($rule["inverse"]) ? 1 : 0; |
683 | 682 | |
684 | - $filter_type = (int)trim($rule["filter_type"]); |
|
683 | + $filter_type = (int) trim($rule["filter_type"]); |
|
685 | 684 | $match_on = json_encode($rule["feed_id"]); |
686 | 685 | |
687 | 686 | $rsth->execute([$filter_id, $reg_exp, $filter_type, $match_on, $inverse]); |
@@ -695,7 +694,7 @@ discard block |
||
695 | 694 | foreach ($actions as $action) { |
696 | 695 | if ($action) { |
697 | 696 | |
698 | - $action_id = (int)$action["action_id"]; |
|
697 | + $action_id = (int) $action["action_id"]; |
|
699 | 698 | $action_param = $action["action_param"]; |
700 | 699 | $action_param_label = $action["action_param_label"]; |
701 | 700 | |
@@ -704,7 +703,7 @@ discard block |
||
704 | 703 | } |
705 | 704 | |
706 | 705 | if ($action_id == 6) { |
707 | - $action_param = (int)str_replace("+", "", $action_param); |
|
706 | + $action_param = (int) str_replace("+", "", $action_param); |
|
708 | 707 | } |
709 | 708 | |
710 | 709 | $asth->execute([$filter_id, $action_id, $action_param]); |
@@ -773,7 +772,7 @@ discard block |
||
773 | 772 | </div>"; |
774 | 773 | |
775 | 774 | print "<div dojoType=\"fox.form.DropDownButton\">". |
776 | - "<span>" . __('Select')."</span>"; |
|
775 | + "<span>".__('Select')."</span>"; |
|
777 | 776 | print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">"; |
778 | 777 | print "<div onclick=\"dijit.byId('filterTree').model.setAllChecked(true)\" |
779 | 778 | dojoType=\"dijit.MenuItem\">".__('All')."</div>"; |
@@ -859,7 +858,7 @@ discard block |
||
859 | 858 | print "<div dojoType='fox.Toolbar'>"; |
860 | 859 | |
861 | 860 | print "<div dojoType='fox.form.DropDownButton'>". |
862 | - "<span>" . __('Select')."</span>"; |
|
861 | + "<span>".__('Select')."</span>"; |
|
863 | 862 | print "<div dojoType='dijit.Menu' style='display: none'>"; |
864 | 863 | print "<div onclick=\"dijit.byId('filterEditDlg').selectRules(true)\" |
865 | 864 | dojoType='dijit.MenuItem'>".__('All')."</div>"; |
@@ -888,7 +887,7 @@ discard block |
||
888 | 887 | print "<div dojoType='fox.Toolbar'>"; |
889 | 888 | |
890 | 889 | print "<div dojoType='fox.form.DropDownButton'>". |
891 | - "<span>" . __('Select')."</span>"; |
|
890 | + "<span>".__('Select')."</span>"; |
|
892 | 891 | print "<div dojoType='dijit.Menu' style='display: none'>"; |
893 | 892 | print "<div onclick=\"dijit.byId('filterEditDlg').selectActions(true)\" |
894 | 893 | dojoType='dijit.MenuItem'>".__('All')."</div>"; |
@@ -992,10 +991,10 @@ discard block |
||
992 | 991 | print "</fieldset>"; |
993 | 992 | |
994 | 993 | print "<fieldset>"; |
995 | - print "<label style='display : inline'>". __("on field") . "</label> "; |
|
994 | + print "<label style='display : inline'>".__("on field")."</label> "; |
|
996 | 995 | print_select_hash("filter_type", $filter_type, $filter_types, |
997 | 996 | 'dojoType="fox.form.Select"'); |
998 | - print "<label style='padding-left : 10px; display : inline'>" . __("in") . "</label> "; |
|
997 | + print "<label style='padding-left : 10px; display : inline'>".__("in")."</label> "; |
|
999 | 998 | |
1000 | 999 | print "</fieldset>"; |
1001 | 1000 | |
@@ -1031,7 +1030,7 @@ discard block |
||
1031 | 1030 | |
1032 | 1031 | if ($action) { |
1033 | 1032 | $action_param = $action["action_param"]; |
1034 | - $action_id = (int)$action["action_id"]; |
|
1033 | + $action_id = (int) $action["action_id"]; |
|
1035 | 1034 | } else { |
1036 | 1035 | $action_param = ""; |
1037 | 1036 | $action_id = 0; |
@@ -1062,8 +1061,8 @@ discard block |
||
1062 | 1061 | $param_hidden = ($action_id == 4 || $action_id == 6) ? |
1063 | 1062 | "" : "display : none"; |
1064 | 1063 | |
1065 | - $label_param_hidden = ($action_id == 7) ? "" : "display : none"; |
|
1066 | - $plugin_param_hidden = ($action_id == 9) ? "" : "display : none"; |
|
1064 | + $label_param_hidden = ($action_id == 7) ? "" : "display : none"; |
|
1065 | + $plugin_param_hidden = ($action_id == 9) ? "" : "display : none"; |
|
1067 | 1066 | |
1068 | 1067 | print "<span id='filterDlg_paramBox' style=\"$param_box_hidden\">"; |
1069 | 1068 | print " "; |
@@ -1082,8 +1081,8 @@ discard block |
||
1082 | 1081 | foreach ($filter_actions as $fclass => $factions) { |
1083 | 1082 | foreach ($factions as $faction) { |
1084 | 1083 | |
1085 | - $filter_action_hash[$fclass . ":" . $faction["action"]] = |
|
1086 | - $fclass . ": " . $faction["description"]; |
|
1084 | + $filter_action_hash[$fclass.":".$faction["action"]] = |
|
1085 | + $fclass.": ".$faction["description"]; |
|
1087 | 1086 | } |
1088 | 1087 | } |
1089 | 1088 | |
@@ -1153,8 +1152,8 @@ discard block |
||
1153 | 1152 | $num_actions -= 1; |
1154 | 1153 | } |
1155 | 1154 | |
1156 | - if ($match_any_rule) $title .= " (" . __("matches any rule") . ")"; |
|
1157 | - if ($inverse) $title .= " (" . __("inverse") . ")"; |
|
1155 | + if ($match_any_rule) $title .= " (".__("matches any rule").")"; |
|
1156 | + if ($inverse) $title .= " (".__("inverse").")"; |
|
1158 | 1157 | |
1159 | 1158 | if ($num_actions > 0) |
1160 | 1159 | $actions = sprintf(_ngettext("%s (+%d action)", "%s (+%d actions)", (int) $num_actions), $actions, $num_actions); |
@@ -38,7 +38,7 @@ discard block |
||
38 | 38 | public function pubOPMLUrl() { |
39 | 39 | $url_path = Opml::opml_publish_url(); |
40 | 40 | |
41 | - print "<header>" . __("Your Public OPML URL is:") . "</header>"; |
|
41 | + print "<header>".__("Your Public OPML URL is:")."</header>"; |
|
42 | 42 | |
43 | 43 | print "<section>"; |
44 | 44 | |
@@ -67,18 +67,18 @@ discard block |
||
67 | 67 | if ($this->param == 1) { |
68 | 68 | 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."); |
69 | 69 | |
70 | - $stamp = (int) file_get_contents(LOCK_DIRECTORY . "/update_daemon.stamp"); |
|
70 | + $stamp = (int) file_get_contents(LOCK_DIRECTORY."/update_daemon.stamp"); |
|
71 | 71 | |
72 | - print "<p>" . __("Last update:") . " " . date("Y.m.d, G:i", $stamp); |
|
72 | + print "<p>".__("Last update:")." ".date("Y.m.d, G:i", $stamp); |
|
73 | 73 | |
74 | 74 | } |
75 | 75 | |
76 | 76 | if ($this->param == 3) { |
77 | 77 | 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."); |
78 | 78 | |
79 | - $stamp = (int) file_get_contents(LOCK_DIRECTORY . "/update_daemon.stamp"); |
|
79 | + $stamp = (int) file_get_contents(LOCK_DIRECTORY."/update_daemon.stamp"); |
|
80 | 80 | |
81 | - print "<p>" . __("Last update:") . " " . date("Y.m.d, G:i", $stamp); |
|
81 | + print "<p>".__("Last update:")." ".date("Y.m.d, G:i", $stamp); |
|
82 | 82 | |
83 | 83 | } |
84 | 84 | |
@@ -108,7 +108,7 @@ discard block |
||
108 | 108 | $tags[$line["tag_name"]] = $line["count"]; |
109 | 109 | } |
110 | 110 | |
111 | - if(count($tags) == 0 ){ return; } |
|
111 | + if (count($tags) == 0) { return; } |
|
112 | 112 | |
113 | 113 | ksort($tags); |
114 | 114 | |
@@ -138,9 +138,9 @@ discard block |
||
138 | 138 | |
139 | 139 | $key_escaped = str_replace("'", "\\'", $key); |
140 | 140 | |
141 | - echo "<a href=\"#\" onclick=\"Feeds.open({feed:'$key_escaped'}) \" style=\"font-size: " . |
|
142 | - $size . "px\" title=\"$value articles tagged with " . |
|
143 | - $key . '">' . $key . '</a> '; |
|
141 | + echo "<a href=\"#\" onclick=\"Feeds.open({feed:'$key_escaped'}) \" style=\"font-size: ". |
|
142 | + $size."px\" title=\"$value articles tagged with ". |
|
143 | + $key.'">'.$key.'</a> '; |
|
144 | 144 | } |
145 | 145 | |
146 | 146 | |
@@ -163,7 +163,7 @@ discard block |
||
163 | 163 | |
164 | 164 | $key = Feeds::get_feed_access_key($feed_id, $is_cat); |
165 | 165 | |
166 | - $url_path = htmlspecialchars($this->params[2]) . "&key=" . $key; |
|
166 | + $url_path = htmlspecialchars($this->params[2])."&key=".$key; |
|
167 | 167 | |
168 | 168 | $feed_title = Feeds::getFeedTitle($feed_id, $is_cat); |
169 | 169 |
@@ -2,7 +2,7 @@ discard block |
||
2 | 2 | class Backend extends Handler { |
3 | 3 | public function loading() { |
4 | 4 | header("Content-type: text/html"); |
5 | - print __("Loading, please wait...") . " " . |
|
5 | + print __("Loading, please wait...")." ". |
|
6 | 6 | "<img src='images/indicator_tiny.gif'>"; |
7 | 7 | } |
8 | 8 | |
@@ -41,7 +41,7 @@ discard block |
||
41 | 41 | foreach ($info as $section => $hotkeys) { |
42 | 42 | |
43 | 43 | if ($cur_section) print "<li> </li>"; |
44 | - print "<li><h3>" . $section . "</h3></li>"; |
|
44 | + print "<li><h3>".$section."</h3></li>"; |
|
45 | 45 | $cur_section = $section; |
46 | 46 | |
47 | 47 | foreach ($hotkeys as $action => $description) { |
@@ -50,7 +50,7 @@ discard block |
||
50 | 50 | foreach ($omap[$action] as $sequence) { |
51 | 51 | if (strpos($sequence, "|") !== FALSE) { |
52 | 52 | $sequence = substr($sequence, |
53 | - strpos($sequence, "|")+1, |
|
53 | + strpos($sequence, "|") + 1, |
|
54 | 54 | strlen($sequence)); |
55 | 55 | } else { |
56 | 56 | $keys = explode(" ", $sequence); |
@@ -61,10 +61,10 @@ discard block |
||
61 | 61 | foreach (str_split($keys[$i]) as $c) { |
62 | 62 | switch ($c) { |
63 | 63 | case '*': |
64 | - $tmp .= __('Shift') . '+'; |
|
64 | + $tmp .= __('Shift').'+'; |
|
65 | 65 | break; |
66 | 66 | case '^': |
67 | - $tmp .= __('Ctrl') . '+'; |
|
67 | + $tmp .= __('Ctrl').'+'; |
|
68 | 68 | break; |
69 | 69 | default: |
70 | 70 | $tmp .= $c; |
@@ -37,7 +37,7 @@ discard block |
||
37 | 37 | } |
38 | 38 | } |
39 | 39 | |
40 | - public static function get_all_labels($owner_uid) { |
|
40 | + public static function get_all_labels($owner_uid) { |
|
41 | 41 | $rv = array(); |
42 | 42 | |
43 | 43 | $pdo = Db::pdo(); |
@@ -70,7 +70,7 @@ discard block |
||
70 | 70 | |
71 | 71 | } |
72 | 72 | |
73 | - public static function clear_cache($id) { |
|
73 | + public static function clear_cache($id) { |
|
74 | 74 | |
75 | 75 | $pdo = Db::pdo(); |
76 | 76 | |
@@ -98,7 +98,7 @@ discard block |
||
98 | 98 | Labels::clear_cache($id); |
99 | 99 | } |
100 | 100 | |
101 | - public static function add_article($id, $label, $owner_uid) { |
|
101 | + public static function add_article($id, $label, $owner_uid) { |
|
102 | 102 | |
103 | 103 | $label_id = Labels::find_id($label, $owner_uid); |
104 | 104 | |
@@ -171,7 +171,7 @@ discard block |
||
171 | 171 | if (!$tr_in_progress) $pdo->commit(); |
172 | 172 | } |
173 | 173 | |
174 | - public static function create($caption, $fg_color = '', $bg_color = '', $owner_uid = false) { |
|
174 | + public static function create($caption, $fg_color = '', $bg_color = '', $owner_uid = false) { |
|
175 | 175 | |
176 | 176 | if (!$owner_uid) $owner_uid = $_SESSION['uid']; |
177 | 177 |
@@ -3,7 +3,7 @@ discard block |
||
3 | 3 | private $dir; |
4 | 4 | |
5 | 5 | public function __construct($dir) { |
6 | - $this->dir = CACHE_DIR . "/" . clean_filename($dir); |
|
6 | + $this->dir = CACHE_DIR."/".clean_filename($dir); |
|
7 | 7 | } |
8 | 8 | |
9 | 9 | public function getDir() { |
@@ -41,7 +41,7 @@ discard block |
||
41 | 41 | public function getFullPath($filename) { |
42 | 42 | $filename = clean_filename($filename); |
43 | 43 | |
44 | - return $this->dir . "/" . $filename; |
|
44 | + return $this->dir."/".$filename; |
|
45 | 45 | } |
46 | 46 | |
47 | 47 | public function put($filename, $data) { |
@@ -73,7 +73,7 @@ discard block |
||
73 | 73 | } |
74 | 74 | |
75 | 75 | public function getUrl($filename) { |
76 | - return get_self_url_prefix() . "/public.php?op=cached_url&file=" . basename($this->dir) . "/" . $filename; |
|
76 | + return get_self_url_prefix()."/public.php?op=cached_url&file=".basename($this->dir)."/".$filename; |
|
77 | 77 | } |
78 | 78 | |
79 | 79 | // check for locally cached (media) URLs and rewrite to local versions |
@@ -85,7 +85,7 @@ discard block |
||
85 | 85 | if (!$res) return ''; |
86 | 86 | |
87 | 87 | $doc = new DOMDocument(); |
88 | - if ($doc->loadHTML('<?xml encoding="UTF-8">' . $res)) { |
|
88 | + if ($doc->loadHTML('<?xml encoding="UTF-8">'.$res)) { |
|
89 | 89 | $xpath = new DOMXPath($doc); |
90 | 90 | $cache = new DiskCache("images"); |
91 | 91 | |
@@ -126,7 +126,7 @@ discard block |
||
126 | 126 | } |
127 | 127 | |
128 | 128 | public static function expire() { |
129 | - $dirs = array_filter(glob(CACHE_DIR . "/*"), "is_dir"); |
|
129 | + $dirs = array_filter(glob(CACHE_DIR."/*"), "is_dir"); |
|
130 | 130 | |
131 | 131 | foreach ($dirs as $cache_dir) { |
132 | 132 | $num_deleted = 0; |
@@ -136,7 +136,7 @@ discard block |
||
136 | 136 | |
137 | 137 | if ($files) { |
138 | 138 | foreach ($files as $file) { |
139 | - if (time() - filemtime($file) > 86400*CACHE_MAX_DAYS) { |
|
139 | + if (time() - filemtime($file) > 86400 * CACHE_MAX_DAYS) { |
|
140 | 140 | unlink($file); |
141 | 141 | |
142 | 142 | ++$num_deleted; |
@@ -7,11 +7,11 @@ discard block |
||
7 | 7 | if ($k != "feed" && isset($v)) { |
8 | 8 | $x = strip_tags(is_array($v) ? implode(",", $v) : $v); |
9 | 9 | |
10 | - $tmp .= sha1("$k:" . sha1($x)); |
|
10 | + $tmp .= sha1("$k:".sha1($x)); |
|
11 | 11 | } |
12 | 12 | } |
13 | 13 | |
14 | - return sha1(implode(",", $pluginhost->get_plugin_names()) . $tmp); |
|
14 | + return sha1(implode(",", $pluginhost->get_plugin_names()).$tmp); |
|
15 | 15 | } |
16 | 16 | |
17 | 17 | // Strips utf8mb4 characters (i.e. emoji) for mysql |
@@ -137,7 +137,7 @@ discard block |
||
137 | 137 | //update_rss_feed($line["id"], true); |
138 | 138 | |
139 | 139 | if ($tline = $usth->fetch()) { |
140 | - Debug::log(" => " . $tline["last_updated"] . ", " . $tline["id"] . " " . $tline["owner_uid"]); |
|
140 | + Debug::log(" => ".$tline["last_updated"].", ".$tline["id"]." ".$tline["owner_uid"]); |
|
141 | 141 | |
142 | 142 | if (array_search($tline["owner_uid"], $batch_owners) === FALSE) |
143 | 143 | array_push($batch_owners, $tline["owner_uid"]); |
@@ -323,7 +323,7 @@ discard block |
||
323 | 323 | |
324 | 324 | $date_feed_processed = date('Y-m-d H:i'); |
325 | 325 | |
326 | - $cache_filename = CACHE_DIR . "/feeds/" . sha1($fetch_url) . ".xml"; |
|
326 | + $cache_filename = CACHE_DIR."/feeds/".sha1($fetch_url).".xml"; |
|
327 | 327 | |
328 | 328 | $pluginhost = new PluginHost(); |
329 | 329 | $user_plugins = get_pref("_ENABLED_PLUGINS", $owner_uid); |
@@ -340,7 +340,7 @@ discard block |
||
340 | 340 | Debug::log("running HOOK_FETCH_FEED handlers...", Debug::$LOG_VERBOSE); |
341 | 341 | |
342 | 342 | foreach ($pluginhost->get_hooks(PluginHost::HOOK_FETCH_FEED) as $plugin) { |
343 | - Debug::log("... " . get_class($plugin), Debug::$LOG_VERBOSE); |
|
343 | + Debug::log("... ".get_class($plugin), Debug::$LOG_VERBOSE); |
|
344 | 344 | $start = microtime(true); |
345 | 345 | $feed_data = $plugin->hook_fetch_feed($feed_data, $fetch_url, $owner_uid, $feed, 0, $auth_login, $auth_pass); |
346 | 346 | Debug::log(sprintf("=== %.4f (sec)", microtime(true) - $start), Debug::$LOG_VERBOSE); |
@@ -402,7 +402,7 @@ discard block |
||
402 | 402 | $feed_data = trim($feed_data); |
403 | 403 | |
404 | 404 | Debug::log("fetch done.", Debug::$LOG_VERBOSE); |
405 | - Debug::log("source last modified: " . $fetch_last_modified, Debug::$LOG_VERBOSE); |
|
405 | + Debug::log("source last modified: ".$fetch_last_modified, Debug::$LOG_VERBOSE); |
|
406 | 406 | |
407 | 407 | if ($feed_data && $fetch_last_modified != $stored_last_modified) { |
408 | 408 | $sth = $pdo->prepare("UPDATE ttrss_feeds SET last_modified = ? WHERE id = ?"); |
@@ -410,7 +410,7 @@ discard block |
||
410 | 410 | } |
411 | 411 | |
412 | 412 | // cache vanilla feed data for re-use |
413 | - if ($feed_data && !$auth_pass && !$auth_login && is_writable(CACHE_DIR . "/feeds")) { |
|
413 | + if ($feed_data && !$auth_pass && !$auth_login && is_writable(CACHE_DIR."/feeds")) { |
|
414 | 414 | $new_rss_hash = sha1($feed_data); |
415 | 415 | |
416 | 416 | if ($new_rss_hash != $rss_hash) { |
@@ -445,7 +445,7 @@ discard block |
||
445 | 445 | $feed_data_checksum = md5($feed_data); |
446 | 446 | |
447 | 447 | foreach ($pluginhost->get_hooks(PluginHost::HOOK_FEED_FETCHED) as $plugin) { |
448 | - Debug::log("... " . get_class($plugin), Debug::$LOG_VERBOSE); |
|
448 | + Debug::log("... ".get_class($plugin), Debug::$LOG_VERBOSE); |
|
449 | 449 | $start = microtime(true); |
450 | 450 | $feed_data = $plugin->hook_feed_fetched($feed_data, $fetch_url, $owner_uid, $feed); |
451 | 451 | Debug::log(sprintf("=== %.4f (sec)", microtime(true) - $start), Debug::$LOG_VERBOSE); |
@@ -467,7 +467,7 @@ discard block |
||
467 | 467 | // We use local pluginhost here because we need to load different per-user feed plugins |
468 | 468 | |
469 | 469 | foreach ($pluginhost->get_hooks(PluginHost::HOOK_FEED_PARSED) as $plugin) { |
470 | - Debug::log("... " . get_class($plugin), Debug::$LOG_VERBOSE); |
|
470 | + Debug::log("... ".get_class($plugin), Debug::$LOG_VERBOSE); |
|
471 | 471 | $start = microtime(true); |
472 | 472 | $plugin->hook_feed_parsed($rss); |
473 | 473 | Debug::log(sprintf("=== %.4f (sec)", microtime(true) - $start), Debug::$LOG_VERBOSE); |
@@ -499,14 +499,14 @@ discard block |
||
499 | 499 | $site_url = mb_substr(rewrite_relative_url($fetch_url, clean($rss->get_link())), 0, 245); |
500 | 500 | |
501 | 501 | Debug::log("site_url: $site_url", Debug::$LOG_VERBOSE); |
502 | - Debug::log("feed_title: " . clean($rss->get_title()), Debug::$LOG_VERBOSE); |
|
502 | + Debug::log("feed_title: ".clean($rss->get_title()), Debug::$LOG_VERBOSE); |
|
503 | 503 | |
504 | 504 | if ($favicon_needs_check || $force_refetch) { |
505 | 505 | |
506 | 506 | /* terrible hack: if we crash on floicon shit here, we won't check |
507 | 507 | * the icon avgcolor again (unless the icon got updated) */ |
508 | 508 | |
509 | - $favicon_file = ICONS_DIR . "/$feed.ico"; |
|
509 | + $favicon_file = ICONS_DIR."/$feed.ico"; |
|
510 | 510 | $favicon_modified = @filemtime($favicon_file); |
511 | 511 | |
512 | 512 | Debug::log("checking favicon...", Debug::$LOG_VERBOSE); |
@@ -527,7 +527,7 @@ discard block |
||
527 | 527 | |
528 | 528 | $favicon_color = calculate_avg_color($favicon_file); |
529 | 529 | |
530 | - $favicon_colorstring = ",favicon_avg_color = " . $pdo->quote($favicon_color); |
|
530 | + $favicon_colorstring = ",favicon_avg_color = ".$pdo->quote($favicon_color); |
|
531 | 531 | |
532 | 532 | } else if ($favicon_avg_color == 'fail') { |
533 | 533 | Debug::log("floicon failed on this file, not trying to recalculate avg color", Debug::$LOG_VERBOSE); |
@@ -546,7 +546,7 @@ discard block |
||
546 | 546 | print_r($filters); |
547 | 547 | } |
548 | 548 | |
549 | - Debug::log("" . count($filters) . " filters loaded.", Debug::$LOG_VERBOSE); |
|
549 | + Debug::log("".count($filters)." filters loaded.", Debug::$LOG_VERBOSE); |
|
550 | 550 | |
551 | 551 | $items = $rss->get_items(); |
552 | 552 | |
@@ -588,13 +588,13 @@ discard block |
||
588 | 588 | |
589 | 589 | $entry_guid = "$owner_uid,$entry_guid"; |
590 | 590 | |
591 | - $entry_guid_hashed = 'SHA1:' . sha1($entry_guid); |
|
591 | + $entry_guid_hashed = 'SHA1:'.sha1($entry_guid); |
|
592 | 592 | |
593 | 593 | Debug::log("guid $entry_guid / $entry_guid_hashed", Debug::$LOG_VERBOSE); |
594 | 594 | |
595 | - $entry_timestamp = (int)$item->get_date(); |
|
595 | + $entry_timestamp = (int) $item->get_date(); |
|
596 | 596 | |
597 | - Debug::log("orig date: " . $item->get_date(), Debug::$LOG_VERBOSE); |
|
597 | + Debug::log("orig date: ".$item->get_date(), Debug::$LOG_VERBOSE); |
|
598 | 598 | |
599 | 599 | $entry_title = strip_tags($item->get_title()); |
600 | 600 | |
@@ -606,7 +606,7 @@ discard block |
||
606 | 606 | Debug::log("link $entry_link", Debug::$LOG_VERBOSE); |
607 | 607 | Debug::log("language $entry_language", Debug::$LOG_VERBOSE); |
608 | 608 | |
609 | - if (!$entry_title) $entry_title = date("Y-m-d H:i:s", $entry_timestamp);; |
|
609 | + if (!$entry_title) $entry_title = date("Y-m-d H:i:s", $entry_timestamp); ; |
|
610 | 610 | |
611 | 611 | $entry_content = $item->get_content(); |
612 | 612 | if (!$entry_content) $entry_content = $item->get_description(); |
@@ -627,7 +627,7 @@ discard block |
||
627 | 627 | Debug::log("looking for tags...", Debug::$LOG_VERBOSE); |
628 | 628 | |
629 | 629 | $entry_tags = $item->get_categories(); |
630 | - Debug::log("tags found: " . join(", ", $entry_tags), Debug::$LOG_VERBOSE); |
|
630 | + Debug::log("tags found: ".join(", ", $entry_tags), Debug::$LOG_VERBOSE); |
|
631 | 631 | |
632 | 632 | Debug::log("done collecting data.", Debug::$LOG_VERBOSE); |
633 | 633 | |
@@ -692,14 +692,14 @@ discard block |
||
692 | 692 | Debug::log("hash differs, applying plugin filters:", Debug::$LOG_VERBOSE); |
693 | 693 | |
694 | 694 | foreach ($pluginhost->get_hooks(PluginHost::HOOK_ARTICLE_FILTER) as $plugin) { |
695 | - Debug::log("... " . get_class($plugin), Debug::$LOG_VERBOSE); |
|
695 | + Debug::log("... ".get_class($plugin), Debug::$LOG_VERBOSE); |
|
696 | 696 | |
697 | 697 | $start = microtime(true); |
698 | 698 | $article = $plugin->hook_article_filter($article); |
699 | 699 | |
700 | 700 | Debug::log(sprintf("=== %.4f (sec)", microtime(true) - $start), Debug::$LOG_VERBOSE); |
701 | 701 | |
702 | - $entry_plugin_data .= mb_strtolower(get_class($plugin)) . ","; |
|
702 | + $entry_plugin_data .= mb_strtolower(get_class($plugin)).","; |
|
703 | 703 | } |
704 | 704 | |
705 | 705 | if (Debug::get_loglevel() >= 3) { |
@@ -772,7 +772,7 @@ discard block |
||
772 | 772 | Debug::log("applying plugin filter actions...", Debug::$LOG_VERBOSE); |
773 | 773 | |
774 | 774 | foreach ($plugin_filter_names as $pfn) { |
775 | - list($pfclass,$pfaction) = explode(":", $pfn["param"]); |
|
775 | + list($pfclass, $pfaction) = explode(":", $pfn["param"]); |
|
776 | 776 | |
777 | 777 | if (isset($plugin_filter_actions[$pfclass])) { |
778 | 778 | $plugin = $pluginhost->get_plugin($pfclass); |
@@ -867,7 +867,7 @@ discard block |
||
867 | 867 | $entry_current_hash, |
868 | 868 | $date_feed_processed, |
869 | 869 | $entry_comments, |
870 | - (int)$num_comments, |
|
870 | + (int) $num_comments, |
|
871 | 871 | $entry_plugin_data, |
872 | 872 | "$entry_language", |
873 | 873 | "$entry_author"]); |
@@ -979,7 +979,7 @@ discard block |
||
979 | 979 | ":content" => "$entry_content", |
980 | 980 | ":content_hash" => $entry_current_hash, |
981 | 981 | ":updated" => $entry_timestamp_fmt, |
982 | - ":num_comments" => (int)$num_comments, |
|
982 | + ":num_comments" => (int) $num_comments, |
|
983 | 983 | ":plugin_data" => $entry_plugin_data, |
984 | 984 | ":author" => "$entry_author", |
985 | 985 | ":lang" => $entry_language, |
@@ -987,7 +987,7 @@ discard block |
||
987 | 987 | |
988 | 988 | if (DB_TYPE == "pgsql") { |
989 | 989 | $params[":ts_lang"] = $feed_language; |
990 | - $params[":ts_content"] = mb_substr(strip_tags($entry_title . " " . $entry_content), 0, 900000); |
|
990 | + $params[":ts_content"] = mb_substr(strip_tags($entry_title." ".$entry_content), 0, 900000); |
|
991 | 991 | } |
992 | 992 | |
993 | 993 | $sth->execute($params); |
@@ -1067,7 +1067,7 @@ discard block |
||
1067 | 1067 | foreach ($enclosures as $enc) { |
1068 | 1068 | $enc_url = $enc[0]; |
1069 | 1069 | $enc_type = $enc[1]; |
1070 | - $enc_dur = (int)$enc[2]; |
|
1070 | + $enc_dur = (int) $enc[2]; |
|
1071 | 1071 | $enc_title = $enc[3]; |
1072 | 1072 | $enc_width = intval($enc[4]); |
1073 | 1073 | $enc_height = intval($enc[5]); |
@@ -1075,7 +1075,7 @@ discard block |
||
1075 | 1075 | $esth->execute([$enc_url, $enc_type, $entry_ref_id]); |
1076 | 1076 | |
1077 | 1077 | if (!$esth->fetch()) { |
1078 | - $usth->execute([$enc_url, $enc_type, (string)$enc_title, $enc_dur, $entry_ref_id, $enc_width, $enc_height]); |
|
1078 | + $usth->execute([$enc_url, $enc_type, (string) $enc_title, $enc_dur, $entry_ref_id, $enc_width, $enc_height]); |
|
1079 | 1079 | } |
1080 | 1080 | } |
1081 | 1081 | |
@@ -1109,7 +1109,7 @@ discard block |
||
1109 | 1109 | $filtered_tags = array_unique($filtered_tags); |
1110 | 1110 | |
1111 | 1111 | if (Debug::get_loglevel() >= Debug::$LOG_VERBOSE) { |
1112 | - Debug::log("filtered tags: " . implode(", ", $filtered_tags), Debug::$LOG_VERBOSE); |
|
1112 | + Debug::log("filtered tags: ".implode(", ", $filtered_tags), Debug::$LOG_VERBOSE); |
|
1113 | 1113 | |
1114 | 1114 | } |
1115 | 1115 | |
@@ -1297,11 +1297,11 @@ discard block |
||
1297 | 1297 | $num_deleted = 0; |
1298 | 1298 | |
1299 | 1299 | if (is_writable(LOCK_DIRECTORY)) { |
1300 | - $files = glob(LOCK_DIRECTORY . "/*.lock"); |
|
1300 | + $files = glob(LOCK_DIRECTORY."/*.lock"); |
|
1301 | 1301 | |
1302 | 1302 | if ($files) { |
1303 | 1303 | foreach ($files as $file) { |
1304 | - if (!file_is_locked(basename($file)) && time() - filemtime($file) > 86400*2) { |
|
1304 | + if (!file_is_locked(basename($file)) && time() - filemtime($file) > 86400 * 2) { |
|
1305 | 1305 | unlink($file); |
1306 | 1306 | ++$num_deleted; |
1307 | 1307 | } |
@@ -1516,7 +1516,7 @@ discard block |
||
1516 | 1516 | public static function check_feed_favicon($site_url, $feed) { |
1517 | 1517 | # print "FAVICON [$site_url]: $favicon_url\n"; |
1518 | 1518 | |
1519 | - $icon_file = ICONS_DIR . "/$feed.ico"; |
|
1519 | + $icon_file = ICONS_DIR."/$feed.ico"; |
|
1520 | 1520 | |
1521 | 1521 | if (!file_exists($icon_file)) { |
1522 | 1522 | $favicon_url = RSSUtils::get_favicon_url($site_url); |
@@ -1570,14 +1570,14 @@ discard block |
||
1570 | 1570 | |
1571 | 1571 | public static function is_gzipped($feed_data) { |
1572 | 1572 | return strpos(substr($feed_data, 0, 3), |
1573 | - "\x1f" . "\x8b" . "\x08", 0) === 0; |
|
1573 | + "\x1f"."\x8b"."\x08", 0) === 0; |
|
1574 | 1574 | } |
1575 | 1575 | |
1576 | 1576 | public static function load_filters($feed_id, $owner_uid) { |
1577 | 1577 | $filters = array(); |
1578 | 1578 | |
1579 | 1579 | $feed_id = (int) $feed_id; |
1580 | - $cat_id = (int)Feeds::getFeedCategory($feed_id); |
|
1580 | + $cat_id = (int) Feeds::getFeedCategory($feed_id); |
|
1581 | 1581 | |
1582 | 1582 | if ($cat_id == 0) |
1583 | 1583 | $null_cat_qpart = "cat_id IS NULL OR"; |