diff --git a/core/module/install/install.php b/core/module/install/install.php
index c9c095f8..73d34740 100644
--- a/core/module/install/install.php
+++ b/core/module/install/install.php
@@ -110,9 +110,32 @@ class install extends common
$userMail = $this->getInput('installMail', helper::FILTER_MAIL, true);
$userId = $this->getInput('installId', helper::FILTER_ID, true);
+ // Validation de la langue transmise
+ self::$i18nUI = $_SESSION['ZWII_UI'];
+ self::$i18nUI = array_key_exists(self::$i18nUI, self::$languages) ? self::$i18nUI : 'fr_FR';
+ // par défaut le contenu est la langue d'installation
+ $_SESSION['ZWII_CONTENT'] = self::$i18nUI;
+
+ // Création du dossier de langue avec le marqueur de langue par défaut
+ if (!is_dir(self::DATA_DIR . $_SESSION['ZWII_CONTENT'])) {
+ mkdir(self::DATA_DIR . $_SESSION['ZWII_CONTENT']);
+ touch(self::DATA_DIR . $_SESSION['ZWII_CONTENT'] . '/.default');
+ }
+
+ // Installation du site de test
+ if (
+ $this->getInput('installDefaultData', helper::FILTER_BOOLEAN) === false
+ && $_SESSION['ZWII_CONTENT'] === 'fr_FR'
+ ) {
+ $sample = true;
+ }
+ $this->initData('page', $_SESSION['ZWII_CONTENT'], $sample);
+ $this->initData('module', $_SESSION['ZWII_CONTENT'], $sample);
+ $this->initData('locale', $_SESSION['ZWII_CONTENT'], $sample);
+
// Création de l'utilisateur si les données sont complétées.
// success retour de l'enregistrement des données
- $success = $this->setData([
+ $this->setData([
'user',
$userId,
[
@@ -124,130 +147,103 @@ class install extends common
'signature' => 1,
'mail' => $userMail,
'password' => $this->getInput('installPassword', helper::FILTER_PASSWORD, true),
- 'language' => self::$i18nUI
+ 'language' => $_SESSION['ZWII_CONTENT']
]
]);
- // Compte créé, envoi du mail et création des données du site
- if ($success) { // Formulaire complété envoi du mail
- // Envoie le mail
- // Sent contient true si réussite sinon code erreur d'envoi en clair
- $sent = $this->sendMail(
- $userMail,
- 'Installation de votre site',
- 'Bonjour' . ' ' . $userFirstname . ' ' . $userLastname . ',
' .
- 'Voici les détails de votre installation.
' .
- 'URL du site : ' . helper::baseUrl(false) . '
' .
- 'Identifiant du compte : ' . $this->getInput('installId') . '
',
- null,
- $this->getData(['config', 'smtp', 'from']),
- );
+ // Envoie le mail
+ // Sent contient true si réussite sinon code erreur d'envoi en clair
+ $this->sendMail(
+ $userMail,
+ 'Installation de votre site',
+ 'Bonjour' . ' ' . $userFirstname . ' ' . $userLastname . ',
' .
+ 'Voici les détails de votre installation.
' .
+ 'URL du site : ' . helper::baseUrl(false) . '
' .
+ 'Identifiant du compte : ' . $this->getInput('installId') . '
',
+ null,
+ 'localhost',
+ );
- // Validation de la langue transmise
- self::$i18nUI = $_SESSION['ZWII_UI'];
- self::$i18nUI = array_key_exists(self::$i18nUI, self::$languages) ? self::$i18nUI : 'fr_FR';
-
- // par défaut le contenu est la langue d'installation
- self::$i18nContent = self::$i18nUI;
- $_SESSION['ZWII_CONTENT'] = self::$i18nContent;
-
- // Création du dossier de langue avec le marqueur de langue par défaut
- if (!is_dir(self::DATA_DIR . self::$i18nContent)) {
- mkdir(self::DATA_DIR . self::$i18nContent);
- touch(self::DATA_DIR . self::$i18nContent . '/.default');
- }
-
- // Installation du site de test
- if (
- $this->getInput('installDefaultData', helper::FILTER_BOOLEAN) === false
- && self::$i18nContent === 'fr_FR'
- ) {
- $this->initData('module', 'fr_FR', true);
- $this->initData('page', 'fr_FR', true);
- $this->setData(['module', 'blog', 'posts', 'mon-premier-article', 'userId', $userId]);
- $this->setData(['module', 'blog', 'posts', 'mon-deuxieme-article', 'userId', $userId]);
- $this->setData(['module', 'blog', 'posts', 'mon-troisieme-article', 'userId', $userId]);
-
- }
-
- // Nettoyage fr par défaut
- if (
- self::$i18nContent !== 'fr_FR'
-
- ) {
-
- if (is_dir(self::DATA_DIR . 'fr_FR'))
- $this->removeDir(self::DATA_DIR . 'fr_FR');
- }
-
- // Sauvegarder la configuration du Proxy
- $this->setData(['config', 'proxyType', $this->getInput('installProxyType')]);
- $this->setData(['config', 'proxyUrl', $this->getInput('installProxyUrl')]);
- $this->setData(['config', 'proxyPort', $this->getInput('installProxyPort', helper::FILTER_INT)]);
-
- // Images exemples livrées dans tous les cas
- try {
- // Décompression dans le dossier de fichier temporaires
- if (file_exists(self::TEMP_DIR . 'files.tar.gz')) {
- unlink(self::TEMP_DIR . 'files.tar.gz');
- }
- if (file_exists(self::TEMP_DIR . 'files.tar')) {
- unlink(self::TEMP_DIR . 'files.tar');
- }
- copy('core/module/install/ressource/files.tar.gz', self::TEMP_DIR . 'files.tar.gz');
- $pharData = new PharData(self::TEMP_DIR . 'files.tar.gz');
- $pharData->decompress();
- // Installation
- $pharData->extractTo(__DIR__ . '/../../../', null, true);
- } catch (Exception $e) {
- $success = $e->getMessage();
- }
-
- // Nettoyage
- unlink(self::TEMP_DIR . 'files.tar.gz');
- unlink(self::TEMP_DIR . 'files.tar');
-
- // Créer le dossier des fontes
- if (!is_dir(self::DATA_DIR . 'font')) {
- mkdir(self::DATA_DIR . 'font');
- }
-
- // Installation du thème sélectionné
- $dataThemes = json_decode(file_get_contents('core/module/install/ressource/themes/themes.json'), true);
- $dataThemes = $dataThemes['themes'];
- $themeFilename = $dataThemes[$this->getInput('installTheme', helper::FILTER_STRING_SHORT)]['filename'];
- if ($themeFilename !== '') {
- $theme = new theme;
- $theme->import('core/module/install/ressource/themes/' . $themeFilename);
- }
-
- // Copie des thèmes dans les fichiers
- if (!is_dir(self::FILE_DIR . 'source/theme')) {
- mkdir(self::FILE_DIR . 'source/theme');
- }
- $this->copyDir('core/module/install/ressource/themes', self::FILE_DIR . 'source/theme');
- unlink(self::FILE_DIR . 'source/theme/themes.json');
-
- // Copie des langues de l'UI et génération de la base de données
- if (is_dir(self::I18N_DIR) === false) {
- mkdir(self::I18N_DIR);
- }
-
- // Créer la base de données des langues
- copy('core/module/install/ressource/i18n/language.json', self::DATA_DIR . 'language.json');
- $this->copyDir('core/module/install/ressource/i18n', self::I18N_DIR);
- unlink(self::I18N_DIR . 'language.json');
-
- // Fixe l'adresse from pour les envois d'email
- $this->setData(['config', 'smtp', 'from', 'no-reply@' . str_replace('www.', '', $_SERVER['HTTP_HOST'])]);
-
- // Valeurs en sortie
- $this->addOutput([
- 'redirect' => helper::baseUrl(),
- 'notification' => $sent === true ? helper::translate('Installation terminée') : $sent,
- 'state' => ($sent === true && $success === true) ? true : null
- ]);
+ // Nettoyage fr par défaut
+ if (
+ $_SESSION['ZWII_CONTENT'] !== 'fr_FR'
+ ) {
+ if (is_dir(self::DATA_DIR . 'fr_FR'))
+ $this->removeDir(self::DATA_DIR . 'fr_FR');
}
+
+ // Sauvegarder la configuration du Proxy
+ $this->setData(['config', 'proxyType', $this->getInput('installProxyType')]);
+ $this->setData(['config', 'proxyUrl', $this->getInput('installProxyUrl')]);
+ $this->setData(['config', 'proxyPort', $this->getInput('installProxyPort', helper::FILTER_INT)]);
+
+ // Images exemples livrées dans tous les cas
+ try {
+ // Décompression dans le dossier de fichier temporaires
+ if (file_exists(self::TEMP_DIR . 'files.tar.gz')) {
+ unlink(self::TEMP_DIR . 'files.tar.gz');
+ }
+ if (file_exists(self::TEMP_DIR . 'files.tar')) {
+ unlink(self::TEMP_DIR . 'files.tar');
+ }
+ copy('core/module/install/ressource/files.tar.gz', self::TEMP_DIR . 'files.tar.gz');
+ $pharData = new PharData(self::TEMP_DIR . 'files.tar.gz');
+ $pharData->decompress();
+ // Installation
+ $pharData->extractTo(__DIR__ . '/../../../', null, true);
+ } catch (Exception $e) {
+ $success = $e->getMessage();
+ }
+
+ // Nettoyage
+ unlink(self::TEMP_DIR . 'files.tar.gz');
+ unlink(self::TEMP_DIR . 'files.tar');
+
+ // Créer le dossier des fontes
+ if (!is_dir(self::DATA_DIR . 'font')) {
+ mkdir(self::DATA_DIR . 'font');
+ }
+
+ // Installation du thème sélectionné
+ $dataThemes = json_decode(file_get_contents('core/module/install/ressource/themes/themes.json'), true);
+ $dataThemes = $dataThemes['themes'];
+ $themeFilename = $dataThemes[$this->getInput('installTheme', helper::FILTER_STRING_SHORT)]['filename'];
+ if ($themeFilename !== '') {
+ $theme = new theme;
+ $theme->import('core/module/install/ressource/themes/' . $themeFilename);
+ }
+
+ // Copie des thèmes dans les fichiers
+ if (!is_dir(self::FILE_DIR . 'source/theme')) {
+ mkdir(self::FILE_DIR . 'source/theme');
+ }
+ $this->copyDir('core/module/install/ressource/themes', self::FILE_DIR . 'source/theme');
+ unlink(self::FILE_DIR . 'source/theme/themes.json');
+
+ // Copie des langues de l'UI et génération de la base de données
+ if (is_dir(self::I18N_DIR) === false) {
+ mkdir(self::I18N_DIR);
+ }
+
+ // Créer la base de données des langues
+ // copy('core/module/install/ressource/i18n/language.json', self::DATA_DIR . 'language.json');
+ $this->copyDir('core/module/install/ressource/i18n', self::I18N_DIR);
+ // unlink(self::I18N_DIR . 'language.json');
+
+ // Fixe l'adresse from pour les envois d'email
+ $this->setData(['config', 'smtp', 'from', 'no-reply@' . str_replace('www.', '', $_SERVER['HTTP_HOST'])]);
+
+ // Supprimé à cause de l'écrasement des bases
+ //$this->setData(['module', 'blog', 'posts', 'mon-premier-article', 'userId', $userId]);
+ //$this->setData(['module', 'blog', 'posts', 'mon-deuxieme-article', 'userId', $userId]);
+ //$this->setData(['module', 'blog', 'posts', 'mon-troisieme-article', 'userId', $userId]);
+
+ // Valeurs en sortie
+ $this->addOutput([
+ 'redirect' => helper::baseUrl(),
+ 'notification' => helper::translate('Installation terminée'),
+ 'state' => true
+ ]);
}
// Affichage du formulaire