forked from ZwiiCMS-Team/ZwiiCMS
11.0.10 mkdir permission 0755 + init module galerie
This commit is contained in:
parent
04057c285a
commit
206ab7f9a1
@ -1,6 +1,10 @@
|
||||
# Changelog
|
||||
|
||||
## Version 11.0.10
|
||||
- Corrections :
|
||||
- Création d'un dossier : les droits d'accès sont positionnés sur 0755 au lieu de la valeur par défaut 0777. Concerne également les modules Formulaire, Galerie, News, Search et d'autres modules optionnels.
|
||||
- Données d'initialisation, le numéro de version devient 11000 au lieu de 10602.
|
||||
- Module galerie version 3.3, modification de l'initialisation du module.
|
||||
|
||||
## Version 11.0.09
|
||||
- Modifications :
|
||||
|
@ -558,7 +558,7 @@ class common {
|
||||
|
||||
// Stockage dans un sous-dossier localisé
|
||||
if (!file_exists(self::DATA_DIR . $lang)) {
|
||||
mkdir (self::DATA_DIR .$lang);
|
||||
mkdir (self::DATA_DIR .$lang, 0755);
|
||||
}
|
||||
$db = $this->dataFiles[$module];
|
||||
if ($sampleSite === true) {
|
||||
@ -570,7 +570,7 @@ class common {
|
||||
|
||||
// Dossier des pages
|
||||
if (!is_dir(self::DATA_DIR . $lang . '/content')) {
|
||||
mkdir(self::DATA_DIR . $lang . '/content');
|
||||
mkdir(self::DATA_DIR . $lang . '/content', 0755);
|
||||
}
|
||||
// Créer le jeu de pages du site de test
|
||||
if ($module === 'page' ) {
|
||||
@ -748,7 +748,7 @@ class common {
|
||||
|
||||
// Dossier de langues
|
||||
if (!file_exists(self::DATA_DIR . '/fr')) {
|
||||
mkdir (self::DATA_DIR . '/fr');
|
||||
mkdir (self::DATA_DIR . '/fr', 0755);
|
||||
}
|
||||
|
||||
// Un seul fichier pour éviter les erreurs de sauvegarde des v9
|
||||
@ -963,7 +963,7 @@ class common {
|
||||
// Vérifier l'existence du dossier de destination.
|
||||
$fileInfo = pathinfo($dest);
|
||||
if (!is_dir($fileInfo['dirname'])) {
|
||||
mkdir($fileInfo['dirname'],0755,true);
|
||||
mkdir($fileInfo['dirname'], 0755, true);
|
||||
}
|
||||
// Type d'image
|
||||
switch( $fileInfo['extension']) {
|
||||
|
@ -623,7 +623,7 @@ if ($this->getData(['core', 'dataVersion']) < 11000) {
|
||||
$pageList = array();
|
||||
// Creation du contenu de la page
|
||||
if (!is_dir(self::DATA_DIR . self::$i18n . '/content')) {
|
||||
mkdir(self::DATA_DIR . self::$i18n . '/content');
|
||||
mkdir(self::DATA_DIR . self::$i18n . '/content', 0755);
|
||||
}
|
||||
foreach ($this->getHierarchy(null,null,null) as $parentKey=>$parentValue) {
|
||||
$pageList [] = $parentKey;
|
||||
|
@ -94,7 +94,7 @@ class addon extends common {
|
||||
$zip = new ZipArchive();
|
||||
if ($zip->open($moduleName) === TRUE) {
|
||||
$notification = 'Archive ouverte';
|
||||
mkdir (self::TEMP_DIR . $tempFolder);
|
||||
mkdir (self::TEMP_DIR . $tempFolder, 0755);
|
||||
$zip->extractTo(self::TEMP_DIR . $tempFolder );
|
||||
// Archive de module ?
|
||||
$success = false;
|
||||
@ -253,7 +253,7 @@ class addon extends common {
|
||||
$moduleFile = $d[count($d)-1];
|
||||
// Créer le dossier modules
|
||||
if (!is_dir(self::FILE_DIR . 'source/modules')) {
|
||||
mkdir (self::FILE_DIR . 'source/modules');
|
||||
mkdir (self::FILE_DIR . 'source/modules', 0755);
|
||||
}
|
||||
// Sauver les données du fichiers
|
||||
file_put_contents(self::FILE_DIR . 'source/modules/' . $moduleFile, $moduleData);
|
||||
@ -422,7 +422,7 @@ class addon extends common {
|
||||
$tmpFolder = self::TEMP_DIR . uniqid();
|
||||
//$tmpFolder = self::TEMP_DIR . 'test';
|
||||
if (!is_dir($tmpFolder)) {
|
||||
mkdir($tmpFolder);
|
||||
mkdir($tmpFolder, 0755);
|
||||
}
|
||||
// Clés moduleIds dans les pages
|
||||
$inPages = helper::arrayCollumn($this->getData(['page']),'moduleId', 'SORT_DESC');
|
||||
@ -446,15 +446,15 @@ class addon extends common {
|
||||
}
|
||||
// Créer le dossier temporaire si inexistant sinon le nettoie et le créer
|
||||
if (!is_dir($tmpFolder . '/' . $lang)) {
|
||||
mkdir ($tmpFolder . '/' . $lang, 0777, true);
|
||||
mkdir ($tmpFolder . '/' . $lang, 0755, true);
|
||||
} else {
|
||||
$this->removeDir($tmpFolder . '/' . $lang);
|
||||
mkdir ($tmpFolder . '/' . $lang, 0777, true);
|
||||
mkdir ($tmpFolder . '/' . $lang, 0755, true);
|
||||
}
|
||||
// Créer le dossier temporaire des données du module
|
||||
if ($infoModules[$this->getUrl(2)]['dataDirectory']) {
|
||||
if (!is_dir($tmpFolder . '/' . $moduleDir)) {
|
||||
mkdir ($tmpFolder . '/' . $moduleDir, 0777, true) ;
|
||||
mkdir ($tmpFolder . '/' . $moduleDir, 0755, true) ;
|
||||
}
|
||||
}
|
||||
// Sauvegarde si données non vides
|
||||
@ -471,7 +471,7 @@ class addon extends common {
|
||||
// Enregistrement des pages dans le dossier de langue identique à module
|
||||
if (!file_exists($tmpFolder . '/' . $lang . '/page.json')) {
|
||||
file_put_contents($tmpFolder . '/' . $lang . '/page.json', json_encode($pageParam));
|
||||
mkdir ($tmpFolder . '/' . $lang . '/content');
|
||||
mkdir ($tmpFolder . '/' . $lang . '/content', 0755);
|
||||
file_put_contents($tmpFolder . '/' . $lang . '/content/' . $this->getData(['page', $pageId, 'content']), $pageContent);
|
||||
}
|
||||
// création du zip
|
||||
@ -518,7 +518,7 @@ class addon extends common {
|
||||
// Récupérer le fichier et le décompacter
|
||||
$zipFilename = $this->getInput('addonImportFile', helper::FILTER_STRING_SHORT, true);
|
||||
$tempFolder = uniqid();
|
||||
mkdir (self::TEMP_DIR . $tempFolder);
|
||||
mkdir (self::TEMP_DIR . $tempFolder, 0755);
|
||||
$zip = new ZipArchive();
|
||||
if ($zip->open(self::FILE_DIR . 'source/' . $zipFilename) === TRUE) {
|
||||
$zip->extractTo(self::TEMP_DIR . $tempFolder );
|
||||
|
@ -209,7 +209,7 @@ class config extends common {
|
||||
$fileName = helper::autoBackup(self::TEMP_DIR,$filter);
|
||||
// Créer le répertoire manquant
|
||||
if (!is_dir(self::FILE_DIR.'source/backup')) {
|
||||
mkdir(self::FILE_DIR.'source/backup');
|
||||
mkdir(self::FILE_DIR.'source/backup', 0755);
|
||||
}
|
||||
// Copie dans les fichiers
|
||||
$success = copy (self::TEMP_DIR . $fileName , self::FILE_DIR.'source/backup/' . $fileName);
|
||||
@ -761,7 +761,7 @@ class config extends common {
|
||||
public function copyBackups() {
|
||||
// Créer le répertoire manquant
|
||||
if (!is_dir(self::FILE_DIR.'source/backup')) {
|
||||
mkdir(self::FILE_DIR.'source/backup');
|
||||
mkdir(self::FILE_DIR.'source/backup', 0755);
|
||||
}
|
||||
$this->copyDir(self::BACKUP_DIR, self::FILE_DIR . 'source/backup' );
|
||||
// Valeurs en sortie
|
||||
|
@ -52,7 +52,7 @@ class init extends common {
|
||||
]
|
||||
],
|
||||
'core' => [
|
||||
'dataVersion' => 10602,
|
||||
'dataVersion' => 11000,
|
||||
'lastBackup' => 0,
|
||||
'lastClearTmp' => 0,
|
||||
'lastAutoUpdate' => 0,
|
||||
|
@ -153,7 +153,7 @@ class page extends common {
|
||||
]);
|
||||
// Creation du contenu de la page
|
||||
if (!is_dir(self::DATA_DIR . self::$i18n . '/content')) {
|
||||
mkdir(self::DATA_DIR . self::$i18n . '/content');
|
||||
mkdir(self::DATA_DIR . self::$i18n . '/content', 0755);
|
||||
}
|
||||
//file_put_contents(self::DATA_DIR . self::$i18n . '/content/' . $pageId . '.html', '<p>Contenu de votre nouvelle page.</p>');
|
||||
$this->setPage($pageId, '<p>Contenu de votre nouvelle page.</p>', self::$i18n);
|
||||
@ -338,7 +338,7 @@ class page extends common {
|
||||
$modulesData = helper::getModules();
|
||||
if (is_dir($modulesData[$moduleId]['dataDirectory']. $this->getUrl(2))) {
|
||||
// Placer la feuille de style dans un dossier au nom de la nouvelle instance
|
||||
mkdir( $modulesData[$moduleId]['dataDirectory']. $pageId );
|
||||
mkdir( $modulesData[$moduleId]['dataDirectory']. $pageId, 0755 );
|
||||
copy( $modulesData[$moduleId]['dataDirectory']. $this->getUrl(2), $modulesData[$moduleId]['dataDirectory']. $pageId);
|
||||
$this->removeDir($modulesData[$moduleId]['dataDirectory']. $this->getUrl(2));
|
||||
// Mettre à jour le nom de la feuille de style
|
||||
@ -437,7 +437,7 @@ class page extends common {
|
||||
]);
|
||||
// Creation du contenu de la page
|
||||
if (!is_dir(self::DATA_DIR . self::$i18n . '/content')) {
|
||||
mkdir(self::DATA_DIR . self::$i18n . '/content');
|
||||
mkdir(self::DATA_DIR . self::$i18n . '/content', 0755);
|
||||
}
|
||||
$content = empty($this->getInput('pageEditContent', null)) ? '<p></p>' : str_replace('<p></p>', '<p> </p>', $this->getInput('pageEditContent', null));
|
||||
//file_put_contents( self::DATA_DIR . self::$i18n . '/content/' . $pageId . '.html' , $content );
|
||||
|
@ -636,7 +636,7 @@ class theme extends common {
|
||||
$tempFolder = uniqid();
|
||||
$zip = new ZipArchive();
|
||||
if ($zip->open(self::FILE_DIR.'source/'.$zipFilename) === TRUE) {
|
||||
mkdir (self::TEMP_DIR . $tempFolder);
|
||||
mkdir (self::TEMP_DIR . $tempFolder, 0755);
|
||||
$zip->extractTo(self::TEMP_DIR . $tempFolder );
|
||||
$modele = '';
|
||||
// Archive de thème ?
|
||||
@ -717,7 +717,7 @@ class theme extends common {
|
||||
$zipFilename = $this->zipTheme($this->getUrl(2));
|
||||
// Téléchargement du ZIP
|
||||
if (!is_dir(self::FILE_DIR.'source/theme')) {
|
||||
mkdir(self::FILE_DIR.'source/theme');
|
||||
mkdir(self::FILE_DIR.'source/theme', 0755);
|
||||
}
|
||||
copy (self::TEMP_DIR . $zipFilename , self::FILE_DIR.'source/theme/' . $zipFilename);
|
||||
// Nettoyage du dossier
|
||||
|
@ -45,7 +45,7 @@ class translate extends common {
|
||||
if ($copyFrom !== $toCreate) {
|
||||
// Création du dossier
|
||||
if (is_dir(self::DATA_DIR . $toCreate) === false ) { // Si le dossier est déjà créé
|
||||
$success = mkdir (self::DATA_DIR . $toCreate);
|
||||
$success = mkdir (self::DATA_DIR . $toCreate, 0755);
|
||||
} else {
|
||||
$success = true;
|
||||
}
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
class form extends common {
|
||||
|
||||
const VERSION = '2.10';
|
||||
const VERSION = '2.11';
|
||||
const REALNAME = 'Formulaire';
|
||||
const DELETE = true;
|
||||
const UPDATE = '0.0';
|
||||
@ -202,7 +202,7 @@ class form extends common {
|
||||
if ($data !== []) {
|
||||
$csvfilename = 'data-'.date('dmY').'-'.date('hm').'-'.rand(10,99).'.csv';
|
||||
if (!file_exists(self::FILE_DIR.'source/data')) {
|
||||
mkdir(self::FILE_DIR.'source/data');
|
||||
mkdir(self::FILE_DIR.'source/data', 0755);
|
||||
}
|
||||
$fp = fopen(self::FILE_DIR.'source/data/'.$csvfilename, 'w');
|
||||
fputcsv($fp, array_keys($data[1]), ';','"');
|
||||
|
@ -17,7 +17,7 @@
|
||||
class gallery extends common {
|
||||
|
||||
|
||||
const VERSION = '3.2';
|
||||
const VERSION = '3.3';
|
||||
const REALNAME = 'Galerie';
|
||||
const DELETE = true;
|
||||
const UPDATE = '0.0';
|
||||
@ -149,9 +149,36 @@ class gallery extends common {
|
||||
*/
|
||||
private function update() {
|
||||
|
||||
// Mise à jour d'une version inférieure, la gallery existe mais pas content
|
||||
|
||||
// Initialisation du module, créer les données si elles sont manquantes.
|
||||
$this->init();
|
||||
|
||||
$versionData = $this->getData(['module',$this->getUrl(0),'config', 'versionData' ]);
|
||||
// Mise à jour 3.1
|
||||
if (version_compare($versionData, '3.1', '<') ) {
|
||||
if (is_dir(self::DATADIRECTORY . 'pages/')) {
|
||||
// Déplacer les données du dossier Pages
|
||||
$this->copyDir(self::DATADIRECTORY . 'pages/' . $this->getUrl(0), self::DATADIRECTORY . $this->getUrl(0));
|
||||
$this->removeDir(self::DATADIRECTORY . 'pages/');
|
||||
$style = $this->getData(['module', $this->getUrl(0), 'theme', 'style']);
|
||||
$this->setData(['module', $this->getUrl(0), 'theme', 'style', str_replace('pages/', '', $style)]);
|
||||
}
|
||||
// Mettre à jour la version
|
||||
$this->setData(['module',$this->getUrl(0),'config', 'versionData', '3.1' ]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialisation séparée des éléments absents
|
||||
* Thème
|
||||
* Config
|
||||
* Content
|
||||
*/
|
||||
private function init() {
|
||||
|
||||
// Mise à jour d'une version inférieure, la gallery existe mais pas la variable content
|
||||
if ($this->getData(['module', $this->getUrl(0)]) &&
|
||||
$this->getData(['module', $this->getUrl(0), 'content']) === NULL ) {
|
||||
$this->getData(['module', $this->getUrl(0), 'content']) === NULL ) {
|
||||
|
||||
// Changement de l'arborescence dans module.json
|
||||
$data = $this->getData(['module', $this->getUrl(0)]);
|
||||
@ -173,52 +200,24 @@ class gallery extends common {
|
||||
// Nom de la feuille de style
|
||||
$this->setData(['module', $this->getUrl(0), 'theme', 'style', self::DATADIRECTORY . $this->getUrl(0) . '/theme.css']);
|
||||
}
|
||||
// Nouvelle version
|
||||
$this->setData(['module', $this->getUrl(0), 'config', 'versionData', '3.0']);
|
||||
}
|
||||
|
||||
$versionData = $this->getData(['module',$this->getUrl(0),'config', 'versionData' ]);
|
||||
|
||||
// le module n'est pas initialisé
|
||||
if ($versionData === NULL) {
|
||||
$this->init();
|
||||
}
|
||||
|
||||
// Mise à jour 3.1
|
||||
if (version_compare($versionData, '3.1', '<') ) {
|
||||
if (is_dir(self::DATADIRECTORY . 'pages/')) {
|
||||
// Déplacer les données du dossier Pages
|
||||
$this->copyDir(self::DATADIRECTORY . 'pages/' . $this->getUrl(0), self::DATADIRECTORY . $this->getUrl(0));
|
||||
$this->removeDir(self::DATADIRECTORY . 'pages/');
|
||||
$style = $this->getData(['module', $this->getUrl(0), 'theme', 'style']);
|
||||
$this->setData(['module', $this->getUrl(0), 'theme', 'style', str_replace('pages/', '', $style)]);
|
||||
}
|
||||
// Mettre à jour la version
|
||||
$this->setData(['module',$this->getUrl(0),'config', 'versionData', '3.1' ]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialisation séparément les éléments absents
|
||||
* Thème
|
||||
* Config
|
||||
* Content
|
||||
*/
|
||||
private function init() {
|
||||
// Variable commune
|
||||
$fileCSS = self::DATADIRECTORY . $this->getUrl(0) . '/theme.css' ;
|
||||
// Check la présence du thème
|
||||
|
||||
// Check la présence des données de thème
|
||||
if ( $this->getData(['module', $this->getUrl(0), 'theme']) === null ) {
|
||||
require_once('module/gallery/ressource/defaultdata.php');
|
||||
$this->setData(['module', $this->getUrl(0), 'theme', theme::$defaultTheme]);
|
||||
// Nom de la feuille de style
|
||||
$this->setData(['module', $this->getUrl(0), 'theme', 'style', $fileCSS]);
|
||||
}
|
||||
|
||||
// Check la présence de la feuille de style
|
||||
if ( !file_exists(self::DATADIRECTORY . $this->getUrl(0) . '/theme.css')) {
|
||||
// Dossier de l'instance
|
||||
if (!is_dir(self::DATADIRECTORY . $this->getUrl(0) )) {
|
||||
mkdir (self::DATADIRECTORY . $this->getUrl(0), 0777, true);
|
||||
mkdir (self::DATADIRECTORY . $this->getUrl(0), 0755, true);
|
||||
}
|
||||
// Générer la feuille de CSS
|
||||
$content = file_get_contents('module/gallery/ressource/vartheme.css');
|
||||
@ -244,7 +243,8 @@ class gallery extends common {
|
||||
// Nom de la feuille de style
|
||||
$this->setData(['module', $this->getUrl(0), 'theme', 'style', $fileCSS]);
|
||||
}
|
||||
// Check Config
|
||||
|
||||
// Check la présence de la config
|
||||
if ( $this->getData(['module', $this->getUrl(0), 'config']) === null ) {
|
||||
require_once('module/gallery/ressource/defaultdata.php');
|
||||
$this->setData(['module', $this->getUrl(0), 'config', theme::$defaultData]);
|
||||
@ -743,7 +743,7 @@ class gallery extends common {
|
||||
if($this->isPost()) {
|
||||
// Dossier de l'instance
|
||||
if (!is_dir(self::DATADIRECTORY . $this->getUrl(0) )) {
|
||||
mkdir (self::DATADIRECTORY . $this->getUrl(0), 0777, true);
|
||||
mkdir (self::DATADIRECTORY . $this->getUrl(0), 0755, true);
|
||||
}
|
||||
$this->setData(['module', $this->getUrl(0), 'theme', [
|
||||
'thumbAlign' => $this->getinput('galleryThemeThumbAlign', helper::FILTER_STRING_SHORT),
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
class news extends common {
|
||||
|
||||
const VERSION = '3.5';
|
||||
const VERSION = '3.6';
|
||||
const REALNAME = 'News';
|
||||
const DELETE = true;
|
||||
const UPDATE = '0.0';
|
||||
@ -201,7 +201,7 @@ class news extends common {
|
||||
|
||||
// Dossier de l'instance
|
||||
if (!is_dir(self::DATADIRECTORY . $this->getUrl(0))) {
|
||||
mkdir (self::DATADIRECTORY . $this->getUrl(0) . '/theme.css', 0777, true);
|
||||
mkdir (self::DATADIRECTORY . $this->getUrl(0) . '/theme.css', 0755, true);
|
||||
}
|
||||
|
||||
$success = file_put_contents(self::DATADIRECTORY . $this->getUrl(0) . '/theme.css', $style );
|
||||
@ -553,7 +553,7 @@ class news extends common {
|
||||
|
||||
// Dossier de l'instance
|
||||
if (!is_dir(self::DATADIRECTORY . $this->getUrl(0) )) {
|
||||
mkdir (self::DATADIRECTORY . $this->getUrl(0) , 0777, true);
|
||||
mkdir (self::DATADIRECTORY . $this->getUrl(0), 0755, true);
|
||||
}
|
||||
|
||||
// Check la présence de la feuille de style
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
class search extends common {
|
||||
|
||||
const VERSION = '2.3';
|
||||
const VERSION = '2.4';
|
||||
const REALNAME = 'Recherche';
|
||||
const DELETE = true;
|
||||
const UPDATE = '0.0';
|
||||
@ -93,7 +93,7 @@ class search extends common {
|
||||
|
||||
// Dossier de l'instance
|
||||
if (!is_dir(self::DATADIRECTORY . $this->getUrl(0))) {
|
||||
mkdir (self::DATADIRECTORY . $this->getUrl(0), 0777, true);
|
||||
mkdir (self::DATADIRECTORY . $this->getUrl(0), 0755, true);
|
||||
}
|
||||
|
||||
// Check la présence de la feuille de style
|
||||
|
Loading…
Reference in New Issue
Block a user