engine ok
This commit is contained in:
parent
617351290d
commit
b6023ede0f
106
core/core.php
106
core/core.php
@ -156,6 +156,21 @@ class common {
|
|||||||
private $page = [];
|
private $page = [];
|
||||||
private $module = [];
|
private $module = [];
|
||||||
|
|
||||||
|
// Descripteur de données Entrées / Sorties
|
||||||
|
// Liste ici tous les fichiers de données
|
||||||
|
private $dataFiles = [
|
||||||
|
'page' => '',
|
||||||
|
'module' => '',
|
||||||
|
'core' => '',
|
||||||
|
'config' => '',
|
||||||
|
'page' => '',
|
||||||
|
'user' => '',
|
||||||
|
'theme' => '',
|
||||||
|
'admin' => '',
|
||||||
|
'blacklist' => ''
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructeur commun
|
* Constructeur commun
|
||||||
@ -169,11 +184,16 @@ class common {
|
|||||||
$this->input['_COOKIE'] = $_COOKIE;
|
$this->input['_COOKIE'] = $_COOKIE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mise en cache des pages et des modules
|
// Instanciation de la classe des entrées / sorties
|
||||||
$this->page = $this->getCache('page');
|
// Récupére les descripteurs
|
||||||
$this->module = $this->getCache('module');
|
foreach ($this->dataFiles as $keys => $value) {
|
||||||
$this->config = $this->getCache('config');
|
// Constructeur JsonDB
|
||||||
$this->core = $this->getCache('core');
|
$this->dataFiles[$keys] = new \Prowebcraft\JsonDb([
|
||||||
|
'name' => $keys . '.json',
|
||||||
|
'dir' => $this->dirData ($keys,'fr')
|
||||||
|
]);;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Import version 9
|
// Import version 9
|
||||||
if (file_exists(self::DATA_DIR . 'core.json') === true &&
|
if (file_exists(self::DATA_DIR . 'core.json') === true &&
|
||||||
@ -328,13 +348,9 @@ 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) {
|
||||||
//Retourne une chaine contenant le dossier à créer
|
// Descripteur
|
||||||
$folder = $this->dirData ($keys[0],'fr');
|
$db = $this->dataFiles[$keys[0]];
|
||||||
// Constructeur JsonDB
|
// Aiguillage
|
||||||
$db = new \Prowebcraft\JsonDb([
|
|
||||||
'name' => $keys[0] . '.json',
|
|
||||||
'dir' => $folder
|
|
||||||
]);
|
|
||||||
switch(count($keys)) {
|
switch(count($keys)) {
|
||||||
case 1:
|
case 1:
|
||||||
$db->delete($keys[0]);
|
$db->delete($keys[0]);
|
||||||
@ -375,41 +391,10 @@ class common {
|
|||||||
public function getData($keys = []) {
|
public function getData($keys = []) {
|
||||||
|
|
||||||
if (count($keys) >= 1) {
|
if (count($keys) >= 1) {
|
||||||
|
|
||||||
/**
|
|
||||||
* Lecture dans le cache, page et module
|
|
||||||
*/
|
|
||||||
if ($keys[0] === 'page' ||
|
|
||||||
$keys[0] === 'module' ||
|
|
||||||
$keys[0] === 'core' ||
|
|
||||||
$keys[0] === 'config' ||
|
|
||||||
$keys[0] === 'page') {
|
|
||||||
// Décent dans les niveaux de la variable $data
|
|
||||||
$data = array_merge ($this->page , $this->module, $this->user, $this->config, $this->core);
|
|
||||||
foreach($keys as $key) {
|
|
||||||
// Si aucune donnée n'existe retourne null
|
|
||||||
if(isset($data[$key]) === false) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
// Sinon descend dans les niveaux
|
|
||||||
else {
|
|
||||||
$data = $data[$key];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Retourne les données
|
|
||||||
return $data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Lecture directe
|
* Lecture directe
|
||||||
*/
|
*/
|
||||||
//Retourne une chaine contenant le dossier à créer
|
$db = $this->dataFiles[$keys[0]];
|
||||||
$folder = $this->dirData ($keys[0],'fr');
|
|
||||||
// Constructeur JsonDB
|
|
||||||
$db = new \Prowebcraft\JsonDb([
|
|
||||||
'name' => $keys[0] . '.json',
|
|
||||||
'dir' => $folder
|
|
||||||
]);
|
|
||||||
switch(count($keys)) {
|
switch(count($keys)) {
|
||||||
case 1:
|
case 1:
|
||||||
$tempData = $db->get($keys[0]);
|
$tempData = $db->get($keys[0]);
|
||||||
@ -437,22 +422,6 @@ class common {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Lecture des fichiers de données de page et mise ne cache
|
|
||||||
* @param @return string données des pages
|
|
||||||
*/
|
|
||||||
public function getCache($data) {
|
|
||||||
$folder = $this->dirData ($data,'fr');
|
|
||||||
// Constructeur JsonDB
|
|
||||||
$db = new \Prowebcraft\JsonDb([
|
|
||||||
'name' => $data . '.json',
|
|
||||||
'dir' => $folder
|
|
||||||
]);
|
|
||||||
$tempData = $db->get($data);
|
|
||||||
return [$data => $tempData];
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Dummy function
|
* Dummy function
|
||||||
* Compatibilité des modules avec v8 et v9
|
* Compatibilité des modules avec v8 et v9
|
||||||
@ -967,14 +936,10 @@ class common {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Retourne une chaine contenant le dossier à créer
|
// Descripteur
|
||||||
$folder = $this->dirData ($keys[0],'fr');
|
$db = $this->dataFiles[$keys[0]];
|
||||||
// Constructeur JsonDB
|
|
||||||
$db = new \Prowebcraft\JsonDb([
|
|
||||||
'name' => $keys[0] . '.json',
|
|
||||||
'dir' => $folder
|
|
||||||
]);
|
|
||||||
|
|
||||||
|
// Aiguillage
|
||||||
switch(count($keys)) {
|
switch(count($keys)) {
|
||||||
case 2:
|
case 2:
|
||||||
$db->set($keys[0],$keys[1]);
|
$db->set($keys[0],$keys[1]);
|
||||||
@ -1019,12 +984,7 @@ class common {
|
|||||||
if (!file_exists(self::DATA_DIR . '/' . $lang)) {
|
if (!file_exists(self::DATA_DIR . '/' . $lang)) {
|
||||||
mkdir (self::DATA_DIR . '/' . $lang);
|
mkdir (self::DATA_DIR . '/' . $lang);
|
||||||
}
|
}
|
||||||
$folder = $this->dirData ($module,$lang);
|
$db = $this->dataFiles[$module];
|
||||||
// Constructeur JsonDB
|
|
||||||
$db = new \Prowebcraft\JsonDb([
|
|
||||||
'name' => $module . '.json',
|
|
||||||
'dir' => $folder
|
|
||||||
]);
|
|
||||||
if ($sampleSite === true) {
|
if ($sampleSite === true) {
|
||||||
$db->set($module,init::$siteData[$module]);
|
$db->set($module,init::$siteData[$module]);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user