From 10ea10a3177fb59caac13adc44cfbc4b5e6ff8dd Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Fri, 20 May 2011 14:35:08 -0400
Subject: [PATCH] Catch write-errors on database (yet untested)

---
 installer/check.php |   41 ++++++++++++++++++++++-------------------
 1 files changed, 22 insertions(+), 19 deletions(-)

diff --git a/installer/check.php b/installer/check.php
index 1739246..944d384 100644
--- a/installer/check.php
+++ b/installer/check.php
@@ -15,12 +15,14 @@
     'Multibyte' => 'mbstring',
     'OpenSSL'   => 'openssl',
     'Mcrypt'    => 'mcrypt',
+    'Intl'      => 'intl',
 );
 
 $required_libs = array(
     'PEAR'      => 'PEAR.php',
     'MDB2'      => 'MDB2.php',
     'Net_SMTP'  => 'Net/SMTP.php',
+    'Net_IDNA2' => 'Net/IDNA2.php',
     'Mail_mime' => 'Mail/mime.php',
 );
 
@@ -44,19 +46,20 @@
 );
 
 $source_urls = array(
-    'Sockets' => 'http://www.php.net/manual/en/book.sockets.php',
-    'Session' => 'http://www.php.net/manual/en/book.session.php',
-    'PCRE' => 'http://www.php.net/manual/en/book.pcre.php',
-    'FileInfo' => 'http://www.php.net/manual/en/book.fileinfo.php',
-    'Libiconv' => 'http://www.php.net/manual/en/book.iconv.php',
+    'Sockets'   => 'http://www.php.net/manual/en/book.sockets.php',
+    'Session'   => 'http://www.php.net/manual/en/book.session.php',
+    'PCRE'      => 'http://www.php.net/manual/en/book.pcre.php',
+    'FileInfo'  => 'http://www.php.net/manual/en/book.fileinfo.php',
+    'Libiconv'  => 'http://www.php.net/manual/en/book.iconv.php',
     'Multibyte' => 'http://www.php.net/manual/en/book.mbstring.php',
-    'Mcrypt' => 'http://www.php.net/manual/en/book.mcrypt.php',
-    'OpenSSL' => 'http://www.php.net/manual/en/book.openssl.php',
-    'JSON' => 'http://www.php.net/manual/en/book.json.php',
-    'DOM' => 'http://www.php.net/manual/en/book.dom.php',
-    'PEAR' => 'http://pear.php.net',
-    'MDB2' => 'http://pear.php.net/package/MDB2',
-    'Net_SMTP' => 'http://pear.php.net/package/Net_SMTP',
+    'Mcrypt'    => 'http://www.php.net/manual/en/book.mcrypt.php',
+    'OpenSSL'   => 'http://www.php.net/manual/en/book.openssl.php',
+    'JSON'      => 'http://www.php.net/manual/en/book.json.php',
+    'DOM'       => 'http://www.php.net/manual/en/book.dom.php',
+    'Intl'      => 'http://www.php.net/manual/en/book.intl.php',
+    'PEAR'      => 'http://pear.php.net',
+    'MDB2'      => 'http://pear.php.net/package/MDB2',
+    'Net_SMTP'  => 'http://pear.php.net/package/Net_SMTP',
     'Mail_mime' => 'http://pear.php.net/package/Mail_mime',
 );
 
@@ -66,7 +69,7 @@
 <h3>Checking PHP version</h3>
 <?php
 
-define('MIN_PHP_VERSION', '5.2.0');
+define('MIN_PHP_VERSION', '5.2.1');
 if (version_compare(PHP_VERSION, MIN_PHP_VERSION, '>=')) {
     $RCI->pass('Version', 'PHP ' . PHP_VERSION . ' detected');
 } else {
@@ -75,14 +78,14 @@
 ?>
 
 <h3>Checking PHP extensions</h3>
-<p class="hint">The following modules/extensions are <em>required</em> to run RoundCube:</p>
+<p class="hint">The following modules/extensions are <em>required</em> to run Roundcube:</p>
 <?php
 
 // get extensions location
 $ext_dir = ini_get('extension_dir');
 
 $prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
-foreach ($required_php_exts AS $name => $ext) {
+foreach ($required_php_exts as $name => $ext) {
     if (extension_loaded($ext)) {
         $RCI->pass($name);
     } else {
@@ -98,7 +101,7 @@
 <p class="hint">The next couple of extensions are <em>optional</em> and recommended to get the best performance:</p>
 <?php
 
-foreach ($optional_php_exts AS $name => $ext) {
+foreach ($optional_php_exts as $name => $ext) {
     if (extension_loaded($ext)) {
         $RCI->pass($name);
     }
@@ -119,7 +122,7 @@
 <?php
 
 $prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
-foreach ($supported_dbs AS $database => $ext) {
+foreach ($supported_dbs as $database => $ext) {
     if (extension_loaded($ext)) {
         $RCI->pass($database);
     }
@@ -154,7 +157,7 @@
 ?>
 
 <h3>Checking php.ini/.htaccess settings</h3>
-<p class="hint">The following settings are <em>required</em> to run RoundCube:</p>
+<p class="hint">The following settings are <em>required</em> to run Roundcube:</p>
 
 <?php
 
@@ -205,7 +208,7 @@
 <?php
 
 if ($RCI->failures) {
-  echo '<p class="warning">Sorry but your webserver does not meet the requirements for RoundCube!<br />
+  echo '<p class="warning">Sorry but your webserver does not meet the requirements for Roundcube!<br />
             Please install the missing modules or fix the php.ini settings according to the above check results.<br />
             Hint: only checks showing <span class="fail">NOT OK</span> need to be fixed.</p>';
 }

--
Gitblit v1.9.1