Changeset 29563 in spip-zone for _squelettes_/median


Ignore:
Timestamp:
Jul 1, 2009, 8:42:17 PM (10 years ago)
Author:
cy_altern@…
Message:

intégration des fonction de gestion des doublons de _renato_ & marcimat

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/median/squelette_median_fonctions.php

    r29322 r29563  
    3131  // faire un implode sur un array
    3232    function imploser($tab, $sep) {
    33         echo '<br>tab= ';
    34         var_dump($tab);
    35         echo '<br>sep= '.$sep;
    36         if ($tab) return implode($sep, $tab);
     33        if ($tab AND is_array($tab)) return implode($sep, $tab);
    3734    }
    3835   
     
    4138        return str_replace('#', '', $txt);
    4239    }
     40
     41   
     42/* balises pour doublons entre #inclure (idee _renato_)
     43 *  code de Matthieu Marcillaud (squelette multiflex3)
     44 *
     45 *  Gestion des doublons entre #inclure
     46 *
     47 *  B.html , C.html :
     48 *  --------------
     49 *  #LOAD_DOUBLONS
     50 *  <BOUCLE />
     51 *  #SAVE DOUBLONS
     52 *
     53 *
     54 *  A.html :
     55 *  --------------
     56 *  [(#INCLURE{B}{_unique = #HASH_DOUBLONS})]
     57 *  [(#INCLURE{B}{_unique = #HASH_DOUBLONS})]
     58 *  [(#INCLURE{C}{_unique = #HASH_DOUBLONS})]
     59 *
     60 *
     61 *
     62 *  Un peu plus complexe (plusieurs valeurs de doublons)
     63 *
     64 *  B.html, C.html :
     65 *  ----------------
     66 *  [(#SET{doublons, [(#ENV{_doublons}|sinon{#DOUBLON_ALEA})]})]
     67 *  #LOAD_DOUBLONS
     68 *  <BOUCLE(){doublons = #GET{doublons}} />
     69 *  #SAVE DOUBLONS
     70 *
     71 *  A.html :
     72 *  ----------------
     73 *  [(#INCLURE{B}{_unique = #HASH_DOUBLONS})]
     74 *  [(#INCLURE{B}{_unique = #HASH_DOUBLONS})] // affiche la même chose car doublon aleatoire
     75 *
     76 *  [(#INCLURE{B}{_unique = #HASH_DOUBLONS}{_doublons = toto})]
     77 *  [(#INCLURE{B}{_unique = #HASH_DOUBLONS}{_doublons = toto})] // suite
     78 *  [(#INCLURE{B}{_unique = #HASH_DOUBLONS}{_doublons = plouf})]
     79 *
     80 *  [(#INCLURE{C}{_unique = #HASH_DOUBLONS}{_doublons = plouf})]  // suite de plouf
     81 *
     82 */
     83
     84
     85/*
     86 * Sauvegarde la table des doublons dans une globale.
     87 */
     88if (!function_exists('balise_SAVE_DOUBLONS')){
     89        function balise_SAVE_DOUBLONS($p) {
     90          $p->code = "vide(\$GLOBALS['recherche_doublons'] = \$doublons)";
     91
     92          return $p;
     93        }
     94}
     95
     96/*
     97 * Restaure la globale dans la table des doublons.
     98 */
     99if (!function_exists('balise_LOAD_DOUBLONS')){
     100        function balise_LOAD_DOUBLONS($p) {
     101          if(!isset($GLOBALS['recherche_doublons'])) $GLOBALS['recherche_doublons'] = array();
     102          $p->code = "vide(\$doublons = \$GLOBALS['recherche_doublons'])";
     103
     104          return $p;
     105        }
     106}
     107
     108
     109/*
     110 * Genere un id unique pour le tableau de doublons
     111 */
     112if (!function_exists('balise_HASH_DOUBLONS')){
     113        function balise_HASH_DOUBLONS($p) {
     114          #$p->code = "md5(serialize(\$GLOBALS['recherche_doublons'])) . vide(spip_log('#GET_DOUBLONS : ' . serialize(\$GLOBALS['recherche_doublons']) , 'spip_doublons'))";
     115          $p->code = "md5(serialize(\$GLOBALS['recherche_doublons']))";
     116
     117          return $p;
     118        }
     119}
     120
     121
     122/*
     123 * Genere un id unique pour un doublon
     124 */
     125if (!function_exists('balise_DOUBLON_ALEA')){
     126        function balise_DOUBLON_ALEA($p) {
     127          $p->code = "calculer_balise_DOUBLON_ALEA()";
     128          return $p;
     129        }
     130}
     131if (!function_exists('calculer_balise_DOUBLON_ALEA')){
     132        function calculer_balise_DOUBLON_ALEA(){
     133          return substr(rand().rand(),0,8);
     134        }
     135}
     136
    43137   
    44138?>
Note: See TracChangeset for help on using the changeset viewer.