Fixed issue #56.

This commit is contained in:
Rooty 2021-04-05 16:07:32 +02:00
parent 6e8f8ad1d0
commit 8f5360c534

View File

@ -304,7 +304,6 @@ function datasource($POST="")
$chaine = ""; $chaine = "";
if($_POST) if($_POST)
{ {
foreach($_POST as $cle=>$val) foreach($_POST as $cle=>$val)
{ {
if($val=="" && ($cle !="PwdServeur" && $cle !="NameServeur" && $cle !="PrefxBdServeur" && $cle !="helpdesc")) if($val=="" && ($cle !="PwdServeur" && $cle !="NameServeur" && $cle !="PrefxBdServeur" && $cle !="helpdesc"))
@ -325,7 +324,6 @@ function datasource($POST="")
} }
else else
{ {
$dbhost = (!empty($_POST['NameServeur'])) ? $_POST['NameServeur'] : 'localhost'; $dbhost = (!empty($_POST['NameServeur'])) ? $_POST['NameServeur'] : 'localhost';
$dbuser = (!empty($_POST['LoginServeur'])) ? $_POST['LoginServeur']: ""; $dbuser = (!empty($_POST['LoginServeur'])) ? $_POST['LoginServeur']: "";
$dbpasswd = (!empty($_POST['PwdServeur'])) ? $_POST['PwdServeur'] : ""; $dbpasswd = (!empty($_POST['PwdServeur'])) ? $_POST['PwdServeur'] : "";
@ -333,36 +331,36 @@ function datasource($POST="")
$dbnameprefx = (!empty($_POST['PrefxBdServeur'])) ? $_POST['PrefxBdServeur']: ""; $dbnameprefx = (!empty($_POST['PrefxBdServeur'])) ? $_POST['PrefxBdServeur']: "";
try { try {
$bd_connect = new PDO("mysql:host=$dbhost", "$dbuser", "$dbpasswd"); // PDO Connection $bd_connect = new PDO("mysql:host=$dbhost", "$dbuser", "$dbpasswd"); // PDO Connection
} catch (PDOException $e) { } catch (PDOException $e) {
// $e->getCode = 1045 = Access denied // $e->getCode = 1045 = Access denied
// $e->getCode = 1049 = Unknown database // $e->getCode = 1049 = Unknown database
if( $e->getCode() == '1045' ) return datasource()."<p class='alert'>".$message->getMessage("NoMysqlConnexion")."</p>"; if( $e->getCode() == '1045' ) return datasource()."<p class='alert'>".$message->getMessage("NoMysqlConnexion")."</p>";
} }
$dbselect = true; $dbselect = true;
try { try {
$bd_connect = new PDO("mysql:host=$dbhost;dbname=$dbname;charset=utf8", "$dbuser", "$dbpasswd"); // PDO Connection $bd_connect = new PDO("mysql:host=$dbhost;dbname=$dbname;charset=utf8", "$dbuser", "$dbpasswd"); // PDO Connection
} catch (PDOException $e) { } catch (PDOException $e) {
// $e->getCode = 1049 = Unknown database // $e->getCode = 1049 = Unknown database
if( $e->getCode() == '1049' ) $dbselect = false; if( $e->getCode() == '1049' ) $dbselect = false;
} }
if(!$dbselect) if(!$dbselect)
{ {
include_once($CONF_LIB_PATH."lib/system/system_data_source/database/sql_parse.php"); include_once($CONF_LIB_PATH."lib/system/system_data_source/database/sql_parse.php");
$mysqlversion = explode(" ", getModuleSetting('pdo_mysql','Client API version')); $mysqlversion = explode(" ", getModuleSetting('pdo_mysql','Client API version'));
$mysqlversion = explode(".",$mysqlversion[1]); $mysqlversion = explode(".",$mysqlversion[1]);
$mysqlversion = $mysqlversion[0]; $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 = @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 = preg_replace('/{_DATABASE_}/', "`".$dbname."`", $sql_query);
$sql_query = remove_remarks($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")); $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_"; } if($dbnameprefx != "") { $dbnameprefx = $dbnameprefx."_"; } else { $dbnameprefx = "sys_"; }
@ -400,8 +398,8 @@ function datasource($POST="")
$sql_query[$i]=make_path($sql_query[$i]); $sql_query[$i]=make_path($sql_query[$i]);
##################################### #####################################
$result = $bd_connect->exec($sql_query[$i]); $result = $bd_connect->exec($sql_query[$i]);
if( !$result ) if( !$result )
{ {
return datasource()."<p class='alert'>".$message->getMessage('BdDatasError')."</p>"; return datasource()."<p class='alert'>".$message->getMessage('BdDatasError')."</p>";
exit; exit;
@ -420,8 +418,8 @@ function datasource($POST="")
include_once($CONF_LIB_PATH."lib/system/system_data_source/database/sql_parse.php"); include_once($CONF_LIB_PATH."lib/system/system_data_source/database/sql_parse.php");
$mysqlversion = explode(" ", getModuleSetting('pdo_mysql','Client API version')); $mysqlversion = explode(" ", getModuleSetting('pdo_mysql','Client API version'));
$mysqlversion = explode(".",$mysqlversion[1]); $mysqlversion = explode(".",$mysqlversion[1]);
$mysqlversion = $mysqlversion[0]; $mysqlversion = $mysqlversion[0];
$sql_query = @fread(@fopen("./db_scripts/mysql/".$mysqlversion."_create_structure.sql", 'r'), @filesize("./db_scripts/mysql/".$mysqlversion."_create_structure.sql")); $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_"; } if($dbnameprefx != "") { $dbnameprefx = $dbnameprefx."_"; } else { $dbnameprefx = "sys_"; }
@ -432,7 +430,7 @@ function datasource($POST="")
$sql_query = remove_remarks($sql_query); $sql_query = remove_remarks($sql_query);
$sql_query = split_sql_file($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])) if ($result = $bd_connect->exec($sql_query[$i]))
{ {
@ -450,42 +448,42 @@ function datasource($POST="")
$sql_query = remove_remarks($sql_query); $sql_query = remove_remarks($sql_query);
$sql_query = split_sql_file($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 (trim($sql_query[$i]) != '') if (trim($sql_query[$i]) != '')
{ {
##################################### #####################################
### Ajout du remplacement des paths images!!! ### Ajout du remplacement des paths images!!!
$sql_query[$i]=make_path($sql_query[$i]); $sql_query[$i]=make_path($sql_query[$i]);
##################################### #####################################
$result = $bd_connect->exec($sql_query[$i]); $result = $bd_connect->exec($sql_query[$i]);
if( !$result ) if( !$result )
{ {
return datasource()."<p class='alert'>".$message->getMessage('BdDatasError')."</p>"; return datasource()."<p class='alert'>".$message->getMessage('BdDatasError')."</p>";
exit; exit;
} }
} }
} }
} }
// On met à jour le fichier config.data_source.php // On met à jour le fichier config.data_source.php
if ( updateStringInFile(array( "{_DBCONNECTOR_}"=>"mysql", if ( updateStringInFile(array( "{_DBCONNECTOR_}"=>"mysql",
"{_DBHOST_}"=>$dbhost, "{_DBHOST_}"=>$dbhost,
"{_DBUSER_}"=>$dbuser, "{_DBUSER_}"=>$dbuser,
"{_DBPASSWD_}"=>$dbpasswd, "{_DBPASSWD_}"=>$dbpasswd,
"{_DBNAME_}"=>$dbname, "{_DBNAME_}"=>$dbname,
), ),
$CONF_LIB_PATH.'config/config.data_source.php.install', $CONF_LIB_PATH.'config/config.data_source.php.install',
$CONF_LIB_PATH.'config/config.data_source.php') == false) $CONF_LIB_PATH.'config/config.data_source.php') == false)
{ redirect("index.php?step=1"); } { redirect("index.php?step=1"); }
// On met à jour le fichier config.data_acces.php // On met à jour le fichier config.data_acces.php
if ( updateStringInFile(array( "{_PREFIX_}"=>$dbnameprefx if ( updateStringInFile(array( "{_PREFIX_}"=>$dbnameprefx
), ),
$CONF_LIB_PATH.'config/config.data_acces.php.install', $CONF_LIB_PATH.'config/config.data_acces.php.install',
$CONF_LIB_PATH.'config/config.data_acces.php') !== false) $CONF_LIB_PATH.'config/config.data_acces.php') !== false)
{ redirect("index.php?step=2"); } else { redirect("index.php?step=1"); } { redirect("index.php?step=2"); } else { redirect("index.php?step=1"); }
} }
} }
} }
@ -570,21 +568,21 @@ function adapt($POST="")
} }
else 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'], if( updateStringInFile(array( "{_CONF_SYSTEM_KEY_}"=>$_POST['McryptKey'],
"{_CONF_DEFAULT_TEMPLATE_}"=>$_POST['ConfPlatformTmplDefault'], "{_CONF_DEFAULT_TEMPLATE_}"=>$_POST['ConfPlatformTmplDefault'],
"{_CONF_DEFAULT_NAME_}"=>$_POST['ConfPlatformName'], "{_CONF_DEFAULT_NAME_}"=>$_POST['ConfPlatformName'],
"{_CONF_DEFAULT_DESC_}"=>$_POST['ConfPlatformDescDefault'] "{_CONF_DEFAULT_DESC_}"=>$_POST['ConfPlatformDescDefault']
), ),
$CONF_LIB_PATH.'config/config.system.php.install', $CONF_LIB_PATH.'config/config.system.php.install',
$CONF_LIB_PATH.'config/config.system.php') == false) $CONF_LIB_PATH.'config/config.system.php') == false)
{ redirect("index.php?step=2"); } { redirect("index.php?step=2"); }
// On met à jour le fichier config.php pour {_CONF_PLATFORM_NAME_}, // On met à jour le fichier config.php pour {_CONF_PLATFORM_NAME_},
if ( updateStringInFile(array( "{_CONF_PLATFORM_NAME_}"=>$_POST['ConfPlatformName'] if ( updateStringInFile(array( "{_CONF_PLATFORM_NAME_}"=>$_POST['ConfPlatformName']
), ),
$CONF_LIB_PATH.'config/config.php.install', $CONF_LIB_PATH.'config/config.php.install',
$CONF_LIB_PATH.'config/config.php') !== false) $CONF_LIB_PATH.'config/config.php') !== false)
{ redirect("index.php?step=3"); } else { redirect("index.php?step=2"); } { redirect("index.php?step=3"); } else { redirect("index.php?step=2"); }
} }
} }
} }
@ -685,31 +683,36 @@ function admin($POST="")
// Création du répertoire de stockage des packages disponible sur la plateforme // Création du répertoire de stockage des packages disponible sur la plateforme
// Nécessaire pour l'outil installmanager. // Nécessaire pour l'outil installmanager.
if( !file_exists($GLOBALS["CONF_LIB_PATH"]."data/upload/install/packagesrc") ) 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( if ( updateStringInFile(array(
"{_CONF_ADMIN_MAIL_}"=>$_POST['Mail']), "{_CONF_ADMIN_MAIL_}"=>$_POST['Mail']),
$CONF_LIB_PATH.'config/config.php', $CONF_LIB_PATH.'config/config.php',
$CONF_LIB_PATH.'config/config.php') == false) $CONF_LIB_PATH.'config/config.php') == false)
{ redirect("index.php?step=3"); } { 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"); }
if ( updateStringInFile(array( if ( updateStringInFile(array(
"{_QWAREINSTALLED_}"=>"true"), "{_CONF_ADMIN_MAIL_}"=>$_POST['Mail']),
$CONF_LIB_PATH.'config/installcontrol.php.install', $CONF_LIB_PATH.'config/config.mxconf.php.install',
$CONF_LIB_PATH.'config/installcontrol.php') !== false) $CONF_LIB_PATH.'config/config.mxconf.php') == false)
{ redirect("index.php?step=4"); } { 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) function createDirectory($chemin, $chmod)
{ {
if ( !is_dir($chemin) ) if ( !is_dir($chemin) )
{ {
return mkdir($pathTmp,$chmod, true); return mkdir($pathTmp,$chmod, true);
} else { } else {
$return = true; $return = true;
} }
return $return; return $return;
} }