chargement à la demande
This commit is contained in:
parent
c073109f5a
commit
071899ae2a
@ -165,7 +165,6 @@ class common {
|
|||||||
private $saveFlag = false;
|
private $saveFlag = false;
|
||||||
|
|
||||||
// Descripteur de données Entrées / Sorties
|
// Descripteur de données Entrées / Sorties
|
||||||
// Liste ici tous les fichiers de données
|
|
||||||
private $dataFiles = [
|
private $dataFiles = [
|
||||||
'admin' => '',
|
'admin' => '',
|
||||||
'blacklist' => '',
|
'blacklist' => '',
|
||||||
@ -177,7 +176,6 @@ class common {
|
|||||||
'page' => '',
|
'page' => '',
|
||||||
'theme' => '',
|
'theme' => '',
|
||||||
'user' => ''
|
'user' => ''
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
public static $fontsWebSafe = [
|
public static $fontsWebSafe = [
|
||||||
@ -272,42 +270,6 @@ class common {
|
|||||||
self::$i18n = 'fr';
|
self::$i18n = 'fr';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Instanciation de la classe des entrées / sorties
|
|
||||||
// Récupère les descripteurs
|
|
||||||
foreach ($this->dataFiles as $keys => $value) {
|
|
||||||
// Constructeur JsonDB
|
|
||||||
$this->dataFiles[$keys] = new \Prowebcraft\JsonDb([
|
|
||||||
'name' => $keys . '.json',
|
|
||||||
'dir' => $this->dataPath ($keys, self::$i18n),
|
|
||||||
'backup' => file_exists('site/data/.backup')
|
|
||||||
]);;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Import version 9
|
|
||||||
if (file_exists(self::DATA_DIR . 'core.json') === true &&
|
|
||||||
$this->getData(['core','dataVersion']) < 10000) {
|
|
||||||
$keepUsers = isset($_SESSION['KEEP_USERS']) ? $_SESSION['KEEP_USERS'] : false;
|
|
||||||
$this->importData($keepUsers);
|
|
||||||
unset ($_SESSION['KEEP_USERS']);
|
|
||||||
// Réinstaller htaccess
|
|
||||||
copy('core/module/install/ressource/.htaccess', self::DATA_DIR . '.htaccess');
|
|
||||||
common::$importNotices [] = "Importation réalisée avec succès" ;
|
|
||||||
//echo '<script>window.location.replace("' . helper::baseUrl() . $this->getData(['config','homePageId']) . '")</script>';
|
|
||||||
}
|
|
||||||
|
|
||||||
// Installation fraîche, initialisation des modules manquants
|
|
||||||
// La langue d'installation par défaut est fr
|
|
||||||
foreach ($this->dataFiles as $stageId => $item) {
|
|
||||||
$folder = $this->dataPath ($stageId, self::$i18n);
|
|
||||||
if ( file_exists($folder . $stageId .'.json') === false ||
|
|
||||||
$this->getData([$stageId]) === NULL
|
|
||||||
) {
|
|
||||||
$this->initData($stageId, self::$i18n);
|
|
||||||
common::$coreNotices [] = $stageId ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Utilisateur connecté
|
// Utilisateur connecté
|
||||||
if($this->user === []) {
|
if($this->user === []) {
|
||||||
$this->user = $this->getData(['user', $this->getInput('ZWII_USER_ID')]);
|
$this->user = $this->getData(['user', $this->getInput('ZWII_USER_ID')]);
|
||||||
@ -470,6 +432,10 @@ class common {
|
|||||||
* @param array $keys Clé(s) des données
|
* @param array $keys Clé(s) des données
|
||||||
*/
|
*/
|
||||||
public function deleteData($keys) {
|
public function deleteData($keys) {
|
||||||
|
|
||||||
|
// Récupère le descripteur dans le tableau dataFiles si absent
|
||||||
|
$this->connectData($keys[0]);
|
||||||
|
|
||||||
// Descripteur de la base
|
// Descripteur de la base
|
||||||
$db = $this->dataFiles[$keys[0]];
|
$db = $this->dataFiles[$keys[0]];
|
||||||
// Initialisation de la requête par le nom de la base
|
// Initialisation de la requête par le nom de la base
|
||||||
@ -499,6 +465,9 @@ class common {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Récupère le descripteur dans le tableau dataFiles si absent
|
||||||
|
$this->connectData($keys[0]);
|
||||||
|
|
||||||
// Initialisation du retour en cas d'erreur de descripteur
|
// Initialisation du retour en cas d'erreur de descripteur
|
||||||
$success = false;
|
$success = false;
|
||||||
// Construire la requête dans la base inf à 1 retourner toute la base
|
// Construire la requête dans la base inf à 1 retourner toute la base
|
||||||
@ -524,6 +493,9 @@ class common {
|
|||||||
*/
|
*/
|
||||||
public function getData($keys = []) {
|
public function getData($keys = []) {
|
||||||
|
|
||||||
|
// Récupère le descripteur dans le tableau dataFiles si absent
|
||||||
|
$this->connectData($keys[0]);
|
||||||
|
|
||||||
// Eviter une requete vide
|
// Eviter une requete vide
|
||||||
if (count($keys) >= 1) {
|
if (count($keys) >= 1) {
|
||||||
// descripteur de la base
|
// descripteur de la base
|
||||||
@ -812,6 +784,29 @@ class common {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private function connectData ($database) {
|
||||||
|
|
||||||
|
// Installation fraîche, initialisation des modules manquants
|
||||||
|
// La langue d'installation par défaut est fr
|
||||||
|
$folder = $this->dataPath ($database, self::$i18n);
|
||||||
|
if ( file_exists($folder . $database .'.json') === false
|
||||||
|
) {
|
||||||
|
$this->initData($database, self::$i18n);
|
||||||
|
common::$coreNotices [] = $database ;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Instanciation de la classe des entrées / sorties
|
||||||
|
// Constructeur JsonDB
|
||||||
|
if (!is_object($this->dataFiles[$database]) ) {
|
||||||
|
$this->dataFiles[$database] = new \Prowebcraft\JsonDb([
|
||||||
|
'name' => $database . '.json',
|
||||||
|
'dir' => $this->dataPath ($database, self::$i18n),
|
||||||
|
'backup' => file_exists('site/data/.backup')
|
||||||
|
]);;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Génère un fichier json avec la liste des pages
|
* Génère un fichier json avec la liste des pages
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user