Changeset 28606 in spip-zone


Ignore:
Timestamp:
May 12, 2009, 11:52:20 AM (12 years ago)
Author:
listes@…
Message:

meilleure gestion des puces pour les cartes GoogleMaps?

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_dev_/gis/inc/parte_privada.php

    r27147 r28606  
    1515        global $spip_lang_left, $spip_lang_right;
    1616       
     17       
    1718        $pkey = id_table_objet($table);
    1819       
     
    4243        }
    4344        if ($glat!==NULL){
    44                 $resultMots = spip_query("SELECT * FROM spip_mots_{$table}s WHERE $pkey = ".intval($id));
    45                 while ($rowMot = spip_fetch_array($resultMots)) {
    46                         $resultMotIcon = spip_query("SELECT * FROM spip_mots WHERE type ='marker_icon' AND id_mot=".$rowMot['id_mot']);
    47                         if ($rowMotIcon = spip_fetch_array($resultMotIcon)){
    48                                 if (file_exists("../IMG/"."moton".$rowMot['id_mot'].".png")) {
    49                                         $gicon = "moton".$rowMot['id_mot'].".png";
    50                                 } else if (file_exists("../IMG/"."moton".$rowMot['id_mot'].".gif")) {
    51                                         $gicon = "moton".$rowMot['id_mot'].".gif";
    52                                 }
    53                         }
     45                // on cherche un mot clŽ pour cet(te) article/rubrique
     46                $nbMots = sql_countsel("spip_mots_{$table}s smt, spip_mots sm","smt.$pkey=".intval($id)." and smt.id_mot=sm.id_mot and sm.type='marker_icon'");
     47                //echo "nbMots : ", $nbMots,"<br>";
     48                if ($nbMots > 0) {
     49                        // il existe un mot-clŽ pour cet(te) article/rubrique du groupe de mots 'marker_icon'
     50                        // on recherche son identifiant
     51                        $id_mot = sql_getfetsel("smt.id_mot","spip_mots_{$table}s smt, spip_mots sm","smt.$pkey=".intval($id)." and smt.id_mot=sm.id_mot and sm.type='marker_icon'");
     52                        if ($id_mot != '') {
     53                                if (file_exists(_DIR_IMG."/moton$id_mot.png")) {
     54                                        $gicon = "moton$id_mot.png";
     55                                } else if (file_exists(_DIR_IMG."/moton$id_mot.gif")) {
     56                                        $gicon = "moton$id_mot.gif";
     57                                }
     58                        }
     59                } else {
     60                        // l'article/ rubrique n'a pas de puce associŽ --> on cherche dans sa hiŽrarchie
     61                        $nomTable = table_objet($table);
     62                        $parents = array();
     63                        $id_parent = 0;
     64                        if ($nomTable == 'articles') {
     65                                // table articles
     66                                $id_parent = sql_getfetsel("id_rubrique","spip_articles","id_article=".intval($id));
     67                                $parents[] = $id_parent;
     68                        } else if ($nomTable == 'rubriques') {
     69                                // table rubriques
     70                                $id_parent = sql_getfetsel("id_parent","spip_rubriques","id_rubrique=".intval($id));
     71                                $parents[] = $id_parent;
     72                        }
     73                       
     74                        // ensuite on cherche toutes les rubriques parent de cet objet
     75                        while ($id_parent != 0) {
     76                                $id_parent = sql_getfetsel("id_parent","spip_rubriques","id_rubrique=".intval($id_parent));
     77                                if ($id_parent != 0) {
     78                                        $parents[] = $id_parent;
     79                                }
     80                        }
     81                       
     82                        if (count($parents) > 0) {
     83                                // on a donc des rubriques parents, on en cherche une qui a un mot clŽ de type 'marker_icon'
     84                                foreach ($parents as $id_parent) {
     85                                        $nbMots = sql_countsel("spip_mots_rubriques smr, spip_mots sm","smr.id_rubrique=".intval($id_parent)." and smr.id_mot=sm.id_mot and sm.type='marker_icon'");
     86                                        if ($nbMots > 0) {
     87                                                // il existe un mot-clŽ pour cette rubrique du groupe de mots 'marker_icon'
     88                                                // on recherche son identifiant
     89                                                $id_mot = sql_getfetsel("smr.id_mot","spip_mots_rubriques smr, spip_mots sm","smr.id_rubrique=".intval($id_parent)." and smr.id_mot=sm.id_mot and sm.type='marker_icon'");
     90                                                if ($id_mot != '') {
     91                                                        if (file_exists(_DIR_IMG."/moton$id_mot.png")) {
     92                                                                $gicon = "moton$id_mot.png";
     93                                                                break;
     94                                                        } else if (file_exists(_DIR_IMG."/moton$id_mot.gif")) {
     95                                                                $gicon = "moton$id_mot.gif";
     96                                                                break;
     97                                                        }
     98                                                }
     99                                        }
     100                                }
     101                        }
     102                       
     103                        if ($gicon == '') {
     104                                // pas d'icone trouvŽ
     105                                // on recherche le mot clŽ 'default' de type 'marker_icon'
     106                                $id_mot = sql_getfetsel("id_mot","spip_mots","titre='default' and sm.type='marker_icon'");
     107                                if ($id_mot != '') {
     108                                        if (file_exists(_DIR_IMG."/moton$id_mot.png")) {
     109                                                $gicon = "moton$id_mot.png";
     110                                        } else if (file_exists(_DIR_IMG."/moton$id_mot.gif")) {
     111                                                $gicon = "moton$id_mot.gif";
     112                                        }
     113                                }
     114                        }
     115                       
     116                        // si pas d'icone, on laisse google la gŽrer
    54117                }
     118               
    55119                if ($api_carte) {
    56120                        $gis_append_view_map = charger_fonction($api_carte.'_append_view_map','inc');
     
    69133        // On teste la version de SPIP utilisee 2 ou 1.9
    70134        if(function_exists('bouton_block_depliable')){
    71                 $s .= debut_cadre('e', _DIR_PLUGIN_GIS."img_pack/correxir.png",'',bouton_block_depliable('&nbsp;&nbsp;&nbsp;<span style="text-transform: uppercase;">'._T('gis:cambiar').'</span>', false, "cadroFormulario"));
     135                $s .= debut_cadre('e', _DIR_PLUGIN_GIS."img_pack/correxir.png",'',bouton_block_depliable('&nbsp;&nbsp;&nbsp;<span>'._T('gis:cambiar').'</span>', false, "cadroFormulario"));
    72136        }else{
    73137                $s .= debut_cadre('r', _DIR_PLUGIN_GIS."img_pack/correxir.png");
    74138                $s .= bouton_block_invisible("ajouter_form");
    75                 $s .= '&nbsp;&nbsp;&nbsp;<strong class="verdana3" style="text-transform: uppercase;">' . _T('gis:cambiar') . ' <a onclick="$(\'#cadroFormulario\').slideToggle(\'slow\')">(' . _T('gis:clic_desplegar') . ')</a></strong>';
     139                $s .= '&nbsp;&nbsp;&nbsp;<strong class="verdana3">' . _T('gis:cambiar') . ' <a onclick="$(\'#cadroFormulario\').slideToggle(\'slow\')">(' . _T('gis:clic_desplegar') . ')</a></strong>';
    76140        }
    77141       
     
    137201        $s .= debut_cadre('r', _DIR_PLUGIN_GIS."img_pack/correxir.png");
    138202        $s .= bouton_block_invisible("ajouter_form");
    139         $s .= '&nbsp;&nbsp;&nbsp;<strong class="verdana3" style="text-transform: uppercase;">'. _T("gis:cambiar") .' '. $id_mot .' <a onclick="$(\'#cadroFormulario\').slideToggle(\'slow\')">('. _T('gis:clic_desplegar') .')</a></strong>';
     203        $s .= '&nbsp;&nbsp;&nbsp;<strong class="verdana3">'. _T("gis:cambiar") .' '. $id_mot .' <a onclick="$(\'#cadroFormulario\').slideToggle(\'slow\')">('. _T('gis:clic_desplegar') .')</a></strong>';
    140204        $s .= debut_block_visible("ajouter_form");
    141205        $s .= '<div class="verdana2">'. _T("gis:clic_mapa") .'</div>';
Note: See TracChangeset for help on using the changeset viewer.