From 8f5360c5345cced17e5ec772cbcc917c619665bb Mon Sep 17 00:00:00 2001 From: "tristan.champomier" Date: Mon, 5 Apr 2021 16:07:32 +0200 Subject: [PATCH] Fixed issue #56. --- install/lib_install.php | 215 ++++++++++++++++++++-------------------- 1 file changed, 109 insertions(+), 106 deletions(-) diff --git a/install/lib_install.php b/install/lib_install.php index 213ebad..b8a597f 100755 --- a/install/lib_install.php +++ b/install/lib_install.php @@ -304,7 +304,6 @@ function datasource($POST="") $chaine = ""; if($_POST) { - foreach($_POST as $cle=>$val) { if($val=="" && ($cle !="PwdServeur" && $cle !="NameServeur" && $cle !="PrefxBdServeur" && $cle !="helpdesc")) @@ -317,7 +316,7 @@ function datasource($POST="") $chaine .= $message->getMessage('obligatory'); } } - + //Si certains champs sont manquants pour l'inscription if ($chaine != "") { @@ -325,44 +324,43 @@ function datasource($POST="") } else { - $dbhost = (!empty($_POST['NameServeur'])) ? $_POST['NameServeur'] : 'localhost'; $dbuser = (!empty($_POST['LoginServeur'])) ? $_POST['LoginServeur']: ""; $dbpasswd = (!empty($_POST['PwdServeur'])) ? $_POST['PwdServeur'] : ""; $dbname = (!empty($_POST['BdServeur'])) ? $_POST['BdServeur']: ""; $dbnameprefx = (!empty($_POST['PrefxBdServeur'])) ? $_POST['PrefxBdServeur']: ""; - + try { - $bd_connect = new PDO("mysql:host=$dbhost", "$dbuser", "$dbpasswd"); // PDO Connection - } catch (PDOException $e) { - // $e->getCode = 1045 = Access denied - // $e->getCode = 1049 = Unknown database - if( $e->getCode() == '1045' ) return datasource()."

".$message->getMessage("NoMysqlConnexion")."

"; - } - - $dbselect = true; - try { - $bd_connect = new PDO("mysql:host=$dbhost;dbname=$dbname;charset=utf8", "$dbuser", "$dbpasswd"); // PDO Connection - } catch (PDOException $e) { - // $e->getCode = 1049 = Unknown database - if( $e->getCode() == '1049' ) $dbselect = false; - } - + $bd_connect = new PDO("mysql:host=$dbhost", "$dbuser", "$dbpasswd"); // PDO Connection + } catch (PDOException $e) { + // $e->getCode = 1045 = Access denied + // $e->getCode = 1049 = Unknown database + if( $e->getCode() == '1045' ) return datasource()."

".$message->getMessage("NoMysqlConnexion")."

"; + } + + $dbselect = true; + try { + $bd_connect = new PDO("mysql:host=$dbhost;dbname=$dbname;charset=utf8", "$dbuser", "$dbpasswd"); // PDO Connection + } catch (PDOException $e) { + // $e->getCode = 1049 = Unknown database + if( $e->getCode() == '1049' ) $dbselect = false; + } + if(!$dbselect) { include_once($CONF_LIB_PATH."lib/system/system_data_source/database/sql_parse.php"); - $mysqlversion = explode(" ", getModuleSetting('pdo_mysql','Client API version')); - $mysqlversion = explode(".",$mysqlversion[1]); - $mysqlversion = $mysqlversion[0]; + $mysqlversion = explode(" ", getModuleSetting('pdo_mysql','Client API version')); + $mysqlversion = explode(".",$mysqlversion[1]); + $mysqlversion = $mysqlversion[0]; $sql_query = @fread(@fopen("./db_scripts/mysql/".$mysqlversion."_create_database.sql", 'r'), @filesize("./db_scripts/mysql/".$mysqlversion."_create_database.sql")); $sql_query = preg_replace('/{_DATABASE_}/', "`".$dbname."`", $sql_query); $sql_query = remove_remarks($sql_query); - $result = $bd_connect->exec($sql_query); + $result = $bd_connect->exec($sql_query); - if ( !($dbselect = $bd_connect->exec("USE $dbname;")) ) + if ( !($dbselect = $bd_connect->exec("USE $dbname;")) ) { $sql_query = @fread(@fopen("./db_scripts/mysql/".$mysqlversion."_create_structure.sql", 'r'), @filesize("./db_scripts/mysql/".$mysqlversion."_create_structure.sql")); if($dbnameprefx != "") { $dbnameprefx = $dbnameprefx."_"; } else { $dbnameprefx = "sys_"; } @@ -400,8 +398,8 @@ function datasource($POST="") $sql_query[$i]=make_path($sql_query[$i]); ##################################### - $result = $bd_connect->exec($sql_query[$i]); - if( !$result ) + $result = $bd_connect->exec($sql_query[$i]); + if( !$result ) { return datasource()."

