summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rwxr-xr-x[-rw-r--r--]include/functions.php22
-rwxr-xr-x[-rw-r--r--]include/functions2.php93
-rwxr-xr-x[-rw-r--r--]include/sanity_check.php8
-rw-r--r--include/sanity_config.php2
4 files changed, 18 insertions, 107 deletions
diff --git a/include/functions.php b/include/functions.php
index 310081485..8d1c2a625 100644..100755
--- a/include/functions.php
+++ b/include/functions.php
@@ -1,6 +1,6 @@
<?php
define('EXPECTED_CONFIG_VERSION', 26);
- define('SCHEMA_VERSION', 129);
+ define('SCHEMA_VERSION', 130);
define('LABEL_BASE_INDEX', -1024);
define('PLUGIN_FEED_BASE_INDEX', -128);
@@ -351,16 +351,7 @@
$fetch_curl_used = true;
- if (ini_get("safe_mode") || ini_get("open_basedir") || defined("FORCE_GETURL")) {
- $new_url = geturl($url);
- if (!$new_url) {
- // geturl has already populated $fetch_last_error
- return false;
- }
- $ch = curl_init($new_url);
- } else {
- $ch = curl_init($url);
- }
+ $ch = curl_init($url);
if ($timestamp && !$post_query) {
curl_setopt($ch, CURLOPT_HTTPHEADER,
@@ -369,7 +360,7 @@
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout ? $timeout : FILE_FETCH_CONNECT_TIMEOUT);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout ? $timeout : FILE_FETCH_TIMEOUT);
- curl_setopt($ch, CURLOPT_FOLLOWLOCATION, !ini_get("safe_mode") && !ini_get("open_basedir"));
+ curl_setopt($ch, CURLOPT_FOLLOWLOCATION, !ini_get("open_basedir"));
curl_setopt($ch, CURLOPT_MAXREDIRS, 20);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
@@ -379,7 +370,7 @@
curl_setopt($ch, CURLOPT_ENCODING, "");
//curl_setopt($ch, CURLOPT_REFERER, $url);
- if (!ini_get("safe_mode") && !ini_get("open_basedir")) {
+ if (!ini_get("open_basedir")) {
curl_setopt($ch, CURLOPT_COOKIEJAR, "/dev/null");
}
@@ -456,7 +447,7 @@
'method' => 'GET',
'protocol_version'=> 1.1
)));
- }
+ }
$old_error = error_get_last();
@@ -1582,7 +1573,8 @@
FROM ttrss_labels2 LEFT JOIN ttrss_user_labels2 ON
(ttrss_labels2.id = label_id)
LEFT JOIN ttrss_user_entries AS u1 ON u1.ref_id = article_id
- WHERE ttrss_labels2.owner_uid = $owner_uid GROUP BY ttrss_labels2.id,
+ WHERE ttrss_labels2.owner_uid = $owner_uid AND u1.owner_uid = $owner_uid
+ GROUP BY ttrss_labels2.id,
ttrss_labels2.caption");
while ($line = db_fetch_assoc($result)) {
diff --git a/include/functions2.php b/include/functions2.php
index dd9d1ad68..0386b52ed 100644..100755
--- a/include/functions2.php
+++ b/include/functions2.php
@@ -465,7 +465,7 @@
$override_vfeed = isset($params["override_vfeed"]) ? $params["override_vfeed"] : false;
$start_ts = isset($params["start_ts"]) ? $params["start_ts"] : false;
$check_first_id = isset($params["check_first_id"]) ? $params["check_first_id"] : false;
- $api_request = isset($params["api_request"]) ? $params["api_request"] : false;
+ $skip_first_id_check = isset($params["skip_first_id_check"]) ? $params["skip_first_id_check"] : false;
$ext_tables_part = "";
$query_strategy_part = "";
@@ -494,7 +494,6 @@
}
$view_query_part = "";
- $disable_offsets = false;
if ($view_mode == "adaptive") {
if ($search) {
@@ -508,7 +507,6 @@
if ($unread > 0) {
$view_query_part = " unread = true AND ";
- $disable_offsets = !$api_request && get_pref("CDM_AUTO_CATCHUP") && get_pref("CDM_EXPANDED");
}
}
}
@@ -527,7 +525,6 @@
if ($view_mode == "unread" && $feed != -6) {
$view_query_part = " unread = true AND ";
- $disable_offsets = !$api_request && get_pref("CDM_AUTO_CATCHUP") && get_pref("CDM_EXPANDED");
}
if ($limit > 0) {
@@ -608,9 +605,9 @@
$query_strategy_part = "unread = false AND last_read IS NOT NULL";
if (DB_TYPE == "pgsql") {
- $query_strategy_part .= " AND date_entered > NOW() - INTERVAL '1 DAY' ";
+ $query_strategy_part .= " AND last_read > NOW() - INTERVAL '1 DAY' ";
} else {
- $query_strategy_part .= " AND date_entered > DATE_SUB(NOW(), INTERVAL 1 DAY) ";
+ $query_strategy_part .= " AND last_read > DATE_SUB(NOW(), INTERVAL 1 DAY) ";
}
$vfeed_query_part = "ttrss_feeds.title AS feed_title,";
@@ -735,7 +732,7 @@
$sanity_interval_qpart = "date_entered >= DATE_SUB(NOW(), INTERVAL 1 hour) AND";
}
- if (!$search && !$disable_offsets) {
+ if (!$search && !$skip_first_id_check) {
// if previous topmost article id changed that means our current pagination is no longer valid
$query = "SELECT DISTINCT
ttrss_feeds.title,
@@ -775,10 +772,6 @@
}
}
- if ($disable_offsets) {
- $offset_query_part = "";
- }
-
$query = "SELECT DISTINCT
date_entered,
guid,
@@ -832,6 +825,7 @@
marked,
num_comments,
comments,
+ int_id,
tag_cache,
label_cache,
link,
@@ -865,7 +859,7 @@
}
function iframe_whitelisted($entry) {
- $whitelist = array("youtube.com", "youtu.be", "vimeo.com");
+ $whitelist = array("youtube.com", "youtu.be", "vimeo.com", "player.vimeo.com");
@$src = parse_url($entry->getAttribute("src"), PHP_URL_HOST);
@@ -1953,9 +1947,9 @@
if (!$hide_images) {
$encsize = '';
if ($entry['height'] > 0)
- $encsize .= ' height="' . intval($entry['width']) . '"';
+ $encsize .= ' height="' . intval($entry['height']) . '"';
if ($entry['width'] > 0)
- $encsize .= ' width="' . intval($entry['height']) . '"';
+ $encsize .= ' width="' . intval($entry['width']) . '"';
$rv .= "<p><img
alt=\"".htmlspecialchars($entry["filename"])."\"
src=\"" .htmlspecialchars($entry["url"]) . "\"
@@ -2256,77 +2250,6 @@
return in_array($interface, class_implements($class));
}
- function geturl($url, $depth = 0, $nobody = true){
-
- if ($depth == 20) return $url;
-
- if (!function_exists('curl_init'))
- return user_error('CURL Must be installed for geturl function to work. Ask your host to enable it or uncomment extension=php_curl.dll in php.ini', E_USER_ERROR);
-
- $curl = curl_init();
- $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
- $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
- $header[] = "Cache-Control: max-age=0";
- $header[] = "Connection: keep-alive";
- $header[] = "Keep-Alive: 300";
- $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
- $header[] = "Accept-Language: en-us,en;q=0.5";
- $header[] = "Pragma: ";
-
- curl_setopt($curl, CURLOPT_URL, $url);
- curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0 Firefox/5.0');
- curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
- curl_setopt($curl, CURLOPT_HEADER, true);
- curl_setopt($curl, CURLOPT_NOBODY, $nobody);
- curl_setopt($curl, CURLOPT_REFERER, $url);
- curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
- curl_setopt($curl, CURLOPT_AUTOREFERER, true);
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
- //curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); //CURLOPT_FOLLOWLOCATION Disabled...
- curl_setopt($curl, CURLOPT_TIMEOUT, 60);
-
- if (defined('_CURL_HTTP_PROXY')) {
- curl_setopt($curl, CURLOPT_PROXY, _CURL_HTTP_PROXY);
- }
-
- $html = curl_exec($curl);
-
- $status = curl_getinfo($curl);
-
- if($status['http_code']!=200){
-
- // idiot site not allowing http head
- if($status['http_code'] == 405) {
- curl_close($curl);
- return geturl($url, $depth +1, false);
- }
-
- if($status['http_code'] == 301 || $status['http_code'] == 302) {
- curl_close($curl);
- list($header) = explode("\r\n\r\n", $html, 2);
- $matches = array();
- preg_match("/(Location:|URI:)[^(\n)]*/", $header, $matches);
- $url = trim(str_replace($matches[1],"",$matches[0]));
- $url_parsed = parse_url($url);
- return (isset($url_parsed))? geturl($url, $depth + 1):'';
- }
-
- global $fetch_last_error;
-
- $fetch_last_error = curl_errno($curl) . " " . curl_error($curl);
- curl_close($curl);
-
-# $oline='';
-# foreach($status as $key=>$eline){$oline.='['.$key.']'.$eline.' ';}
-# $line =$oline." \r\n ".$url."\r\n-----------------\r\n";
-# $handle = @fopen('./curl.error.log', 'a');
-# fwrite($handle, $line);
- return FALSE;
- }
- curl_close($curl);
- return $url;
- }
-
function get_minified_js($files) {
require_once 'lib/jshrink/Minifier.php';
diff --git a/include/sanity_check.php b/include/sanity_check.php
index 6bec43051..be314f4e2 100644..100755
--- a/include/sanity_check.php
+++ b/include/sanity_check.php
@@ -134,14 +134,10 @@
array_push($errors, "PHP support for hash() function is required but was not found.");
}
- if (!function_exists("ctype_lower")) {
- array_push($errors, "PHP support for ctype functions are required by HTMLPurifier.");
+ if (ini_get("safe_mode")) {
+ array_push($errors, "PHP safe mode setting is obsolete and not supported by tt-rss.");
}
- /* if (ini_get("safe_mode")) {
- array_push($errors, "PHP safe mode setting is not supported.");
- } */
-
if ((PUBSUBHUBBUB_HUB || PUBSUBHUBBUB_ENABLED) && !function_exists("curl_init")) {
array_push($errors, "PHP support for CURL is required for PubSubHubbub.");
}
diff --git a/include/sanity_config.php b/include/sanity_config.php
index 5f6395b44..25fb06630 100644
--- a/include/sanity_config.php
+++ b/include/sanity_config.php
@@ -1,3 +1,3 @@
-<?php # This file has been generated at: Fri, Jun 19, 2015 10:11:43 AM
+<?php # This file has been generated at: Fri Aug 21 19:34:46 MSK 2015
define('GENERATED_CONFIG_CHECK', 26);
$requred_defines = array( 'DB_TYPE', 'DB_HOST', 'DB_USER', 'DB_NAME', 'DB_PASS', 'MYSQL_CHARSET', 'SELF_URL_PATH', 'FEED_CRYPT_KEY', 'SINGLE_USER_MODE', 'SIMPLE_UPDATE_MODE', 'PHP_EXECUTABLE', 'LOCK_DIRECTORY', 'CACHE_DIR', 'ICONS_DIR', 'ICONS_URL', 'AUTH_AUTO_CREATE', 'AUTH_AUTO_LOGIN', 'FORCE_ARTICLE_PURGE', 'PUBSUBHUBBUB_HUB', 'PUBSUBHUBBUB_ENABLED', 'SPHINX_SERVER', 'SPHINX_INDEX', 'ENABLE_REGISTRATION', 'REG_NOTIFY_ADDRESS', 'REG_MAX_USERS', 'SESSION_COOKIE_LIFETIME', 'SMTP_FROM_NAME', 'SMTP_FROM_ADDRESS', 'DIGEST_SUBJECT', 'SMTP_SERVER', 'SMTP_LOGIN', 'SMTP_PASSWORD', 'SMTP_SECURE', 'CHECK_FOR_UPDATES', 'ENABLE_GZIP_OUTPUT', 'PLUGINS', 'LOG_DESTINATION', 'CONFIG_VERSION'); ?>