]> git.wh0rd.org - tt-rss.git/commitdiff
new option: USE_CURL_FOR_ICONS (closes #101), add some CRs to error messages
authorAndrew Dolgov <fox@bah.spb.su>
Sun, 20 Aug 2006 10:27:25 +0000 (11:27 +0100)
committerAndrew Dolgov <fox@bah.spb.su>
Sun, 20 Aug 2006 10:27:25 +0000 (11:27 +0100)
config.php-dist
functions.php
sanity_check.php

index 97e0e93ff514b3e27e257fb7da14dae8f6201744..cf6b6afabb3a2e6fee44500a1614f074af7fa564 100644 (file)
        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).
index 99cea3e6fff2336f1f297961affb199b1bbe886c..6ed06898bf8f40f655f796d6b6083e1ccfdc576f 100644 (file)
                $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);
-                               }
-                               
-                               fclose($r);
-                               fclose($t);
+                       if (USE_CURL_FOR_ICONS) {
+                               //error_reporting(0);
+                               $ch = curl_init($icon_url);
+                               $fp = fopen($icon_file, "w");
 
-                               error_reporting(0);
-                               if (!rename($tmpfname, $icon_file)) {
-                                       unlink($tmpfname);
+                               if ($fp) {
+                                       curl_setopt($ch, CURLOPT_FILE, $fp);
+                                       curl_setopt($ch, CURLOPT_FILE, $fp);
+
+                                       curl_exec($ch);
+                                       curl_close($ch);
+                                       fclose($fp);                                    
                                }
 
-                               chmod($icon_file, 0644);
-                               
+                               //error_reporting (DEFAULT_ERROR_LEVEL);
+
+                       } else {
+
+                               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);
+                                       }
+                                       
+                                       fclose($r);
+                                       fclose($t);
+       
+                                       error_reporting(0);
+                                       if (!rename($tmpfname, $icon_file)) {
+                                               unlink($tmpfname);
+                                       }
+       
+                                       chmod($icon_file, 0644);
+                                       
+                                       error_reporting (DEFAULT_ERROR_LEVEL);
+                               }
 
                        }       
                }
index ba738b9da8d0eb59026d6680c60ab6390c23b44c..6f1a82ec9ee495f8987c5d22e4171ccca81db9f1 100644 (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;
        }
 
        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;
        }
 
                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;
+       } 
 ?>