Changeset 49948 in spip-zone


Ignore:
Timestamp:
Jul 25, 2011, 12:57:56 AM (8 years ago)
Author:
erational@…
Message:

revert des derniers commits de guillaume:

  • il manquait un include jamais committé qui cassait tout le plugin
  • suppression cfg inutile pour intéger 2 variables
Location:
_plugins_/bannieres/bannieres_2
Files:
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/bannieres/bannieres_2/Alire.txt

    r49016 r49948  
    11Bannieres pour SPIP 2.0
    22------------------------
    3 + version 0.29
    4 ----------------
    5 - Ajout de la Balise #BANNIERES
    6 - Redimendionnement automatique des bannières suivant les informations renseigné dans le formulaire de configuration
    7 - Amélioration des performances
    83
    94+ version 0.28
    105----------------
    11 ???
     6calages
    127
    138+ version 0.27
  • _plugins_/bannieres/bannieres_2/balise/banniere.php

    r49016 r49948  
    44        include_spip('base/abstract_sql');
    55
    6 include_spip('inclure/affiche_banniere');
    76
    87// Balise independante du contexte ici
     
    109        return calculer_balise_dynamique($p, 'BANNIERE', array());
    1110}
    12 
     11 
    1312// Balise de traitement des données
    1413function balise_BANNIERE_dyn($position='1',$contexte='',$pays='') {
    15         return affiche_banniere($position='1',$contexte='',$pays='');
    16 }
    17 
     14
     15/*
     16 * geolocalisation limitée à la France -> voir plugin geographie
     17 * ToDO : tester le numero du pays
     18 * $contexte doit etre au format code postal France
     19 */
     20
     21if(!is_numeric($contexte)) {
     22        $contexte='';
     23}
     24if (defined('_DIR_PLUGIN_GEOGRAPHIE')) $geo = 'oui';
     25
     26if ($geo=='oui' and $pays=='70' and $contexte !=''){
     27
     28        // On est en 'France'
     29
     30        // On cherche d'abord si il y a une reponse avec le code postal
     31        $rayon ='local';
     32        $diffusion = $contexte;
     33
     34        $data = chercher_banniere($position , $rayon , $diffusion);
     35
     36        //      Si pas de resultats avec le code postal, on cherche ailleurs
     37        if ($data ==''){
     38               
     39                // On recupere le numero du departement à partir du début du code postal
     40                $departement = substr($contexte,0,2);
     41               
     42                // Cas des DOM TOM
     43                if($departement == '97'){
     44                $departement = substr($contexte,0,3);
     45                }
     46               
     47                //on recupere l'id_departement et l'id_region à partir de la table spip_geo_departements
     48                $champs_geo = array('id_departement', 'id_region');
     49                $where_geo = 'abbr='.sql_quote($departement);
     50                $ids=sql_fetsel($champs_geo, "spip_geo_departements", $where_geo,'','', $limit = '1');
     51                       
     52                // Le departement n'a pas été trouvé
     53                if ($ids == '') {
     54               
     55                // Que fais-ton si on n'a pas de résultats ?
     56               
     57                } else {
     58               
     59                        // On cherche si il y a quelque chose à afficher avec ce departement
     60                        $rayon = 'departement';
     61                        $diffusion = $ids['id_departement'];
     62                       
     63                        $data = chercher_banniere($position , $rayon , $diffusion);
     64                       
     65                        // Si rien dans le departement on s'attaque à la region
     66                        if ($data ==''){
     67                       
     68                                $rayon ='region';
     69                                $diffusion = $ids['id_region'];
     70       
     71                                $data = chercher_banniere($position , $rayon , $diffusion);
     72                               
     73                                // Si rien dans la region, alors on cherche au niveau national 
     74                                if ($data ==''){
     75                                        $rayon = 'pays';
     76                                        $diffusion = $pays;
     77                               
     78                                        $data = chercher_banniere($position , $rayon , $diffusion);
     79                                       
     80                                                // rien de configuré alons on affiche la banniere par defaut
     81                                                if ($data ==''){
     82                                                        $rayon = 'int';
     83                                                        $diffusion = '';
     84                                                       
     85                                                        $data = chercher_banniere($position , $rayon , $diffusion);
     86                                                       
     87                                                        }
     88                               
     89                                }
     90                        }
     91                }
     92        }
     93} else {
     94
     95
     96        // On est PAS en 'France' ou on n'a pas d'autre infos
     97        // On affiche alors une bannière générique ou 'internationale'
     98        $rayon ='int';
     99        $diffusion = '';
     100       
     101        $data = chercher_banniere($position , $rayon , $diffusion);
     102       
     103}
     104
     105if ($data) {
     106        // on recupere les données trouvées pour afficher la bonne bannière
     107        $id_objet               = 'id_banniere';
     108        $id                             = $data['id_banniere'];
     109        $alt                    = $data['alt'];
     110       
     111        return afficher_banniere($id_objet , $id , $alt);
     112
     113} else {
     114        return;
     115}
     116
     117}
     118       
     119// chercher la bonne banniere
     120function chercher_banniere($position='', $rayon ='', $diffusion ='') {
     121
     122        // Champs à récupérer
     123        // $champs = array('id_banniere', 'alt');
     124       
     125       
     126        // dans le cas du local il peut y avoir plusieurs codes postaux séparés par des virgules
     127        // dans les autres cas il n'y a qu'une valeur
     128        if ($rayon =='local'){
     129                $ou = 'diffusion LIKE "%'.$diffusion.'%"';
     130        } else {
     131                $ou = 'diffusion ='.sql_quote($diffusion);
     132        }
     133       
     134        // construction des conditions de la requette
     135        $where = array(
     136                'debut<=CURRENT_DATE()',
     137                'fin>=CURRENT_DATE()',
     138                'rayon='.sql_quote($rayon),
     139                'position='.sql_quote($position),
     140                $ou,
     141        );
     142       
     143        // On récupère les données dans la base
     144        // $data=sql_fetsel($champs, "spip_bannieres", $where,'','RAND()', $limit = '1');
     145        $data=sql_fetsel("*", "spip_bannieres", $where,'','RAND()', $limit = '1');
     146
     147return $data;
     148
     149}
     150
     151
     152//
     153// afficher le document associe a la banniere
     154//
     155function afficher_banniere($id_objet='',$id='',$alt='') {
     156
     157        // Chercher dans la base le document associe à la banniere
     158        $type = "banniere";
     159        $select = "D.id_document, D.extension, D.titre,  D.descriptif,  D.fichier, D.largeur, D.hauteur";
     160        $from = "spip_documents AS D LEFT JOIN spip_documents_liens AS L ON  L.id_document=D.id_document";
     161        $where = "L.id_objet=$id AND L.objet='$type' AND D.extension $img IN ('gif', 'jpg', 'png', 'swf')";
     162        $order = "0+D.titre, D.date";
     163
     164        $document = sql_fetsel($select, $from, $where, '','RAND()', $limit = '1');
     165        $url = sql_getfetsel ('site', 'spip_bannieres', 'id_banniere='.$id);
     166
     167  if ($document){ 
     168   
     169   
     170         
     171        // cas du flash:
     172    // on passe les donnees ds FlashVars
     173    // que le flash peut recuperer ou non               
     174        if ($document['extension'] == 'swf'){ 
     175            $url_site = rawurlencode($GLOBALS['meta']['adresse_site']);
     176        $logo_banniere =
     177            "<object type='application/x-shockwave-flash' data='"._DIR_IMG.$document['fichier']."' id='bandeau' width='".$document['largeur']."' height='".$document['hauteur']."'>
     178              <param name='movie' value='"._DIR_IMG.$document['fichier']."' />
     179              <param name='quality' value='high' />
     180              <param name='menu' value='false' />         
     181              <param name='wmode' value='transparent' />
     182              <param name='FlashVars' value='url_site=$url_site&amp;action=visit_url&amp;banniere=$id&amp;url=".rawurlencode($url)."' />
     183            </object>";   
     184 
     185        } else {   
     186           //Todo : s'assurer que c'est une image
     187      $logo_banniere = '<img src="'._DIR_IMG.$document['fichier'].'" alt="'.$alt.'" width="'.$document['largeur'].'" height="'.$document['hauteur'].'" border="0" />';
     188 
     189        }
     190     
     191  } else {   
     192     // rien dans la base peut etre un logo ? - ancien systeme.   
     193        include_spip('inc/iconifier');
     194       
     195        $chercher_logo = charger_fonction('chercher_logo', 'inc');
     196        $logo = $chercher_logo($id, $id_objet, 'on');
     197       
     198        list($img, $clic) = decrire_logo($id_objet,'on',$id, 170, 170, $logo, $texteon, $script, $flag_modif AND !$logo_s);
     199 
     200        // si on a trouve on l'affiche
     201        $logo_banniere = '<img src="'.$logo['0'].'" alt="'.$document['titre'].'" width="'.$document['largeur'].'" height="'.$document['hauteur'].'" border="0" />';
     202  }
     203
     204        // rechercher l'url de destination
     205        if($url && $document['extension'] != 'swf') {
     206                $lien = '<a href="'.generer_url_action('visit_url','banniere='.$id.'&url='.rawurlencode($url)).'" title="'.$document['titre'].'" class="banniere">';
     207                $lien .= $logo_banniere.$document['descriptif'].'</a>';
     208        } else {
     209                $lien = $logo_banniere;
     210        }
     211
     212// Incrementer compteur affichage
     213
     214if (!_IS_BOT) {
     215
     216        $query = sql_update ("spip_bannieres", array('affichages' => "affichages+1"), "id_banniere=$id") ;
     217}
     218  return $lien;
     219
     220}
    18221?>
  • _plugins_/bannieres/bannieres_2/lang/bannieres_fr.php

    r49016 r49948  
    3232        'choix_pays' => 'Choisir le pays',
    3333        'choix_region' => 'Choisir la r&eacute;gion',
    34         'config_legende_image' => 'Redimensionner les banni&egrave;res',
    35         'config_libelle_hauteur' => 'Hauteur maximale',
    36         'config_libelle_largeur' => 'Largeur maximale',
    37         'config_libelle_pixels'  => 'en pixels',
    3834        'confirm_supprimer' => '&Ecirc;tes vous s&ucirc;r de vouloir supprimer cette campagne ?',
    3935        'creation' => 'Date de cr&eacute;ation : ',
     
    9490        'label_position_campagne' => 'Position',
    9591        'label_rayon' => 'Rayon',
    96         'label_site' => 'Site',
     92        'label_site' => 'URL du site cible',
    9793        'legende' => 'L&eacute;gende des icones : ',
    9894        'local' => 'Local',
  • _plugins_/bannieres/bannieres_2/plugin.xml

    r49016 r49948  
    22        <nom>Banni&egrave;res</nom>
    33        <auteur>Jeannot, inspir&eacute; de Fran&ccedil;ois de Montlivault et Matthieu Marcillaud, [erational->http://www.erational.org]</auteur>
    4         <version>0.29</version>
     4        <version>0.28</version>
    55        <version_base>0.22</version_base>
    66  <licence>&#169; 2009-2011 GNU/GPL</licence>
Note: See TracChangeset for help on using the changeset viewer.