include: convert some spaces to tabs

This commit is contained in:
Andrew Dolgov 2018-01-30 10:44:31 +03:00
parent 2aec1b030c
commit 7f4a404566
3 changed files with 173 additions and 173 deletions

View File

@ -18,8 +18,8 @@ class RSSUtils {
// Strips utf8mb4 characters (i.e. emoji) for mysql
static function strip_utf8mb4($str) {
return preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $str);
}
return preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $str);
}
static function update_feedbrowser_cache() {
@ -422,15 +422,15 @@ class RSSUtils {
_debug("not using CURL due to open_basedir restrictions");
}
if (time() - strtotime($last_unconditional) > MAX_CONDITIONAL_INTERVAL) {
_debug("maximum allowed interval for conditional requests exceeded, forcing refetch");
if (time() - strtotime($last_unconditional) > MAX_CONDITIONAL_INTERVAL) {
_debug("maximum allowed interval for conditional requests exceeded, forcing refetch");
$force_refetch = true;
} else {
_debug("stored last modified for conditional request: $stored_last_modified", $debug_enabled);
}
$force_refetch = true;
} else {
_debug("stored last modified for conditional request: $stored_last_modified", $debug_enabled);
}
_debug("fetching [$fetch_url] (force_refetch: $force_refetch)...", $debug_enabled);
_debug("fetching [$fetch_url] (force_refetch: $force_refetch)...", $debug_enabled);
$feed_data = fetch_file_contents([
"url" => $fetch_url,
@ -572,8 +572,8 @@ class RSSUtils {
$filters = load_filters($feed, $owner_uid);
if ($debug_enabled) {
print_r($filters);
}
print_r($filters);
}
_debug("" . count($filters) . " filters loaded.", $debug_enabled);
@ -1050,14 +1050,14 @@ class RSSUtils {
// Yet another episode of "mysql utf8_general_ci is gimped"
if (DB_TYPE == "mysql") {
for ($i = 0; $i < count($e_item); $i++) {
if (is_string($e_item[$i])) {
$e_item[$i] = RSSUtils::strip_utf8mb4($e_item[$i]);
}
}
for ($i = 0; $i < count($e_item); $i++) {
if (is_string($e_item[$i])) {
$e_item[$i] = RSSUtils::strip_utf8mb4($e_item[$i]);
}
}
}
array_push($enclosures, $e_item);
array_push($enclosures, $e_item);
}
}

130
include/controls.php Normal file → Executable file
View File

@ -71,106 +71,106 @@ function print_radio($id, $default, $true_is, $values, $attributes = "") {
}
function print_feed_multi_select($id, $default_ids = [],
$attributes = "", $include_all_feeds = true,
$root_id = null, $nest_level = 0) {
$attributes = "", $include_all_feeds = true,
$root_id = null, $nest_level = 0) {
$pdo = DB::pdo();
$pdo = DB::pdo();
print_r(in_array("CAT:6",$default_ids));
print_r(in_array("CAT:6",$default_ids));
if (!$root_id) {
print "<select multiple=\true\" id=\"$id\" name=\"$id\" $attributes>";
if ($include_all_feeds) {
$is_selected = (in_array("0", $default_ids)) ? "selected=\"1\"" : "";
print "<option $is_selected value=\"0\">".__('All feeds')."</option>";
}
}
if (!$root_id) {
print "<select multiple=\true\" id=\"$id\" name=\"$id\" $attributes>";
if ($include_all_feeds) {
$is_selected = (in_array("0", $default_ids)) ? "selected=\"1\"" : "";
print "<option $is_selected value=\"0\">".__('All feeds')."</option>";
}
}
if (get_pref('ENABLE_FEED_CATS')) {
if (get_pref('ENABLE_FEED_CATS')) {
if (!$root_id) $root_id = null;
if (!$root_id) $root_id = null;
$sth = $pdo->prepare("SELECT id,title,
$sth = $pdo->prepare("SELECT id,title,
(SELECT COUNT(id) FROM ttrss_feed_categories AS c2 WHERE
c2.parent_cat = ttrss_feed_categories.id) AS num_children
FROM ttrss_feed_categories
WHERE owner_uid = :uid AND
(parent_cat = :root_id OR (:root_id IS NULL AND parent_cat IS NULL)) ORDER BY title");
$sth->execute([":uid" => $_SESSION['uid'], ":root_id" => $root_id]);
$sth->execute([":uid" => $_SESSION['uid'], ":root_id" => $root_id]);
while ($line = $sth->fetch()) {
while ($line = $sth->fetch()) {
for ($i = 0; $i < $nest_level; $i++)
$line["title"] = " - " . $line["title"];
for ($i = 0; $i < $nest_level; $i++)
$line["title"] = " - " . $line["title"];
$is_selected = in_array("CAT:".$line["id"], $default_ids) ? "selected=\"1\"" : "";
$is_selected = in_array("CAT:".$line["id"], $default_ids) ? "selected=\"1\"" : "";
printf("<option $is_selected value='CAT:%d'>%s</option>",
$line["id"], htmlspecialchars($line["title"]));
printf("<option $is_selected value='CAT:%d'>%s</option>",
$line["id"], htmlspecialchars($line["title"]));
if ($line["num_children"] > 0)
print_feed_multi_select($id, $default_ids, $attributes,
$include_all_feeds, $line["id"], $nest_level+1);
if ($line["num_children"] > 0)
print_feed_multi_select($id, $default_ids, $attributes,
$include_all_feeds, $line["id"], $nest_level+1);
$f_sth = $pdo->prepare("SELECT id,title FROM ttrss_feeds
$f_sth = $pdo->prepare("SELECT id,title FROM ttrss_feeds
WHERE cat_id = ? AND owner_uid = ? ORDER BY title");
$f_sth->execute([$line['id'], $_SESSION['uid']]);
$f_sth->execute([$line['id'], $_SESSION['uid']]);
while ($fline = $f_sth->fetch()) {
$is_selected = (in_array($fline["id"], $default_ids)) ? "selected=\"1\"" : "";
while ($fline = $f_sth->fetch()) {
$is_selected = (in_array($fline["id"], $default_ids)) ? "selected=\"1\"" : "";
$fline["title"] = " + " . $fline["title"];
$fline["title"] = " + " . $fline["title"];
for ($i = 0; $i < $nest_level; $i++)
$fline["title"] = " - " . $fline["title"];
for ($i = 0; $i < $nest_level; $i++)
$fline["title"] = " - " . $fline["title"];
printf("<option $is_selected value='%d'>%s</option>",
$fline["id"], htmlspecialchars($fline["title"]));
}
}
printf("<option $is_selected value='%d'>%s</option>",
$fline["id"], htmlspecialchars($fline["title"]));
}
}
if (!$root_id) {
$is_selected = in_array("CAT:0", $default_ids) ? "selected=\"1\"" : "";
if (!$root_id) {
$is_selected = in_array("CAT:0", $default_ids) ? "selected=\"1\"" : "";
printf("<option $is_selected value='CAT:0'>%s</option>",
__("Uncategorized"));
printf("<option $is_selected value='CAT:0'>%s</option>",
__("Uncategorized"));
$f_sth = $pdo->prepare("SELECT id,title FROM ttrss_feeds
$f_sth = $pdo->prepare("SELECT id,title FROM ttrss_feeds
WHERE cat_id IS NULL AND owner_uid = ? ORDER BY title");
$f_sth->execute([$_SESSION['uid']]);
$f_sth->execute([$_SESSION['uid']]);
while ($fline = $f_sth->fetch()) {
$is_selected = in_array($fline["id"], $default_ids) ? "selected=\"1\"" : "";
while ($fline = $f_sth->fetch()) {
$is_selected = in_array($fline["id"], $default_ids) ? "selected=\"1\"" : "";
$fline["title"] = " + " . $fline["title"];
$fline["title"] = " + " . $fline["title"];
for ($i = 0; $i < $nest_level; $i++)
$fline["title"] = " - " . $fline["title"];
for ($i = 0; $i < $nest_level; $i++)
$fline["title"] = " - " . $fline["title"];
printf("<option $is_selected value='%d'>%s</option>",
$fline["id"], htmlspecialchars($fline["title"]));
}
}
printf("<option $is_selected value='%d'>%s</option>",
$fline["id"], htmlspecialchars($fline["title"]));
}
}
} else {
$sth = $pdo->prepare("SELECT id,title FROM ttrss_feeds
} else {
$sth = $pdo->prepare("SELECT id,title FROM ttrss_feeds
WHERE owner_uid = ? ORDER BY title");
$sth->execute([$_SESSION['uid']]);
$sth->execute([$_SESSION['uid']]);
while ($line = $sth->fetch()) {
while ($line = $sth->fetch()) {
$is_selected = (in_array($line["id"], $default_ids)) ? "selected=\"1\"" : "";
$is_selected = (in_array($line["id"], $default_ids)) ? "selected=\"1\"" : "";
printf("<option $is_selected value='%d'>%s</option>",
$line["id"], htmlspecialchars($line["title"]));
}
}
printf("<option $is_selected value='%d'>%s</option>",
$line["id"], htmlspecialchars($line["title"]));
}
}
if (!$root_id) {
print "</select>";
}
if (!$root_id) {
print "</select>";
}
}
function print_feed_cat_select($id, $default_id,
@ -195,7 +195,7 @@ function print_feed_cat_select($id, $default_id,
$found = 0;
while ($line = $sth->fetch()) {
++$found;
++$found;
if ($line["id"] == $default_id) {
$is_selected = "selected=\"1\"";
@ -315,7 +315,7 @@ function format_inline_player($url, $ctype) {
function print_label_select($name, $value, $attributes = "") {
$pdo = Db::pdo();
$pdo = Db::pdo();
$sth = $pdo->prepare("SELECT caption FROM ttrss_labels2
WHERE owner_uid = ? ORDER BY caption");
@ -338,4 +338,4 @@ function print_label_select($name, $value, $attributes = "") {
print "</select>";
}
}

182
include/functions.php Normal file → Executable file
View File

@ -57,9 +57,9 @@
// do not cache files smaller than that (bytes)
define_default('CACHE_MAX_DAYS', 7);
// max age in days for various automatically cached (temporary) files
define_default('MAX_CONDITIONAL_INTERVAL', 3600*12);
// max interval between forced unconditional updates for servers
// not complying with http if-modified-since (seconds)
define_default('MAX_CONDITIONAL_INTERVAL', 3600*12);
// max interval between forced unconditional updates for servers
// not complying with http if-modified-since (seconds)
/* tunables end here */
@ -255,9 +255,9 @@
}
if (!$purge_unread)
$query_limit = " unread = false AND ";
$query_limit = " unread = false AND ";
else
$query_limit = "";
$query_limit = "";
$purge_interval = (int) $purge_interval;
@ -272,14 +272,14 @@
$sth->execute([$feed_id]);
} else {
$sth = $pdo->prepare("DELETE FROM ttrss_user_entries
$sth = $pdo->prepare("DELETE FROM ttrss_user_entries
USING ttrss_user_entries, ttrss_entries
WHERE ttrss_entries.id = ref_id AND
marked = false AND
feed_id = ? AND
$query_limit
ttrss_entries.date_updated < DATE_SUB(NOW(), INTERVAL $purge_interval DAY)");
$sth->execute([$feed_id]);
$sth->execute([$feed_id]);
}
@ -296,7 +296,7 @@
function feed_purge_interval($feed_id) {
$pdo = DB::pdo();
$pdo = DB::pdo();
$sth = $pdo->prepare("SELECT purge_interval, owner_uid FROM ttrss_feeds
WHERE id = ?");
@ -318,7 +318,7 @@
// TODO: multiple-argument way is deprecated, first parameter is a hash now
function fetch_file_contents($options /* previously: 0: $url , 1: $type = false, 2: $login = false, 3: $pass = false,
4: $post_query = false, 5: $timeout = false, 6: $timestamp = 0, 7: $useragent = false*/) {
4: $post_query = false, 5: $timeout = false, 6: $timestamp = 0, 7: $useragent = false*/) {
global $fetch_last_error;
global $fetch_last_error_code;
@ -421,18 +421,18 @@
$contents = substr($ret, $headers_length);
foreach ($headers as $header) {
if (strstr($header, ": ") !== FALSE) {
list ($key, $value) = explode(": ", $header);
if (strstr($header, ": ") !== FALSE) {
list ($key, $value) = explode(": ", $header);
if (strtolower($key) == "last-modified") {
$fetch_last_modified = $value;
}
}
if (strtolower($key) == "last-modified") {
$fetch_last_modified = $value;
}
}
if (substr(strtolower($header), 0, 7) == 'http/1.') {
$fetch_last_error_code = (int) substr($header, 9, 3);
$fetch_last_error = $header;
}
if (substr(strtolower($header), 0, 7) == 'http/1.') {
$fetch_last_error_code = (int) substr($header, 9, 3);
$fetch_last_error = $header;
}
}
if (curl_errno($ch) === 23 || curl_errno($ch) === 61) {
@ -486,13 +486,13 @@
$context_options = array(
'http' => array(
'method' => 'GET',
'ignore_errors' => true,
'timeout' => $timeout ? $timeout : FILE_FETCH_TIMEOUT,
'ignore_errors' => true,
'timeout' => $timeout ? $timeout : FILE_FETCH_TIMEOUT,
'protocol_version'=> 1.1)
);
if (!$post_query && $last_modified) {
$context_options['http']['header'] = "If-Modified-Since: $last_modified\r\n";
$context_options['http']['header'] = "If-Modified-Since: $last_modified\r\n";
}
if (defined('_HTTP_PROXY')) {
@ -500,7 +500,7 @@
$context_options['http']['proxy'] = _HTTP_PROXY;
}
$context = stream_context_create($context_options);
$context = stream_context_create($context_options);
$old_error = error_get_last();
@ -508,19 +508,19 @@
if (isset($http_response_header) && is_array($http_response_header)) {
foreach ($http_response_header as $header) {
if (strstr($header, ": ") !== FALSE) {
list ($key, $value) = explode(": ", $header);
if (strstr($header, ": ") !== FALSE) {
list ($key, $value) = explode(": ", $header);
$key = strtolower($key);
$key = strtolower($key);
if ($key == 'content-type') {
$fetch_last_content_type = $value;
// don't abort here b/c there might be more than one
// e.g. if we were being redirected -- last one is the right one
} else if ($key == 'last-modified') {
$fetch_last_modified = $value;
}
}
if ($key == 'content-type') {
$fetch_last_content_type = $value;
// don't abort here b/c there might be more than one
// e.g. if we were being redirected -- last one is the right one
} else if ($key == 'last-modified') {
$fetch_last_modified = $value;
}
}
if (substr(strtolower($header), 0, 7) == 'http/1.') {
$fetch_last_error_code = (int) substr($header, 9, 3);
@ -591,18 +591,18 @@
if (get_schema_version() < 63) $profile_qpart = "";
$pdo = DB::pdo();
$in_nested_tr = false;
$pdo = DB::pdo();
$in_nested_tr = false;
try {
try {
$pdo->beginTransaction();
} catch (Exception $e) {
$in_nested_tr = true;
$in_nested_tr = true;
}
$sth = $pdo->query("SELECT pref_name,def_value FROM ttrss_prefs");
$profile = $profile ? $profile : null;
$profile = $profile ? $profile : null;
$u_sth = $pdo->prepare("SELECT pref_name
FROM ttrss_user_prefs WHERE owner_uid = :uid AND
@ -629,7 +629,7 @@
$i_sth = $pdo->prepare("INSERT INTO ttrss_user_prefs
(owner_uid,pref_name,value, profile) VALUES
(?, ?, ?, ?)");
$i_sth->execute([$uid, $line["pref_name"], $line["def_value"], $profile]);
$i_sth->execute([$uid, $line["pref_name"], $line["def_value"], $profile]);
}
}
@ -741,7 +741,7 @@
$password = "";
$possible = "0123456789abcdfghjkmnpqrstvwxyzABCDFGHJKMNPQRSTVWXYZ";
$i = 0;
$i = 0;
while ($i < $length) {
$char = substr($possible, mt_rand(0, strlen($possible)-1), 1);
@ -761,7 +761,7 @@
function initialize_user($uid) {
$pdo = DB::pdo();
$pdo = DB::pdo();
$sth = $pdo->prepare("insert into ttrss_feeds (owner_uid,title,feed_url)
values (?, 'Tiny Tiny RSS: Forum',
@ -796,7 +796,7 @@
}
function login_sequence() {
$pdo = Db::pdo();
$pdo = Db::pdo();
if (SINGLE_USER_MODE) {
@session_start();
@ -809,7 +809,7 @@
if (!$_SESSION["uid"]) {
if (AUTH_AUTO_LOGIN && authenticate_user(null, null)) {
$_SESSION["ref_schema_version"] = get_schema_version(true);
$_SESSION["ref_schema_version"] = get_schema_version(true);
} else {
authenticate_user(null, null, true);
}
@ -837,18 +837,18 @@
/* cleanup ccache */
$sth = $pdo->prepare("DELETE FROM ttrss_counters_cache WHERE owner_uid = ?
AND
AND
(SELECT COUNT(id) FROM ttrss_feeds WHERE
ttrss_feeds.id = feed_id) = 0");
$sth->execute([$_SESSION['uid']]);
$sth = $pdo->prepare("DELETE FROM ttrss_cat_counters_cache WHERE owner_uid = ?
AND
AND
(SELECT COUNT(id) FROM ttrss_feed_categories WHERE
ttrss_feed_categories.id = feed_id) = 0");
$sth->execute([$_SESSION['uid']]);
$sth->execute([$_SESSION['uid']]);
}
}
@ -1848,14 +1848,14 @@
while ($line = $sth->fetch()) {
$filter_id = $line["id"];
$match_any_rule = sql_bool_to_bool($line["match_any_rule"]);
$match_any_rule = sql_bool_to_bool($line["match_any_rule"]);
$sth2 = $pdo->prepare("SELECT
r.reg_exp, r.inverse, r.feed_id, r.cat_id, r.cat_filter, r.match_on, t.name AS type_name
FROM ttrss_filters2_rules AS r,
ttrss_filter_types AS t
WHERE
(match_on IS NOT NULL OR
(match_on IS NOT NULL OR
(($null_cat_qpart (cat_id IS NULL AND cat_filter = false) OR cat_id IN ($check_cats_str)) AND
(feed_id IS NULL OR feed_id = ?))) AND
filter_type = t.id AND filter_id = ?");
@ -1867,54 +1867,54 @@
while ($rule_line = $sth2->fetch()) {
# print_r($rule_line);
if ($rule_line["match_on"]) {
$match_on = json_decode($rule_line["match_on"], true);
if ($rule_line["match_on"]) {
$match_on = json_decode($rule_line["match_on"], true);
if (in_array("0", $match_on) || in_array($feed_id, $match_on) || count(array_intersect($check_cats_fullids, $match_on)) > 0) {
if (in_array("0", $match_on) || in_array($feed_id, $match_on) || count(array_intersect($check_cats_fullids, $match_on)) > 0) {
$rule = array();
$rule["reg_exp"] = $rule_line["reg_exp"];
$rule["type"] = $rule_line["type_name"];
$rule["inverse"] = sql_bool_to_bool($rule_line["inverse"]);
$rule = array();
$rule["reg_exp"] = $rule_line["reg_exp"];
$rule["type"] = $rule_line["type_name"];
$rule["inverse"] = sql_bool_to_bool($rule_line["inverse"]);
array_push($rules, $rule);
} else if (!$match_any_rule) {
// this filter contains a rule that doesn't match to this feed/category combination
// thus filter has to be rejected
array_push($rules, $rule);
} else if (!$match_any_rule) {
// this filter contains a rule that doesn't match to this feed/category combination
// thus filter has to be rejected
$rules = [];
break;
}
$rules = [];
break;
}
} else {
} else {
$rule = array();
$rule["reg_exp"] = $rule_line["reg_exp"];
$rule["type"] = $rule_line["type_name"];
$rule["inverse"] = sql_bool_to_bool($rule_line["inverse"]);
$rule = array();
$rule["reg_exp"] = $rule_line["reg_exp"];
$rule["type"] = $rule_line["type_name"];
$rule["inverse"] = sql_bool_to_bool($rule_line["inverse"]);
array_push($rules, $rule);
}
array_push($rules, $rule);
}
}
if (count($rules) > 0) {
$sth2 = $pdo->prepare("SELECT a.action_param,t.name AS type_name
FROM ttrss_filters2_actions AS a,
ttrss_filter_actions AS t
WHERE
action_id = t.id AND filter_id = ?");
$sth2->execute([$filter_id]);
$sth2 = $pdo->prepare("SELECT a.action_param,t.name AS type_name
FROM ttrss_filters2_actions AS a,
ttrss_filter_actions AS t
WHERE
action_id = t.id AND filter_id = ?");
$sth2->execute([$filter_id]);
while ($action_line = $sth2->fetch()) {
# print_r($action_line);
while ($action_line = $sth2->fetch()) {
# print_r($action_line);
$action = array();
$action["type"] = $action_line["type_name"];
$action["param"] = $action_line["action_param"];
$action = array();
$action["type"] = $action_line["type_name"];
$action["param"] = $action_line["action_param"];
array_push($actions, $action);
}
}
array_push($actions, $action);
}
}
$filter = array();
$filter["match_any_rule"] = sql_bool_to_bool($line["match_any_rule"]);
@ -1982,7 +1982,7 @@
return true;
}
$pdo->commit();
$pdo->commit();
return false;
}
@ -2167,7 +2167,7 @@
function cleanup_tags($days = 14, $limit = 1000) {
$days = (int) $days;
$days = (int) $days;
if (DB_TYPE == "pgsql") {
$interval_query = "date_updated < NOW() - INTERVAL '$days days'";
@ -2177,9 +2177,9 @@
$tags_deleted = 0;
$pdo = Db::pdo();
$pdo = Db::pdo();
while ($limit > 0) {
while ($limit > 0) {
$limit_part = 500;
$sth = $pdo->prepare("SELECT ttrss_tags.id AS id
@ -2568,6 +2568,6 @@
return $default;
}
function arr_qmarks($arr) {
return str_repeat('?,', count($arr) - 1) . '?';
}
function arr_qmarks($arr) {
return str_repeat('?,', count($arr) - 1) . '?';
}