aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Minz/ModelPdo.php6
-rw-r--r--lib/favicons.php7
-rw-r--r--lib/lib_install.php10
-rw-r--r--lib/lib_rss.php3
4 files changed, 22 insertions, 4 deletions
diff --git a/lib/Minz/ModelPdo.php b/lib/Minz/ModelPdo.php
index 6e8d60bc9..caab1d114 100644
--- a/lib/Minz/ModelPdo.php
+++ b/lib/Minz/ModelPdo.php
@@ -116,6 +116,12 @@ class Minz_ModelPdo {
self::$sharedBd = null;
self::$sharedPrefix = '';
}
+
+ public function disableBuffering() {
+ if ((self::$sharedDbType === 'mysql') && defined('PDO::MYSQL_ATTR_USE_BUFFERED_QUERY')) {
+ $this->bd->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
+ }
+ }
}
class MinzPDO extends PDO {
diff --git a/lib/favicons.php b/lib/favicons.php
index 6709f6745..d8c97964e 100644
--- a/lib/favicons.php
+++ b/lib/favicons.php
@@ -9,7 +9,7 @@ $default_favicon = PUBLIC_PATH . '/themes/icons/default_favicon.ico';
function download_favicon($website, $dest) {
global $favicons_dir, $default_favicon;
- syslog(LOG_DEBUG, 'FreshRSS Favicon discovery GET ' . $website);
+ syslog(LOG_INFO, 'FreshRSS Favicon discovery GET ' . $website);
$favicon_getter = new \Favicon\Favicon();
$favicon_getter->setCacheDir($favicons_dir);
$favicon_url = $favicon_getter->get($website);
@@ -18,11 +18,12 @@ function download_favicon($website, $dest) {
return @copy($default_favicon, $dest);
}
- syslog(LOG_DEBUG, 'FreshRSS Favicon GET ' . $favicon_url);
+ syslog(LOG_INFO, 'FreshRSS Favicon GET ' . $favicon_url);
$c = curl_init($favicon_url);
curl_setopt($c, CURLOPT_HEADER, false);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_BINARYTRANSFER, true);
+ curl_setopt($c, CURLOPT_USERAGENT, 'FreshRSS/' . FRESHRSS_VERSION . ' (' . PHP_OS . '; ' . FRESHRSS_WEBSITE . ')');
$img_raw = curl_exec($c);
$status_code = curl_getinfo($c, CURLINFO_HTTP_CODE);
curl_close($c);
@@ -34,6 +35,8 @@ function download_favicon($website, $dest) {
fclose($file);
return true;
}
+ } else {
+ syslog(LOG_WARNING, 'FreshRSS Favicon GET ' . $favicon_url . ' error ' . $status_code);
}
return false;
diff --git a/lib/lib_install.php b/lib/lib_install.php
index 0e7b7f036..c5cae4293 100644
--- a/lib/lib_install.php
+++ b/lib/lib_install.php
@@ -15,6 +15,7 @@ function checkRequirements() {
$pdo = $pdo_mysql || $pdo_sqlite || $pdo_pgsql;
$pcre = extension_loaded('pcre');
$ctype = extension_loaded('ctype');
+ $fileinfo = extension_loaded('fileinfo');
$dom = class_exists('DOMDocument');
$xml = function_exists('xml_parser_create');
$json = function_exists('json_encode');
@@ -34,6 +35,7 @@ function checkRequirements() {
'pdo' => $pdo ? 'ok' : 'ko',
'pcre' => $pcre ? 'ok' : 'ko',
'ctype' => $ctype ? 'ok' : 'ko',
+ 'fileinfo' => $fileinfo ? 'ok' : 'ko',
'dom' => $dom ? 'ok' : 'ko',
'xml' => $xml ? 'ok' : 'ko',
'json' => $json ? 'ok' : 'ko',
@@ -42,7 +44,7 @@ function checkRequirements() {
'users' => $users ? 'ok' : 'ko',
'favicons' => $favicons ? 'ok' : 'ko',
'http_referer' => $http_referer ? 'ok' : 'ko',
- 'all' => $php && $minz && $curl && $pdo && $pcre && $ctype && $dom && $xml &&
+ 'all' => $php && $minz && $curl && $pdo && $pcre && $ctype && $fileinfo && $dom && $xml &&
$data && $cache && $users && $favicons && $http_referer ?
'ok' : 'ko'
);
@@ -54,8 +56,8 @@ function generateSalt() {
function checkDb(&$dbOptions) {
$dsn = '';
+ $driver_options = null;
try {
- $driver_options = null;
switch ($dbOptions['type']) {
case 'mysql':
include_once(APP_PATH . '/SQL/install.sql.mysql.php');
@@ -99,8 +101,12 @@ function checkDb(&$dbOptions) {
default:
return false;
}
+
+ $c = new PDO($dsn, $dbOptions['user'], $dbOptions['password'], $driver_options);
+ $res = $c->query('SELECT 1');
} catch (PDOException $e) {
$dsn = '';
+ syslog(LOG_DEBUG, 'FreshRSS SQL warning: ' . $e->getMessage());
$dbOptions['error'] = $e->getMessage();
}
$dbOptions['dsn'] = $dsn;
diff --git a/lib/lib_rss.php b/lib/lib_rss.php
index 143b55bee..560e5b256 100644
--- a/lib/lib_rss.php
+++ b/lib/lib_rss.php
@@ -127,6 +127,8 @@ function format_bytes($bytes, $precision = 2, $system = 'IEC') {
} elseif ($system === 'SI') {
$base = 1000;
$units = array('B', 'KB', 'MB', 'GB', 'TB');
+ } else {
+ return format_number($bytes, $precision);
}
$bytes = max(intval($bytes), 0);
$pow = $bytes === 0 ? 0 : floor(log($bytes) / log($base));
@@ -396,6 +398,7 @@ function check_install_php() {
'pdo' => $pdo_mysql || $pdo_sqlite,
'pcre' => extension_loaded('pcre'),
'ctype' => extension_loaded('ctype'),
+ 'fileinfo' => extension_loaded('fileinfo'),
'dom' => class_exists('DOMDocument'),
'json' => extension_loaded('json'),
'zip' => extension_loaded('zip'),