".$message->getMessage('BdDatasError')."

"; exit; @@ -420,19 +418,19 @@ function datasource($POST="") include_once($CONF_LIB_PATH."lib/system/system_data_source/database/sql_parse.php"); $mysqlversion = explode(" ", getModuleSetting('pdo_mysql','Client API version')); - $mysqlversion = explode(".",$mysqlversion[1]); - $mysqlversion = $mysqlversion[0]; - + $mysqlversion = explode(".",$mysqlversion[1]); + $mysqlversion = $mysqlversion[0]; + $sql_query = @fread(@fopen("./db_scripts/mysql/".$mysqlversion."_create_structure.sql", 'r'), @filesize("./db_scripts/mysql/".$mysqlversion."_create_structure.sql")); if($dbnameprefx != "") { $dbnameprefx = $dbnameprefx."_"; } else { $dbnameprefx = "sys_"; } - + $sql_query = preg_replace('/{_DATABASE_}/', $dbname, $sql_query); $sql_query = preg_replace('/{_PREFIX_}/', $dbnameprefx, $sql_query); $sql_query = remove_remarks($sql_query); $sql_query = split_sql_file($sql_query, ";"); - for ($i = 0; $i < sizeof($sql_query); $i++) + for ($i = 0; $i < sizeof($sql_query); $i++) { if ($result = $bd_connect->exec($sql_query[$i])) { @@ -450,42 +448,42 @@ function datasource($POST="") $sql_query = remove_remarks($sql_query); $sql_query = split_sql_file($sql_query, ";"); - for ($i = 0; $i < sizeof($sql_query); $i++) - { - if (trim($sql_query[$i]) != '') - { - ##################################### - ### Ajout du remplacement des paths images!!! + for ($i = 0; $i < sizeof($sql_query); $i++) + { + if (trim($sql_query[$i]) != '') + { + ##################################### + ### Ajout du remplacement des paths images!!! $sql_query[$i]=make_path($sql_query[$i]); - ##################################### + ##################################### - $result = $bd_connect->exec($sql_query[$i]); - if( !$result ) - { - return datasource()."

".$message->getMessage('BdDatasError')."

"; - exit; - } - } - } + $result = $bd_connect->exec($sql_query[$i]); + if( !$result ) + { + return datasource()."

".$message->getMessage('BdDatasError')."

