Changeset 86539 in spip-zone
- Timestamp:
- Dec 8, 2014, 12:27:28 PM (5 years ago)
- Location:
- _plugins_/mailsubscribers/trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/mailsubscribers/trunk/newsletter/subscribe.php
r83507 r86539 158 158 autoriser_exception("instituer","mailsubscriber",$row['id_mailsubscriber'],false); 159 159 } 160 effacer_meta("newsletter_subscribers_count"); 160 161 161 162 return true; -
_plugins_/mailsubscribers/trunk/newsletter/subscribers.php
r69533 r86539 25 25 */ 26 26 function newsletter_subscribers_dist($listes = array(),$options = array()){ 27 static $count = null; 27 28 28 29 $select = "email,nom,listes,lang,'on' AS status,jeton"; … … 33 34 if (!$listes OR !is_array($listes)){ 34 35 $listes = array(mailsubscribers_normaliser_nom_liste()); 36 } 37 38 // si simple comptage d'une seule liste, faisons plus rapidement pour eviter les regexp sur une grosse base 39 // on en profite pour tout compter pour ne le faire qu'une fois 40 if (isset($options['count']) AND $options['count'] AND count($listes)==1){ 41 if (is_null($count) 42 AND !_request('var_mode') 43 AND isset($GLOBALS['meta']['newsletter_subscribers_count']) 44 AND $c = unserialize($GLOBALS['meta']['newsletter_subscribers_count'])) 45 $count = $c; 46 if (is_null($count)){ 47 $rows = sql_allfetsel("listes,count(id_mailsubscriber) as n","spip_mailsubscribers",$where,"listes"); 48 foreach($rows as $row){ 49 $ls = explode(",",$row["listes"]); 50 $ls = array_filter($ls); 51 $ls = array_unique($ls); 52 foreach($ls as $l){ 53 if (!isset($count[$l])) $count[$l] = 0; 54 $count[$l] += $row['n']; 55 } 56 } 57 ecrire_meta("newsletter_subscribers_count",serialize($count)); 58 } 59 $liste = reset($listes); 60 return (isset($count[$liste])?$count[$liste]:0); 35 61 } 36 62 … … 45 71 } 46 72 47 // si simple comptage 73 // si simple comptage de plusieurs listes, on arrive ici 48 74 if (isset($options['count']) AND $options['count']) 49 75 return sql_countsel("spip_mailsubscribers",$where); -
_plugins_/mailsubscribers/trunk/newsletter/unsubscribe.php
r82178 r86539 84 84 } 85 85 } 86 effacer_meta("newsletter_subscribers_count"); 86 87 87 88 return true; -
_plugins_/mailsubscribers/trunk/paquet.xml
r86498 r86539 2 2 prefix="mailsubscribers" 3 3 categorie="communication" 4 version="1.6. 7"4 version="1.6.8" 5 5 etat="stable" 6 6 compatibilite="[3.0.0;3.0.*]" -
_plugins_/mailsubscribers/trunk/prive/squelettes/navigation/mailsubscribers.html
r67911 r86539 6 6 <BOUCLE_listes(POUR){tableau #REM|mailsubscribers_listes}> 7 7 <li class="item[(#ENV{liste}|=={#CLE}|oui)on]">[(#SELF|parametre_url{liste,#CLE}|lien_ou_expose{#VALEUR{titre},#ENV{liste}|=={#CLE}})] 8 [(#SET{listes,[(^|,)(#CLE)($|,)]})] 9 <BOUCLE_cpt(MAILSUBSCRIBERS){listes==#GET{listes}}{tout} />([(#TOTAL_BOUCLE)])<//B_cpt> 8 ([(#CLE|mailsubscribers_compte_inscrits)]) 10 9 </li> 11 10 </BOUCLE_listes>
Note: See TracChangeset
for help on using the changeset viewer.