SVN Alba r3988 - prosistem/alba/trunk
Author: josx Date: 2007-01-10 12:59:08 -0300 (Wed, 10 Jan 2007) New Revision: 3988 Modified: prosistem/alba/trunk/index.php Log: Agregue al instalador un chequeo de version del server MYSQL, aparentemente antes de la version 4.1.0 no funciona el cambio de charset a UTF8 ( Ticket #76 ) Modified: prosistem/alba/trunk/index.php =================================================================== --- prosistem/alba/trunk/index.php 2007-01-05 15:29:23 UTC (rev 3987) +++ prosistem/alba/trunk/index.php 2007-01-10 15:59:08 UTC (rev 3988) @@ -30,18 +30,17 @@ * @license GPL */ - + define("APACHE_REQUIRED_VERSION","2.0.0"); define("PHP_REQUIRED_VERSION","5.0.0"); define("MEMORY_LIMIT_REQUIRED", "32"); + define("MYSQL_REQUIRED_VERSION","4.1.0"); define("INSTALL_DIR", getcwd()."/"); chdir("alba/"); define("ALBA_PATH", getcwd()."/"); - - define("ALBA_WEB",ALBA_PATH."web/"); define("CONFIG_PATH", ALBA_PATH."config/"); @@ -73,13 +72,17 @@ $f_phpversion = function_exists ("phpversion"); $f_apache_get_version = function_exists ("apache_get_version"); // $f_get_magic_quotes_gpc = function_exists ("get_magic_quotes_gpc"); + $f_mysql_module = function_exists ("mysql_connect"); + $msg_phpversion = ""; $msg_apache_get_version = ""; + $msg_mysql_module = ""; + $bool_mysql_module = false; $bool_phpversion = false; $bool_apache_get_version = false; - $bool_gd = estaExtensionGD(); + $bool_gd = estaExtension("gd"); $memory_limit = ini_get('memory_limit'); $bool_memory_limit = compruebaMemoriaMaxima($memory_limit); @@ -90,7 +93,7 @@ $bool_config = tienePermisoEscritura(ALBA_PATH."config"); if($f_phpversion) { - $bool_phpversion = compruebaVersionPHP(phpversion()); + $bool_phpversion = compruebaVersion(phpversion(),PHP_REQUIRED_VERSION); $msg_phpversion = "Su versión de PHP es ".phpversion(); } else { $msg_phpversion = "No se pudo verificar la versión de PHP"; @@ -99,12 +102,20 @@ if($f_apache_get_version) { preg_match('!Apache/(.*) !U', apache_get_version(), $v); $apache_installed_version = $v[1]; - $bool_apache_get_version = compruebaVersionApache($apache_installed_version); + $bool_apache_get_version = compruebaVersion($apache_installed_version, APACHE_REQUIRED_VERSION); $msg_apache_get_version = "Su versión de APACHE es ".$apache_installed_version; } else { $msg_apache_get_version = "No se pudo verificar la versión de APACHE"; } + if($f_mysql_module) { + $bool_mysql_module = true; + $msg_mysql_module = "Tiene instalado el modulo MYSQL en PHP"; + } else { + $msg_mysql_module = "No tiene instalado el modulo MYSQL en PHP"; + } + + // deberia saber si esta instalado mod_rewrite // .htacces en el dir web @@ -128,36 +139,44 @@ if ($_SERVER['REQUEST_METHOD'] == "POST") { $db_connection = @mysql_connect( $_POST['db']['server'], $_POST['db']['user'], $_POST['db']['password']); if ($db_connection) { - if($_POST['db']['createdb']) { - if(!@mysql_query('CREATE DATABASE '.$_POST['db']['name'])) { - $hasErrors = true; - $aError['newdb'] = 'No se pudo crear la base de datos ('.mysql_error().')'; - $aDb = array( 'server' => $_POST['db']['server'] , 'user' => $_POST['db']['user'], 'password' => $_POST['db']['password'], 'name' => $_POST['db']['name'], 'createdb' => $_POST['db']['createdb']) ; + $mysql_server_version = mysql_get_server_info(); + if(compruebaVersion($mysql_server_version, MYSQL_REQUIRED_VERSION)) { + + if($_POST['db']['createdb']) { + if(!@mysql_query('CREATE DATABASE '.$_POST['db']['name'])) { + $hasErrors = true; + $aError['newdb'] = 'No se pudo crear la base de datos ('.mysql_error().')'; + $aDb = array( 'server' => $_POST['db']['server'] , 'user' => $_POST['db']['user'], 'password' => $_POST['db']['password'], 'name' => $_POST['db']['name'], 'createdb' => $_POST['db']['createdb']) ; + } else { + if(doInstall()) { + header("Location: ".REDIRECT_URL); + } else { + @mysql_query('DROP DATABASE '.$_POST['db']['name']); + $aError['insert_create'] = 'No se pudo agregar los datos a la base de datos'; + $hasErrors = true; + } + } } else { - if(doInstall()) { - header("Location: ".REDIRECT_URL); + if(@mysql_select_db($_POST['db']['name'])) { + if(doInstall()) { + header("Location: ".REDIRECT_URL); + } else { + $aError['insert_create'] = 'No se pudo agregar los datos a la base de datos'; + $hasErrors = true; + } } else { - @mysql_query('DROP DATABASE '.$_POST['db']['name']); - $aError['insert_create'] = 'No se pudo agregar los datos a la base de datos'; $hasErrors = true; + $aError['currentdb'] = 'No se pudo crear la base de datos ('.mysql_error().')'; + $aDb = array( 'server' => $_POST['db']['server'] , 'user' => $_POST['db']['user'], 'password' => $_POST['db']['password'], 'name' => $_POST['db']['name'], 'createdb' => $_POST['db']['createdb']) ; + } } } else { - if(@mysql_select_db($_POST['db']['name'])) { - if(doInstall()) { - header("Location: ".REDIRECT_URL); - } else { - $aError['insert_create'] = 'No se pudo agregar los datos a la base de datos'; - $hasErrors = true; - } - } else { - $hasErrors = true; - $aError['currentdb'] = 'No se pudo crear la base de datos ('.mysql_error().')'; - $aDb = array( 'server' => $_POST['db']['server'] , 'user' => $_POST['db']['user'], 'password' => $_POST['db']['password'], 'name' => $_POST['db']['name'], 'createdb' => $_POST['db']['createdb']) ; + $hasErrors = true; + $aError['mysql_version'] = 'Usted tiene una versión de MYSQL inferior a la'.MYSQL_REQUIRED_VERSION. '(Su versión actual es '.$mysql_server_version. ')'; + $aDb = array( 'server' => $_POST['db']['server'] , 'user' => $_POST['db']['user'], 'password' => $_POST['db']['password'], 'name' => $_POST['db']['name'], 'createdb' => $_POST['db']['createdb'] ); + } - } - } - // si hay algun error debo borrar todo lo creado mysql_close($db_connection); } else { $hasErrors = true; @@ -198,17 +217,29 @@ </thead> <tr class="sf_admin_row_0" > <td>Versión de PHP >= 5.0.0</td> - <td><?=($bool_phpversion)?IMG_OK:IMG_NOT_OK?>(<?=$msg_phpversion?>)</td> + <td> + <?=($bool_phpversion)?IMG_OK:IMG_NOT_OK?>(<?=$msg_phpversion?>) + </td> </tr> - <tr class="sf_admin_row_1"> - <td>Versióon de APACHE >= 2.0</td> - <td><?=($bool_apache_get_version)?IMG_OK:IMG_NOT_OK?>(<?=$msg_apache_get_version?>)</td> + + <tr class="sf_admin_row_1" > + <td>¿ Esta instalado MYSQL en PHP ?</td> + <td> + <?=($bool_mysql_module)?IMG_OK:IMG_NOT_OK?>(<?=$msg_mysql_module?>) + </td> </tr> + + <tr class="sf_admin_row_0"> <td>¿ Esta Instalado GD en PHP ?</td> <td><?=($bool_gd)?IMG_OK:IMG_NOT_OK." (Necesitas instalar GD - http://www.php.net/manual/es/ref.image.php)";?></td> </tr> <tr class="sf_admin_row_1"> + <td>Versióon de APACHE >= 2.0</td> + <td><?=($bool_apache_get_version)?IMG_OK:IMG_NOT_OK?>(<?=$msg_apache_get_version?>)</td> + </tr> + + <tr class="sf_admin_row_0"> <td>En php.ini memory_limit >= 32</td> <td><?=($bool_memory_limit)?IMG_OK:IMG_NOT_OK;?>(<?=$memory_limit?>)</td> </tr> @@ -240,7 +271,7 @@ </tr> </table> -<? if($bool_config AND $bool_upload AND $bool_log AND $bool_cache AND $bool_memory_limit AND $bool_apache_get_version AND $bool_phpversion AND $bool_gd) { ?> +<? if($bool_config AND $bool_upload AND $bool_log AND $bool_cache AND $bool_memory_limit AND $bool_apache_get_version AND $bool_phpversion AND $bool_gd AND $bool_mysql_module) { ?> <?php if($hasErrors) { ?> <br><br> @@ -295,13 +326,9 @@ /** * Funciones del instalador */ -function compruebaVersionPHP($installed_version) { - return (version_compare($installed_version, PHP_REQUIRED_VERSION, ">=")); -} - -function compruebaVersionApache($installed_version) { - return (version_compare($installed_version, APACHE_REQUIRED_VERSION, ">=")); +function compruebaVersion($instalada, $requireda) { + return (version_compare($instalada, $requireda, ">=")); } @@ -311,10 +338,10 @@ } -function estaExtensionGD() { +function estaExtension($ext) { $aExtension = get_loaded_extensions(); if(count($aExtension)>0) { - $res = array_search('gd', $aExtension); + $res = array_search($ext, $aExtension); if($res === false) { return false; } else {
participants (1)
-
commits@pressenter.com.ar