"; + exit; + } + } + } } // On met à jour le fichier config.data_source.php if ( updateStringInFile(array( "{_DBCONNECTOR_}"=>"mysql", - "{_DBHOST_}"=>$dbhost, - "{_DBUSER_}"=>$dbuser, - "{_DBPASSWD_}"=>$dbpasswd, - "{_DBNAME_}"=>$dbname, - ), - $CONF_LIB_PATH.'config/config.data_source.php.install', - $CONF_LIB_PATH.'config/config.data_source.php') == false) - { redirect("index.php?step=1"); } + "{_DBHOST_}"=>$dbhost, + "{_DBUSER_}"=>$dbuser, + "{_DBPASSWD_}"=>$dbpasswd, + "{_DBNAME_}"=>$dbname, + ), + $CONF_LIB_PATH.'config/config.data_source.php.install', + $CONF_LIB_PATH.'config/config.data_source.php') == false) + { redirect("index.php?step=1"); } // On met à jour le fichier config.data_acces.php if ( updateStringInFile(array( "{_PREFIX_}"=>$dbnameprefx - ), - $CONF_LIB_PATH.'config/config.data_acces.php.install', - $CONF_LIB_PATH.'config/config.data_acces.php') !== false) - { redirect("index.php?step=2"); } else { redirect("index.php?step=1"); } + ), + $CONF_LIB_PATH.'config/config.data_acces.php.install', + $CONF_LIB_PATH.'config/config.data_acces.php') !== false) + { redirect("index.php?step=2"); } else { redirect("index.php?step=1"); } } } } @@ -498,7 +496,7 @@ function datasource($POST="") function adapt($POST="") { global $message, $etat, $CONF_LIB_PATH, $help; - + if($POST=="") { $chaine = "
@@ -562,7 +560,7 @@ function adapt($POST="") $chaine .= $message->getMessage('obligatory'); } } - + //Si certains champs sont manquants pour l'inscription if ($chaine != "") { @@ -570,21 +568,21 @@ function adapt($POST="") } else { - // On met à jour le fichier config.system.php pour {_CONF_SYSTEM_KEY_}, {_CONF_DEFAULT_TEMPLATE_}, {_CONF_DEFAULT_TITLE_}, {_CONF_DEFAULT_DESC_} + // On met à jour le fichier config.system.php pour {_CONF_SYSTEM_KEY_}, {_CONF_DEFAULT_TEMPLATE_}, {_CONF_DEFAULT_TITLE_}, {_CONF_DEFAULT_DESC_} if( updateStringInFile(array( "{_CONF_SYSTEM_KEY_}"=>$_POST['McryptKey'], - "{_CONF_DEFAULT_TEMPLATE_}"=>$_POST['ConfPlatformTmplDefault'], - "{_CONF_DEFAULT_NAME_}"=>$_POST['ConfPlatformName'], - "{_CONF_DEFAULT_DESC_}"=>$_POST['ConfPlatformDescDefault'] - ), - $CONF_LIB_PATH.'config/config.system.php.install', - $CONF_LIB_PATH.'config/config.system.php') == false) - { redirect("index.php?step=2"); } + "{_CONF_DEFAULT_TEMPLATE_}"=>$_POST['ConfPlatformTmplDefault'], + "{_CONF_DEFAULT_NAME_}"=>$_POST['ConfPlatformName'], + "{_CONF_DEFAULT_DESC_}"=>$_POST['ConfPlatformDescDefault'] + ), + $CONF_LIB_PATH.'config/config.system.php.install', + $CONF_LIB_PATH.'config/config.system.php') == false) + { redirect("index.php?step=2"); } // On met à jour le fichier config.php pour {_CONF_PLATFORM_NAME_}, if ( updateStringInFile(array( "{_CONF_PLATFORM_NAME_}"=>$_POST['ConfPlatformName'] - ), - $CONF_LIB_PATH.'config/config.php.install', - $CONF_LIB_PATH.'config/config.php') !== false) - { redirect("index.php?step=3"); } else { redirect("index.php?step=2"); } + ), + $CONF_LIB_PATH.'config/config.php.install', + $CONF_LIB_PATH.'config/config.php') !== false) + { redirect("index.php?step=3"); } else { redirect("index.php?step=2"); } } } } @@ -595,7 +593,7 @@ function adapt($POST="") function admin($POST="") { global $message, $etat, $CONF_LIB_PATH; - + if($POST=="") { $chaine = " @@ -647,7 +645,7 @@ function admin($POST="") $chaine .= $message->getMessage('obligatory'); } } - + //Si certains champs sont manquants pour l'inscription if ($chaine != "") { @@ -659,17 +657,17 @@ function admin($POST="") { return admin()."

".$message->getMessage('Passworderror')."

