new option: USE_CURL_FOR_ICONS (closes #101), add some CRs to error messages

This commit is contained in:
Andrew Dolgov 2006-08-20 11:27:25 +01:00
parent 69ff793a6d
commit c798704b29
3 changed files with 59 additions and 31 deletions

View file

@ -131,6 +131,9 @@
define('CHECK_FOR_NEW_VERSION', true);
// Check for new versions of tt-rss when entering preferences.
define('USE_CURL_FOR_ICONS', true);
// Fetch favicons using CURL, useful if your PHP has disabled remote fopen()
define('CONFIG_VERSION', 4);
// Expected config version. Please update this option in config.php
// if necessary (after migrating all new options from this file).

View file

@ -213,32 +213,51 @@
$icon_file = ICONS_DIR . "/$feed.ico";
if (!file_exists($icon_file)) {
error_reporting(0);
$r = fopen($icon_url, "r");
error_reporting (DEFAULT_ERROR_LEVEL);
if ($r) {
$tmpfname = tempnam(TMP_DIRECTORY, "ttrssicon");
$t = fopen($tmpfname, "w");
while (!feof($r)) {
$buf = fread($r, 16384);
fwrite($t, $buf);
if (USE_CURL_FOR_ICONS) {
//error_reporting(0);
$ch = curl_init($icon_url);
$fp = fopen($icon_file, "w");
if ($fp) {
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_exec($ch);
curl_close($ch);
fclose($fp);
}
fclose($r);
fclose($t);
//error_reporting (DEFAULT_ERROR_LEVEL);
} else {
error_reporting(0);
if (!rename($tmpfname, $icon_file)) {
unlink($tmpfname);
}
chmod($icon_file, 0644);
$r = fopen($icon_url, "r");
error_reporting (DEFAULT_ERROR_LEVEL);
if ($r) {
$tmpfname = tempnam(TMP_DIRECTORY, "ttrssicon");
$t = fopen($tmpfname, "w");
while (!feof($r)) {
$buf = fread($r, 16384);
fwrite($t, $buf);
}
fclose($r);
fclose($t);
error_reporting(0);
if (!rename($tmpfname, $icon_file)) {
unlink($tmpfname);
}
chmod($icon_file, 0644);
error_reporting (DEFAULT_ERROR_LEVEL);
}
}
}

View file

@ -3,7 +3,7 @@
if (!file_exists("config.php")) {
print "<b>Fatal Error</b>: You forgot to copy
<b>config.php-dist</b> to <b>config.php</b> and edit it.";
<b>config.php-dist</b> to <b>config.php</b> and edit it.\n";
exit;
}
@ -12,14 +12,14 @@
if (CONFIG_VERSION != EXPECTED_CONFIG_VERSION) {
print "<b>Fatal Error</b>: Your configuration file has
wrong version. Please copy new options from <b>config.php-dist</b> and
update CONFIG_VERSION directive.";
update CONFIG_VERSION directive.\n";
exit;
}
if (!defined('RSS_BACKEND_TYPE')) {
print "<b>Fatal error</b>: RSS backend type is not defined
(config variable <b>RSS_BACKEND_TYPE</b>) - please check your
configuration file.";
configuration file.\n";
exit;
}
@ -27,7 +27,7 @@
print "<b>Fatal Error</b>: You forgot to place
<a href=\"http://magpierss.sourceforge.net\">MagpieRSS</a>
distribution in <b>magpierss/</b>
subdirectory of TT-RSS tree.";
subdirectory of TT-RSS tree.\n";
exit;
}
@ -35,35 +35,41 @@
print "<b>Fatal Error</b>: You forgot to place
<a href=\"http://simplepie.org\">SimplePie</a>
distribution in <b>simplepie/</b>
subdirectory of TT-RSS tree.";
subdirectory of TT-RSS tree.\n";
exit;
}
if (RSS_BACKEND_TYPE != "simplepie" && RSS_BACKEND_TYPE != "magpie") {
print "<b>Fatal Error</b>: Invalid RSS_BACKEND_TYPE";
print "<b>Fatal Error</b>: Invalid RSS_BACKEND_TYPE\n";
exit;
}
if (CONFIG_VERSION != EXPECTED_CONFIG_VERSION) {
return "config: your config file version is incorrect. See config.php-dist.";
return "config: your config file version is incorrect. See config.php-dist.\n";
}
if (file_exists("xml-export.php") || file_exists("xml-import.php")) {
print "<b>Fatal Error</b>: XML Import/Export tools (<b>xml-export.php</b>
and <b>xml-import.php</b>) could be used maliciously. Please remove them
from your TT-RSS instance.";
from your TT-RSS instance.\n";
exit;
}
if (RSS_BACKEND_TYPE != "magpie") {
print "<b>Fatal Error</b>: RSS backends other than magpie are not
supported now.";
supported now.\n";
exit;
}
if (SINGLE_USER_MODE && DAEMON_UPDATE_LOGIN_LIMIT > 0) {
print "<b>Fatal Error</b>: Please set DAEMON_UPDATE_LOGIN_LIMIT
to 0 in single user mode.";
to 0 in single user mode.\n";
exit;
}
if (USE_CURL_FOR_ICONS && ! function_exists("curl_init")) {
print "<b>Fatal Error</b>: You have enabled USE_CURL_FOR_ICONS, but your PHP
doesn't seem to support CURL functions.";
exit;
}
?>