Browse Source

Renommage des caches, phpdoc.

svn/attic/tags/v010/106508
eric@smellup.net 5 years ago
parent
commit
1d60bf3a15
  1. 16
      inc/ncore_cache.php
  2. 16
      inc/ncore_noisette.php
  3. 2
      inc/ncore_type_noisette.php
  4. 31
      ncore/ncore.php

16
inc/ncore_cache.php

@ -2,7 +2,7 @@
/**
* Ce fichier contient les fonctions de gestion des caches utilisés par N-Core.
*
* @package SPIP\NCORE\CACHE
* @package SPIP\NCORE\API\CACHE
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
@ -16,41 +16,41 @@ if (!defined('_NCORE_DIRCACHE')) {
*/
define('_NCORE_DIRCACHE', _DIR_CACHE . 'ncore/');
}
if (!defined('_NCORE_NOMCACHE_NOISETTE_SIGNATURE')) {
if (!defined('_NCORE_NOMCACHE_TYPE_NOISETTE_SIGNATURE')) {
/**
* Cache des signatures des fichiers YAML de noisettes.
* Contient le tableau sérialisé `[noisette] = signature`.
*/
define('_NCORE_NOMCACHE_NOISETTE_SIGNATURE', 'noisettes_signature.php');
define('_NCORE_NOMCACHE_TYPE_NOISETTE_SIGNATURE', 'type_noisette_signatures.php');
}
if (!defined('_NCORE_NOMCACHE_NOISETTE_DESCRIPTION')) {
if (!defined('_NCORE_NOMCACHE_TYPE_NOISETTE_DESCRIPTION')) {
/**
* Cache des descriptions de noisettes issues des fichiers YAML.
* Contient le tableau sérialisé `[noisette] = tableau de la description complète`.
* Chaque description contient aussi l'identifiant de la noisette déjà utilisé en index et la signature.
*/
define('_NCORE_NOMCACHE_NOISETTE_DESCRIPTION', 'noisettes_description.php');
define('_NCORE_NOMCACHE_TYPE_NOISETTE_DESCRIPTION', 'type_noisette_descriptions.php');
}
if (!defined('_NCORE_NOMCACHE_NOISETTE_AJAX')) {
/**
* Cache du paramétrage ajax des noisettes.
* Contient le tableau sérialisé `[noisette] = true/false`.
*/
define('_NCORE_NOMCACHE_NOISETTE_AJAX', 'noisettes_ajax.php');
define('_NCORE_NOMCACHE_NOISETTE_AJAX', 'noisette_ajax.php');
}
if (!defined('_NCORE_NOMCACHE_NOISETTE_INCLUSION')) {
/**
* Cache du paramétrage d'inclusion dynamique des noisettes.
* Contient le tableau sérialisé `[noisette] = true/false`.
*/
define('_NCORE_NOMCACHE_NOISETTE_INCLUSION', 'noisettes_inclusion.php');
define('_NCORE_NOMCACHE_NOISETTE_INCLUSION', 'noisette_inclusions.php');
}
if (!defined('_NCORE_NOMCACHE_NOISETTE_CONTEXTE')) {
/**
* Cache des contextes de noisettes issues des fichiers YAML.
* Contient le tableau sérialisé `[noisette] = tableau des éléments du contexte`.
*/
define('_NCORE_NOMCACHE_NOISETTE_CONTEXTE', 'noisettes_contexte.php');
define('_NCORE_NOMCACHE_NOISETTE_CONTEXTE', 'noisette_contextes.php');
}

16
inc/ncore_noisette.php

@ -3,7 +3,7 @@
* Ce fichier contient l'API N-Core de gestion des noisette, c'est-à-dire les instances paramétrées
* de types de noisette affectées à un squelette.
*
* @package SPIP\NCORE\NOISETTE
* @package SPIP\NCORE\API\NOISETTE
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
@ -13,6 +13,11 @@ if (!defined('_ECRIRE_INC_VERSION')) {
/**
* Ajoute à un squelette, à un rang donné ou en dernier rang, une noisette d'un type donné.
*
* @api
* @uses type_noisette_lire()
* @uses ncore_noisette_lister()
* @uses ncore_noisette_stocker()
*
* @param string $plugin
* Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou
* un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.
@ -53,8 +58,8 @@ function noisette_ajouter($plugin, $type_noisette, $squelette, $rang = 0, $stock
// On initialise la description de la noisette à ajouter
$description = array(
'plugin' => $plugin,
'squelette' => $squelette,
'noisette' => $type_noisette,
'squelette' => $squelette,
'rang' => intval($rang),
'parametres' => serialize($parametres),
'balise' => 'defaut',
@ -97,6 +102,13 @@ function noisette_ajouter($plugin, $type_noisette, $squelette, $rang = 0, $stock
return $noisette_ajoutee;
}
/**
* @param $plugin
* @param $identifiant
* @param string $stockage
*
* @return bool
*/
function noisette_supprimer($plugin, $identifiant, $stockage = '') {
// Initialisation du retour

2
inc/ncore_type_noisette.php

@ -2,7 +2,7 @@
/**
* Ce fichier contient l'API N-Core de gestion des types de noisette, c'est-à-dire les squelettes et leur YAML.
*
* @package SPIP\NCORE\TYPE_NOISETTE
* @package SPIP\NCORE\API\TYPE_NOISETTE
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;

31
ncore/ncore.php

@ -7,7 +7,7 @@
* Ainsi, les plugins externes peuvent, si elle leur convient, utiliser l'implémentation proposée par N-Core
* sans coder la moindre fonction.
*
* @package SPIP\NCORE\STOCKAGE
* @package SPIP\NCORE\SERVICE
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
@ -26,6 +26,8 @@ if (!defined('_ECRIRE_INC_VERSION')) {
*
* Le service N-Core stocke les descriptions dans un cache et les signatures dans un autre.
*
* @package SPIP\NCORE\SERVICE\TYPE_NOISETTE
*
* @uses cache_lire()
* @uses cache_ecrire()
*
@ -73,14 +75,14 @@ function ncore_type_noisette_stocker($plugin, $types_noisette, $recharger, $stoc
// Si le rechargement est forcé, tous les types de noisette sont nouveaux, on peut donc écraser les caches
// existants sans s'en préoccuper.
$descriptions = array_column($types_noisette['a_ajouter'], null, 'noisette');
cache_ecrire($plugin, _NCORE_NOMCACHE_NOISETTE_DESCRIPTION, $descriptions);
cache_ecrire($plugin, _NCORE_NOMCACHE_TYPE_NOISETTE_DESCRIPTION, $descriptions);
$signatures = array_column($types_noisette['a_ajouter'], 'signature', 'noisette');
cache_ecrire($plugin, _NCORE_NOMCACHE_NOISETTE_SIGNATURE, $signatures);
cache_ecrire($plugin, _NCORE_NOMCACHE_TYPE_NOISETTE_SIGNATURE, $signatures);
} else {
// On lit les cache existants et on applique les modifications.
$descriptions = cache_lire($plugin, _NCORE_NOMCACHE_NOISETTE_DESCRIPTION);
$signatures = cache_lire($plugin,_NCORE_NOMCACHE_NOISETTE_SIGNATURE);
$descriptions = cache_lire($plugin, _NCORE_NOMCACHE_TYPE_NOISETTE_DESCRIPTION);
$signatures = cache_lire($plugin,_NCORE_NOMCACHE_TYPE_NOISETTE_SIGNATURE);
// On supprime les noisettes obsolètes
if (!empty($types_noisette['a_effacer'])) {
@ -104,8 +106,8 @@ function ncore_type_noisette_stocker($plugin, $types_noisette, $recharger, $stoc
}
// On recrée les caches.
cache_ecrire($plugin, _NCORE_NOMCACHE_NOISETTE_DESCRIPTION, $descriptions);
cache_ecrire($plugin, _NCORE_NOMCACHE_NOISETTE_SIGNATURE, $signatures);
cache_ecrire($plugin, _NCORE_NOMCACHE_TYPE_NOISETTE_DESCRIPTION, $descriptions);
cache_ecrire($plugin, _NCORE_NOMCACHE_TYPE_NOISETTE_SIGNATURE, $signatures);
}
}
@ -118,6 +120,8 @@ function ncore_type_noisette_stocker($plugin, $types_noisette, $recharger, $stoc
*
* Le service N-Core lit la description du type de noisette concerné dans le cache des descriptions.
*
* @package SPIP\NCORE\SERVICE\TYPE_NOISETTE
*
* @uses cache_lire()
*
* @param string $plugin
@ -151,7 +155,7 @@ function ncore_type_noisette_decrire($plugin, $type_noisette, $stockage = '') {
// -- Lecture de toute la description du type de noisette à partir du cache.
// -- Les données sont renvoyées brutes sans traitement sur les textes ni sur les tableaux sérialisés.
include_spip('inc/ncore_cache');
$descriptions = cache_lire($plugin, _NCORE_NOMCACHE_NOISETTE_DESCRIPTION);
$descriptions = cache_lire($plugin, _NCORE_NOMCACHE_TYPE_NOISETTE_DESCRIPTION);
if (isset($descriptions[$type_noisette])) {
$description = $descriptions[$type_noisette];
}
@ -164,6 +168,8 @@ function ncore_type_noisette_decrire($plugin, $type_noisette, $stockage = '') {
* Renvoie l'information brute demandée pour l'ensemble des types de noisette utilisés par le plugin appelant
* ou toute les descriptions si aucune information n'est explicitement demandée.
*
* @package SPIP\NCORE\SERVICE\TYPE_NOISETTE
*
* @uses cache_lire()
*
* @param string $plugin
@ -198,8 +204,8 @@ function ncore_type_noisette_lister($plugin, $information = '', $stockage = '')
include_spip('inc/ncore_cache');
if ($information == 'signature') {
// Les signatures md5 sont sockées dans un fichier cache séparé de celui des descriptions de noisettes.
$types_noisettes = cache_lire($plugin, _NCORE_NOMCACHE_NOISETTE_SIGNATURE);
} elseif ($descriptions = cache_lire($plugin, _NCORE_NOMCACHE_NOISETTE_DESCRIPTION)) {
$types_noisettes = cache_lire($plugin, _NCORE_NOMCACHE_TYPE_NOISETTE_SIGNATURE);
} elseif ($descriptions = cache_lire($plugin, _NCORE_NOMCACHE_TYPE_NOISETTE_DESCRIPTION)) {
if ($information) {
// Si $information n'est pas une colonne valide array_column retournera un tableau vide.
$types_noisettes = array_column($descriptions, $information, 'noisette');
@ -218,6 +224,8 @@ function ncore_type_noisette_lister($plugin, $information = '', $stockage = '')
// -----------------------------------------------------------------------
/**
*
* @package SPIP\NCORE\SERVICE\NOISETTE
* @param $plugin
* @param $description
* @param string $stockage
@ -277,6 +285,9 @@ function ncore_noisette_stocker($plugin, $action, $description, $stockage = '')
}
/**
*
* @package SPIP\NCORE\SERVICE\NOISETTE
*
* @param $plugin
* @param string $squelette
* @param string $information

Loading…
Cancel
Save