source: spip-zone/_squelettes_/median/median_fonctions.php @ 114395

Last change on this file since 114395 was 114395, checked in by cy.altern@…, 7 months ago

passage en SPIP 3

File size: 4.0 KB
Line 
1<?php
2// fonctions spécifiques squelette median-web
3
4  // retourne un array à partir d'une liste
5    function make_array($liste, $separ = ',') {
6        return explode($separ, $liste);
7    }
8   
9  // divise par
10    function pourcentage($diviseur) {
11        return floor(100 / $diviseur);
12    }
13   
14  // calcule le restant nécessaire pour arriver pile à 100% dans la barre de nav $pourcentage est le % arrondi utilisé par chaque item, $nb_elems est le nb d'items - 1
15    function restant_pourcentage($pourcentage, $nb_elems) {
16//echo '%: '.$pourcentage.' nb: '.$nb_elems.' res: '.(100 - ($pourcentage * $nb_elems));
17        return (99 - ($pourcentage * $nb_elems));
18    }
19   
20  // retourne le résultat arrondi sans virgule d'une division
21    function divise_arrondi($a_diviser, $diviseur) {
22        return floor($a_diviser / $diviseur);
23    }
24
25  // trie un array par ordre alphabétique de ses éléments
26    function trier_alphabetique($tab) {
27        asort($tab);
28        return $tab;
29    }
30
31  // faire un implode sur un array
32    function imploser($tab, $sep) {
33        if ($tab AND is_array($tab)) return implode($sep, $tab);
34    }
35   
36  // supprimer le # dans une chaîne (cf couleurs our image_typo
37    function suprime_diese($txt) {
38        return str_replace('#', '', $txt);
39    }
40   
41  // faire la redirection par en-tete vers url
42    function redirige_page($url){
43        include_spip('inc/headers');
44        redirige_par_entete($url);
45    }
46   
47/* balises pour doublons entre #inclure (idee _renato_)
48 *  code de Matthieu Marcillaud (squelette multiflex3)
49 *
50 *  Gestion des doublons entre #inclure
51 *
52 *  B.html , C.html :
53 *  --------------
54 *  #LOAD_DOUBLONS
55 *  <BOUCLE />
56 *  #SAVE DOUBLONS
57 *
58 *
59 *  A.html :
60 *  --------------
61 *  [(#INCLURE{B}{_unique = #HASH_DOUBLONS})]
62 *  [(#INCLURE{B}{_unique = #HASH_DOUBLONS})]
63 *  [(#INCLURE{C}{_unique = #HASH_DOUBLONS})]
64 *
65 *
66 *
67 *  Un peu plus complexe (plusieurs valeurs de doublons)
68 *
69 *  B.html, C.html :
70 *  ----------------
71 *  [(#SET{doublons, [(#ENV{_doublons}|sinon{#DOUBLON_ALEA})]})]
72 *  #LOAD_DOUBLONS
73 *  <BOUCLE(){doublons = #GET{doublons}} />
74 *  #SAVE DOUBLONS
75 *
76 *  A.html :
77 *  ----------------
78 *  [(#INCLURE{B}{_unique = #HASH_DOUBLONS})]
79 *  [(#INCLURE{B}{_unique = #HASH_DOUBLONS})] // affiche la même chose car doublon aleatoire
80 *
81 *  [(#INCLURE{B}{_unique = #HASH_DOUBLONS}{_doublons = toto})]
82 *  [(#INCLURE{B}{_unique = #HASH_DOUBLONS}{_doublons = toto})] // suite
83 *  [(#INCLURE{B}{_unique = #HASH_DOUBLONS}{_doublons = plouf})]
84 *
85 *  [(#INCLURE{C}{_unique = #HASH_DOUBLONS}{_doublons = plouf})]  // suite de plouf
86 *
87 */
88
89
90/*
91 * Sauvegarde la table des doublons dans une globale.
92 */
93if (!function_exists('balise_SAVE_DOUBLONS')){
94        function balise_SAVE_DOUBLONS($p) {
95          $p->code = "vide(\$GLOBALS['recherche_doublons'] = \$doublons)";
96
97          return $p; 
98        }
99}
100
101/*
102 * Restaure la globale dans la table des doublons.
103 */
104if (!function_exists('balise_LOAD_DOUBLONS')){
105        function balise_LOAD_DOUBLONS($p) {
106          if(!isset($GLOBALS['recherche_doublons'])) $GLOBALS['recherche_doublons'] = array();
107          $p->code = "vide(\$doublons = \$GLOBALS['recherche_doublons'])";
108
109          return $p; 
110        }
111}
112
113
114/*
115 * Genere un id unique pour le tableau de doublons
116 */ 
117if (!function_exists('balise_HASH_DOUBLONS')){
118        function balise_HASH_DOUBLONS($p) {
119          #$p->code = "md5(serialize(\$GLOBALS['recherche_doublons'])) . vide(spip_log('#GET_DOUBLONS : ' . serialize(\$GLOBALS['recherche_doublons']) , 'spip_doublons'))";
120          $p->code = "md5(serialize(\$GLOBALS['recherche_doublons']))";
121
122          return $p; 
123        }
124}
125
126
127/*
128 * Genere un id unique pour un doublon
129 */ 
130if (!function_exists('balise_DOUBLON_ALEA')){
131        function balise_DOUBLON_ALEA($p) {
132          $p->code = "calculer_balise_DOUBLON_ALEA()";
133          return $p; 
134        }
135}
136if (!function_exists('calculer_balise_DOUBLON_ALEA')){
137        function calculer_balise_DOUBLON_ALEA(){
138          return substr(rand().rand(),0,8);
139        }
140}
141
142   
143?>
Note: See TracBrowser for help on using the repository browser.