"; } - + include($CONF_LIB_PATH.'lib/system/system_control/systemcontrol.php'); /* Création des ressources */ $var=SystemControl::includeFiles($CONF_LIB_PATH."config/", "config"); $GLOBALS["CONF_LIB_PATH"]="../"; $var=SystemControl::MakeSystemConn(); - + /* Création du Manager Utilisateur */ $GLOBALS["SYSTEM_MANAGER"]["USER"]=UserManagerFactory::createInstance( DATA_ACCES_MANAGER_USER ); /* Création du Manager Utilisateur */ - + $User=new User(); $User->setId($GLOBALS['SYSTEM_DEFAULT_USER_ADMIN']); $User->setPassword($_POST['Password']); @@ -685,31 +683,36 @@ function admin($POST="") // Création du répertoire de stockage des packages disponible sur la plateforme // Nécessaire pour l'outil installmanager. if( !file_exists($GLOBALS["CONF_LIB_PATH"]."data/upload/install/packagesrc") ) - createDirectory($GLOBALS["CONF_LIB_PATH"]."data/upload/install/packagesrc", 700); - + createDirectory($GLOBALS["CONF_LIB_PATH"]."data/upload/install/packagesrc", 700); + + // Création du répertoire de stockage des packages disponible sur la plateforme + // Nécessaire pour l'outil installmanager. + if( !file_exists($GLOBALS["CONF_LIB_PATH"]."data/template/cache") ) + createDirectory($GLOBALS["CONF_LIB_PATH"]."data/template/cache", 700); + if ( updateStringInFile(array( - "{_CONF_ADMIN_MAIL_}"=>$_POST['Mail']), - $CONF_LIB_PATH.'config/config.php', - $CONF_LIB_PATH.'config/config.php') == false) - { redirect("index.php?step=3"); } - - if ( updateStringInFile(array( - "{_CONF_ADMIN_MAIL_}"=>$_POST['Mail']), - $CONF_LIB_PATH.'config/config.mxconf.php.install', - $CONF_LIB_PATH.'config/config.mxconf.php') == false) - { redirect("index.php?step=3"); } - - if ( updateStringInFile(array( - "{_CONF_SECURE_ALL_}"=>"true"), - $CONF_LIB_PATH.'config/config.navigation.php.install', - $CONF_LIB_PATH.'config/config.navigation.php') == false) - { redirect("index.php?step=3"); } - + "{_CONF_ADMIN_MAIL_}"=>$_POST['Mail']), + $CONF_LIB_PATH.'config/config.php', + $CONF_LIB_PATH.'config/config.php') == false) + { redirect("index.php?step=3"); } + if ( updateStringInFile(array( - "{_QWAREINSTALLED_}"=>"true"), - $CONF_LIB_PATH.'config/installcontrol.php.install', - $CONF_LIB_PATH.'config/installcontrol.php') !== false) - { redirect("index.php?step=4"); } + "{_CONF_ADMIN_MAIL_}"=>$_POST['Mail']), + $CONF_LIB_PATH.'config/config.mxconf.php.install', + $CONF_LIB_PATH.'config/config.mxconf.php') == false) + { redirect("index.php?step=3"); } + + if ( updateStringInFile(array( + "{_CONF_SECURE_ALL_}"=>"true"), + $CONF_LIB_PATH.'config/config.navigation.php.install', + $CONF_LIB_PATH.'config/config.navigation.php') == false) + { redirect("index.php?step=3"); } + + if ( updateStringInFile(array( + "{_QWAREINSTALLED_}"=>"true"), + $CONF_LIB_PATH.'config/installcontrol.php.install', + $CONF_LIB_PATH.'config/installcontrol.php') !== false) + { redirect("index.php?step=4"); } } } } @@ -724,12 +727,12 @@ function admin($POST="") */ function createDirectory($chemin, $chmod) { - if ( !is_dir($chemin) ) - { - return mkdir($pathTmp,$chmod, true); - } else { - $return = true; - } + if ( !is_dir($chemin) ) + { + return mkdir($pathTmp,$chmod, true); + } else { + $return = true; + } return $return; }