Browse Source

Petit rangement + complément de doc du signal invalideur

master
JLuc 7 months ago
parent
commit
3e93564277
  1. 14
      inc/cachelab.php
  2. 15
      inc/cachelab_utils.php

14
inc/cachelab.php

@ -236,20 +236,16 @@ function cachelab_cibler(string $action, array $conditions = array(), array $opt
if ($m_exists = $Memoization->exists($memoiz_cle)) {
$ok_del = $Memoization->del ($memoiz_cle);
}
if (!$ok_del) {
$ok_del = apcu_delete($cle); // bourrin
}
$trace = "\ncle=>$cle, \napcu_exists=>$a_exists, \nm_exists=>$m_exists,"
."\nmeta_derniere_modif=>$meta_derniere_modif, \ncreation=>{$d['creation_time']}, \nttl=>{$d['ttl']}, \nnow=>".time();
if ($ok_del) {
$stats['nb_clean']++;
}
else {
spip_log ('Echec clean pour '
."\ncle=>$cle, \napcu_exists=>$a_exists, \nm_exists=>$m_exists, "
."\nmeta_derniere_modif=>$meta_derniere_modif, \ncreation=>{$d['creation_time']}, \nttl=>{$d['ttl']}, \nnow=>".time(),
"cachelab_mystere"
);
$ok_del = apcu_delete($cle); // bourrin
spip_log("apcu_delete bourrin requis. ok_del=$ok_del $trace", 'cachelab_bourrin');
}
}
continue;
}

15
inc/cachelab_utils.php

@ -60,20 +60,21 @@ function slug_chemin($chemin, $sep = '_') {
/**
* @param string $cond signal d'invalidation
* typiquement de la forme : "id='document/1234'" ou "id='article/567'"
* typiquement de la forme : "id='document/1234'" ou "id='article/567'"
* ... mais parfois aussi de la forme "id='id_document/1234'"
* @param string $objet_attendu id_objet attendu : 'id_document' ou 'id_article'
* @param string &$objet objet effectivement signalé : 'document' ou 'article'
* @param string &$objet objet effectivement trouvé dans $cond : 'document' ou 'article' (ou 'id_document' actuellement si c'est ce qui est reçu hmmm...)
* @return int|null
*
* Fenvoie l'id_objet ciblé par le signal
* Fenvoie l'id_objet ciblé par le signal, ou null en cas d'erreur
*
* Fonction utilitaire pour les fonctions cachelab_suivre_invalideur_xxx user-squelette-définies
* Exemple :
* function cachelab_suivre_invalideur_document($cond, $modif) {
* include_spip('inc/cachelab');
* $id_doc = decoder_invalideur($cond, 'document');
* cachelab_cibler('del', array ('chemin'=>'documents', 'cle_objet'=>'id_document', 'id_objet'=>$id_doc));
* return false;
* include_spip('inc/cachelab');
* $id_doc = decoder_invalideur($cond, 'document');
* cachelab_cibler('del', array ('chemin'=>'documents', 'cle_objet'=>'id_document', 'id_objet'=>$id_doc));
* return false;
* }
*/
function decoder_invalideur($cond, $objet_attendu = '', &$objet='') {

Loading…
Cancel
Save