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 = "";
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()."<p class='alert'>".$message->getMessage("NoMysqlConnexion")."</p>";
}
$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()."<p class='alert'>".$message->getMessage("NoMysqlConnexion")."</p>";
}
$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()."<p class='alert'>".$message->getMessage('BdDatasError')."</p>";
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()."<p class='alert'>".$message->getMessage('BdDatasError')."</p>";
exit;
}
}
}
$result = $bd_connect->exec($sql_query[$i]);
if( !$result )
{
return datasource()."<p class='alert'>".$message->getMessage('BdDatasError')."</p>";
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 = "<div class='main'>
@ -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()."<p class='alert'>".$message->getMessage('Passworderror')."</p>";
}
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;
}