forked from ZwiiCMS-Team/ZwiiCMS
Merge branch 'modules' of https://forge.chapril.org/ZwiiCMS-Team/ZwiiCMS into modules
This commit is contained in:
commit
ddb0f4f4a5
@ -3,9 +3,10 @@
|
||||
## version 10.4.02
|
||||
- Corrections :
|
||||
- Thème : aperçu du site amélioré.
|
||||
- Editeur de texte : couleur de fond parasite quand une image en arrière-plan est sélectionnée.
|
||||
- Thème : rétablissement du contrôle de l'import d'une version ancienne d'un thème.
|
||||
- Éditeur de texte : couleur de fond parasite quand une image en arrière-plan est sélectionnée.
|
||||
|
||||
## version 10.4.01
|
||||
## version 10.4.01
|
||||
Corrections :
|
||||
- Module form, erreur de syntaxe.
|
||||
- Chargement d'un thème, désactivation du contrôle des clés.
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
# ZwiiCMS 10.4.00
|
||||
# ZwiiCMS 10.4.02
|
||||
|
||||
Zwii est un CMS sans base de données (flat-file) qui permet de créer et gérer facilement un site web sans aucune connaissance en programmation.
|
||||
|
||||
|
@ -137,30 +137,51 @@ class helper {
|
||||
public static function getModules() {
|
||||
$dirs = array_diff(scandir('module'), array('..', '.'));
|
||||
foreach ($dirs as $key => $value) {
|
||||
// Lire les constantes
|
||||
$class_reflex = new \ReflectionClass($value);
|
||||
$class_constants = $class_reflex->getConstants();
|
||||
// Constante REALNAME
|
||||
if (array_key_exists('REALNAME', $class_constants)) {
|
||||
$realName = $value::REALNAME;
|
||||
} else {
|
||||
$realName = ucfirst($value);
|
||||
// Dossier non vide
|
||||
if (file_exists('module/' . $value . '/' . $value . '.php')) {
|
||||
// Lire les constantes
|
||||
$class_reflex = new \ReflectionClass($value);
|
||||
$class_constants = $class_reflex->getConstants();
|
||||
// Constante REALNAME
|
||||
if (array_key_exists('REALNAME', $class_constants)) {
|
||||
$realName = $value::REALNAME;
|
||||
} else {
|
||||
$realName = ucfirst($value);
|
||||
}
|
||||
// Constante VERSION
|
||||
if (array_key_exists('VERSION', $class_constants)) {
|
||||
$version = $value::VERSION;
|
||||
} else {
|
||||
$version = '0.0';
|
||||
}
|
||||
// Affection
|
||||
$modules [$value] = [
|
||||
'realName' => $realName,
|
||||
'version' => $version
|
||||
];
|
||||
}
|
||||
// Constante VERSION
|
||||
if (array_key_exists('VERSION', $class_constants)) {
|
||||
$version = $value::VERSION;
|
||||
} else {
|
||||
$version = '0.0';
|
||||
}
|
||||
// Affection
|
||||
$modules [$value] = [
|
||||
'realName' => $realName,
|
||||
'version' => $version
|
||||
];
|
||||
}
|
||||
return($modules);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Scanne le contenu d'un dossier et de ses sous-dossiers
|
||||
* @param string $dir Dossier à scanner
|
||||
* @return array liste de dossiers contenus dans le répertoire cible.
|
||||
*/
|
||||
public static function scanSubDir($dir) {
|
||||
$dirContent = [];
|
||||
$iterator = new DirectoryIterator($dir);
|
||||
foreach($iterator as $fileInfos) {
|
||||
if($fileInfos->isDot() === false AND $fileInfos->isDir()) {
|
||||
$dirContent[] = $dir . '/' . $fileInfos->getBasename();
|
||||
$dirContent = array_merge($dirContent, self::scanSubDir($dir . '/' . $fileInfos->getBasename()));
|
||||
}
|
||||
}
|
||||
return $dirContent;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retourne true si le protocole est en TLS
|
||||
|
@ -972,8 +972,7 @@ class common {
|
||||
$db->set($keys[0].'.'.$keys[1].'.'.$keys[2].'.'.$keys[3].'.'.$keys[4].'.'.$keys[5],$keys[6], true);
|
||||
break;
|
||||
case 8:
|
||||
$db->set($keys[0].'.'.$keys[1].'.'.$keys[2].'.'.$keys[3].'.'.$keys[4].'.'.$keys[5].'.'.$keys[6],$keys[7] );
|
||||
$db->save();
|
||||
$db->set($keys[0].'.'.$keys[1].'.'.$keys[2].'.'.$keys[3].'.'.$keys[4].'.'.$keys[5].'.'.$keys[6],$keys[7], true );
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
|
@ -604,7 +604,6 @@ class config extends common {
|
||||
*/
|
||||
public function modules() {
|
||||
|
||||
helper::getModules();
|
||||
// Préparation du tableau des modules installés
|
||||
// Liste des modules installés (répertoire de module/)
|
||||
if ($dh = opendir( 'module/' )) {
|
||||
|
@ -324,7 +324,7 @@ class gallery extends common {
|
||||
// Valeurs en sortie
|
||||
$this->addOutput([
|
||||
'display' => self::DISPLAY_JSON,
|
||||
'content' => galleriesHelper::scanDir(self::FILE_DIR.'source')
|
||||
'content' => helper::scanSubDir(self::FILE_DIR.'source')
|
||||
]);
|
||||
}
|
||||
|
||||
@ -673,24 +673,4 @@ class gallery extends common {
|
||||
]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class galleriesHelper extends helper {
|
||||
|
||||
/**
|
||||
* Scan le contenu d'un dossier et de ses sous-dossiers
|
||||
* @param string $dir Dossier à scanner
|
||||
* @return array
|
||||
*/
|
||||
public static function scanDir($dir) {
|
||||
$dirContent = [];
|
||||
$iterator = new DirectoryIterator($dir);
|
||||
foreach($iterator as $fileInfos) {
|
||||
if($fileInfos->isDot() === false AND $fileInfos->isDir()) {
|
||||
$dirContent[] = $dir . '/' . $fileInfos->getBasename();
|
||||
$dirContent = array_merge($dirContent, self::scanDir($dir . '/' . $fileInfos->getBasename()));
|
||||
}
|
||||
}
|
||||
return $dirContent;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user