[Alba-desarrollo] SVN Alba r3988 - prosistem/alba/trunk
commits en pressenter.com.ar
commits en pressenter.com.ar
Mie Ene 10 16:59:09 CET 2007
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 {
Más información sobre la lista de distribución Alba-desarrollo