Show English plugin name in configtest plugins list
[squirrelmail.git] / src / configtest.php
index 274f9c98dbfab898b4d9cf383f0c4dc2e227050e..224db87a40448e1351ec68e0e96b646201c2ab19 100644 (file)
@@ -15,6 +15,9 @@
  * If it throws errors you need to adjust your config.      *
  ************************************************************/
 
+/** This is the configtest page */
+define('PAGE_NAME', 'configtest');
+
 // This script could really use some restructuring as it has grown quite rapidly
 // but is not very 'clean'. Feel free to get some structure into this thing.
 
@@ -84,7 +87,7 @@ define('SM_PATH', '../');
 require(SM_PATH . 'include/constants.php');
 require(SM_PATH . 'functions/global.php');
 require(SM_PATH . 'functions/strings.php');
-$SQM_INTERNAL_VERSION = preg_split('/\./', SM_VERSION, 3);
+$SQM_INTERNAL_VERSION = explode('.', SM_VERSION, 3);
 $SQM_INTERNAL_VERSION[2] = intval($SQM_INTERNAL_VERSION[2]);
 
 /** set default value in order to block remote access */
@@ -209,32 +212,42 @@ if ((bool) ini_get('register_globals') &&
 //           latter is sure to be highly rare, so for now, just assume
 //           that empty value means the setting isn't even available
 //           (could also check PHP version when this setting was implemented)
-$variables_order = ini_get('variables_order');
-if (!empty($variables_order) && (strpos($variables_order, 'G') === FALSE
+//           although, we'll also warn the user if it is empty, with
+//           a non-fatal error
+$variables_order = strtoupper(ini_get('variables_order'));
+if (empty($variables_order))
+    do_err('Your variables_order setting seems to be empty.  Make sure it is undefined in any PHP ini files, .htaccess files, etc. and not specifically set to an empty value or SquirrelMail may not function correctly', false);
+else if (strpos($variables_order, 'G') === FALSE
  || strpos($variables_order, 'P') === FALSE
  || strpos($variables_order, 'C') === FALSE
- || strpos($variables_order, 'S') === FALSE)) {
-    do_err('Your variables_order setting is insufficient for SquirrelMail to function.  It needs at least "GPCS", but you have it set to "' . $variables_order . '"', true);
+ || strpos($variables_order, 'S') === FALSE) {
+    do_err('Your variables_order setting is insufficient for SquirrelMail to function.  It needs at least "GPCS", but you have it set to "' . htmlspecialchars($variables_order) . '"', true);
 } else {
     echo $IND . "variables_order OK: $variables_order.<br />\n";
 }
 
 
-/* gpc_order check */
-
-// FIXME(?): Hmm, how do we distinguish between when an ini setting is
-//           not available (ini_set() returns empty string) and when 
-//           the administrator set the value to an empty string?  The
-//           latter is sure to be highly rare, so for now, just assume
-//           that empty value means the setting isn't even available
-//           (could also check PHP version when this setting was implemented)
-$gpc_order = ini_get('gpc_order');
-if (!empty($gpc_order) && (strpos($gpc_order, 'G') === FALSE
- || strpos($gpc_order, 'P') === FALSE
- || strpos($gpc_order, 'C') === FALSE)) {
-    do_err('Your gpc_order setting is insufficient for SquirrelMail to function.  It needs to be set to "GPC", but you have it set to "' . $gpc_order . '"', true);
-} else {
-    echo $IND . "gpc_order OK: $gpc_order.<br />\n";
+/* gpc_order check (removed from PHP as of v5.0) */
+
+if (!check_php_version(5)) {
+    // FIXME(?): Hmm, how do we distinguish between when an ini setting is
+    //           not available (ini_set() returns empty string) and when 
+    //           the administrator set the value to an empty string?  The
+    //           latter is sure to be highly rare, so for now, just assume
+    //           that empty value means the setting isn't even available
+    //           (could also check PHP version when this setting was implemented)
+    //           although, we'll also warn the user if it is empty, with
+    //           a non-fatal error
+    $gpc_order = strtoupper(ini_get('gpc_order'));
+    if (empty($gpc_order))
+        do_err('Your gpc_order setting seems to be empty.  Make sure it is undefined in any PHP ini files, .htaccess files, etc. and not specifically set to an empty value or SquirrelMail may not function correctly', false);
+    else if (strpos($gpc_order, 'G') === FALSE
+     || strpos($gpc_order, 'P') === FALSE
+     || strpos($gpc_order, 'C') === FALSE) {
+        do_err('Your gpc_order setting is insufficient for SquirrelMail to function.  It needs to be set to "GPC", but you have it set to "' . htmlspecialchars($gpc_order) . '"', true);
+    } else {
+        echo $IND . "gpc_order OK: $gpc_order.<br />\n";
+    }
 }
 
 
@@ -404,7 +417,8 @@ if (isset($plugins[0])) {
     echo $IND . "Plugin versions...<br />\n";
     foreach ($plugins as $name) {
         $plugin_version = get_plugin_version($name);
-        echo $IND . $IND . $name . ' ' . (empty($plugin_version) ? '??' : $plugin_version) . "<br />\n";
+        $english_name = get_plugin_requirement($name, 'english_name');
+        echo $IND . $IND . (empty($english_name) ? $name . ' ' : $english_name . ' (' . $name . ') ') . (empty($plugin_version) ? '??' : $plugin_version) . "<br />\n";
 
         // check if this plugin has any other plugin 
         // dependencies and if they are satisfied
@@ -910,4 +924,3 @@ if ($warnings) {
 EOF;
     echo $footer;
 }
-?>