Changeset 53872 in spip-zone


Ignore:
Timestamp:
Oct 30, 2011, 5:21:18 PM (8 years ago)
Author:
lesage.sylvain@…
Message:

Très gros changements, pour s'adapter a la maniere de faire en SPIP3:

  • tout le privé dans les répertoires objets et squelettes
  • on utilise au maximum l'echaffaudage (creation automatique des pages selon le type d'objet)

Fonctionnalités perdues:

  • bouton "supprimer definitivement ce point" dans la liste de points GIS d'un article
  • formulaire d'ajout d'un nouveau point GIS directement dans un article (maintenant ca va a la page d'édition, puis ca revient)

Bugs:

Location:
_plugins_/gis/trunk
Files:
15 added
7 deleted
6 edited
5 copied

Legend:

Unmodified
Added
Removed
  • _plugins_/gis/trunk/base/gis.php

    r53850 r53872  
    4949        ),
    5050        'principale' => 'oui',
    51                 /*'modeles' => array('carte_gis','carte_gis_preview'),*/
     51                'modeles' => array('carte_gis','carte_gis_preview'),
    5252
    5353                /* Le titre, la date et la gestion du statut */
  • _plugins_/gis/trunk/formulaires/editer_gis.html

    r53606 r53872  
    4949                <!--extra-->
    5050                <p class='boutons'[ style="direction: (#LANG_DIR|=={ltr}|?{rtl,ltr})"]>
    51                         <input class='submit' type='submit' name='enregistrer' value='<:bouton_enregistrer:>' />[(#ENV{id_gis}|intval|oui)
    52                         <input class='submit link' type='submit' name='supprimer' value='<:lien_supprimer:>' />]
     51                        <input class='submit' type='submit' name='enregistrer' value='<:bouton_enregistrer:>' />
    5352                </p>
    5453        </div></form>
  • _plugins_/gis/trunk/gis_pipelines.php

    r53850 r53872  
    5353
    5454function gis_affiche_milieu($flux){
    55         if ($exec = $flux['args']['exec']){
    56                 switch ($exec){
    57                         case 'article':
    58                                 $objet = 'article';
    59                                 $id_objet = $flux['args']['id_article'];
    60                                 break;
    61                         case 'auteur':
    62                                 $objet = 'auteur';
    63                                 $id_objet = $flux['args']['id_auteur'];
    64                                 break;
    65                         case 'breve':
    66                                 $objet = 'breve';
    67                                 $id_objet = $flux['args']['id_breve'];
    68                                 break;
    69                         case 'rubrique':
    70                                 $objet = 'rubrique';
    71                                 $id_objet = $flux['args']['id_rubrique'];
    72                                 break;
    73                         case 'mot':
    74                                 $objet = 'mot';
    75                                 $id_objet = $flux['args']['id_mot'];
    76                                 break;
    77                         case 'site':
    78                                 $objet = 'syndic';
    79                                 $id_objet = $flux['args']['id_syndic'];
    80                                 break;
    81                         case 'document':
    82                                 $objet = 'document';
    83                                 $id_objet = $flux['args']['id_document'];
    84                                 break;
    85                         default:
    86                                 // Par défaut on regarde si on est sur la page d'un vrai objet SPIP
    87                                 include_spip('base/objets.php');
    88                                 $objets = lister_tables_objets_sql();
    89                                 foreach ($objets as $table=>$infos){
    90                                         // Si cet exec fait partie d'une URL pour voir un objet déclaré
    91                                         if ($exec == $infos['url_voir']){
    92                                                 $objet = $infos['type'];
    93                                                 $id_objet = $flux['args'][id_table_objet($objet)];
    94                                                 break; // On a trouvé on s'arrête
    95                                         }
    96                                 }
    97                                 break;
    98                 }
    99                 if ($objet && $id_objet) {
    100                         // TODO : seulement si la conf permet de geolocaliser cet objet
    101                         if (1) {
    102                                 include_spip('inc/layer');
    103                                 include_spip('inc/presentation');
    104                                 $contexte['objet'] = $objet;
    105                                 $contexte['id_objet'] = $id_objet;
    106                                 $texte = "<div id='pave_gis'>";
    107                                 $bouton = bouton_block_depliable(_T('gis:cfg_titre_gis'), false, "pave_gis_depliable");
    108                                 $texte .= debut_cadre_enfonce(find_in_path('images/gis-24.png'), true, "", $bouton);
    109                                 $texte .= recuperer_fond('prive/contenu/gis_objet', $contexte);
    110                                 $texte .= fin_cadre_enfonce(true);
    111                                 $texte .= "</div>";
    112                                
    113                                 if ($p=strpos($flux['data'],"<!--affiche_milieu-->"))
    114                                         $flux['data'] = substr_replace($flux['data'],$texte,$p,0);
    115                                 else
    116                                         $flux['data'] .= $texte;
    117                         }
    118                 }
    119         }
     55
     56    if ($en_cours = trouver_objet_exec($flux['args']['exec'])
     57        AND $en_cours['edition']!==true // page visu
     58        AND $en_cours['type']!=='gis' // on ne va pas associer des points entre eux
     59        AND $type = $en_cours['type']
     60        AND $id_table_objet = $en_cours['id_table_objet']
     61        AND ($id = intval($flux['args'][$id_table_objet]))){
     62        // TODO : seulement si la conf permet de geolocaliser cet objet
     63                // -> ajouter un element a la array suivante (qqch comme ca - voir les mots):
     64                //   'editable'=>autoriser('associergis',$type,$id)?'oui':'non'
     65        $texte = recuperer_fond(
     66                'prive/objets/editer/liens',
     67                array(
     68                    'table_source'=>'gis',
     69                    'objet'=>$type,
     70                    'id_objet'=>$id
     71                )
     72        );
     73        if ($p=strpos($flux['data'],"<!--affiche_milieu-->"))
     74            $flux['data'] = substr_replace($flux['data'],$texte,$p,0);
     75        else
     76            $flux['data'] .= $texte;
     77    }
    12078
    12179        return $flux;
  • _plugins_/gis/trunk/lang/gis_fr.php

    r53842 r53872  
    6666        'info_id_objet' => 'N&deg;',
    6767        'info_aucun_gis' => 'Aucun point géolocalisé',
     68        'info_aucun_objet_gis' => 'Aucun objet lié à ce point',
    6869        'info_1_gis' => 'Un point géolocalisé',
     70        'info_1_objet_gis' => '1 objet lié à ce point',
    6971        'info_liste_gis' => 'Points géolocalisés',
    70         'info_liste_gis_objet' => 'Points li&eacute;s &agrave; cet objet',
    71         'info_liste_objets_gis' => 'Objets li&eacute;s &agrave; ce point',
    7272        'info_nb_gis' => '@nb@ points géolocalisés',
     73        'info_nb_objets_gis' => '@nb@ objets liés à ce point',
    7374        'info_numero_gis' => 'Point num&eacute;ro',
    7475        'info_objet' => 'Objet',
     76        'info_recherche_gis_zero' => 'Aucun résultat pour « @cherche_gis@ ».',
    7577        'info_supprimer_lien' => 'D&eacute;tacher',
    7678        'info_supprimer_liens' => 'D&eacute;tacher tous les points',
     
    8789        'lat' => 'Latitude',
    8890        'libelle_logo_gis' => 'LOGO DU POINT',
     91        'lien_ajouter_gis' => 'Ajouter ce point',
    8992        'lon' => 'Longitude',
    9093
     
    9497        'texte_creer_associer_gis' => 'Créer et associer un point géolocalisé',
    9598        'texte_modifier_gis' => 'Modifier le point géolocalisé',
     99        'texte_voir_gis' => 'Voir le point géolocalisé',
    96100        'titre_bloc_creer_point' => 'Lier un nouveau point',
    97101        'titre_bloc_points_lies' => 'Points liés',
     
    99103        'titre_nombre_utilisation' => 'Une utilisation',
    100104        'titre_nombre_utilisations' => '@nb@ utilisations',
     105        'titre_nouveau_point' => 'Nouveau point',
     106        'titre_objet' => 'Titre',
    101107
    102108        // Z
  • _plugins_/gis/trunk/paquet.xml

    r53842 r53872  
    22        prefix="gis"
    33        categorie="divers"
    4         version="3.1.6"
     4        version="3.2.0"
    55        schema="2.0.2"
    66        etat="dev"
     
    6262        />
    6363        <pipeline
    64                 nom="rechercher_liste_des_champs"
    65                 inclure="gis_pipelines.php"
    66         />
    67         <pipeline
    6864                nom="autoriser"
    6965                inclure="gis_autoriser.php"
    70         />
    71         <pipeline
    72                 nom="declarer_tables_objets_surnoms"
    73                 inclure="gis_pipelines.php"
    74         />
    75         <pipeline
    76                 nom="declarer_type_surnoms"
    77                 inclure="gis_pipelines.php"
    7866        />
    7967        <pipeline
  • _plugins_/gis/trunk/prive/objets/liste/gis_tous.html

    r53850 r53872  
    33<div class="menu points">
    44<ul class="liste_items">
    5         <BOUCLE_gis(GIS){par titre}{pagination 5}>
     5        <BOUCLE_gis(GIS){par titre}{pagination #ENV{nb,5}}>
    66        <li class="item">
    77                <h3 class="titre">
     
    1919                        <span class="afficher" id="afficher_[(#ID_GIS)]">&#91;<a href="[(#URL_ECRIRE{gis,id_gis=#ID_GIS})]">Afficher</a>&#93;</span>
    2020                        [(#AUTORISER{modifier,gis,#ID_GIS}|oui)
    21                         <span class='lien_modifier'>&#91;<a href='[(#URL_ECRIRE{gis_editer,id_gis=#ID_GIS})]'><:gis:editer_gis_editer:></a>&#93;</span>]
     21                        <span class='lien_modifier'>&#91;<a href='[(#URL_ECRIRE{gis_edit}|parametre_url{id_gis,#ID_GIS}|parametre_url{redirect,#SELF|url_absolue})]'><:gis:editer_gis_editer:></a>&#93;</span>]
    2222                </p>
    2323        </li>
     
    3838</B_gis>
    3939</div>
    40 [(#URL_ECRIRE{gis_editer}|parametre_url{nouveau,oui}|icone_verticale{<:gis:editer_gis_nouveau:>,#CHEMIN{images/gis-24.png},new,#LANG_RIGHT})]
  • _plugins_/gis/trunk/prive/squelettes/contenu/gis.html

    r53850 r53872  
    1 <div class="fiche_objet">
    2         [(#SET{id_gis,[(#VAL{id_gis}|_request)]})]
    3         <:icone_retour|icone_inline{#ENV{retour,#URL_ECRIRE{gis_tous}},#CHEMIN{images/gis-24.png},rien.gif,left}:>
    4         [(#GET{id_gis}|intval|oui)
    5         <:gis:editer_gis_editer|icone_inline{#URL_ECRIRE{gis_editer,id_gis=#GET{id_gis}}|parametre_url{retour,#SELF},#CHEMIN{images/gis-24.png},edit.gif,right}:>]
    6         <h1>
    7                 <BOUCLE_gis(GIS){id_gis=#GET{id_gis}}>
    8                 #TITRE
    9                 </BOUCLE_gis>
    10                 [(#ENV{nouveau}|=={oui}|?{<:info_sans_titre:>,#GET{id_gis}})]
    11                 <//B_gis>
    12         </h1>
    13         <BOUCLE_gisbis(GIS){id_gis=#GET{id_gis}}>
    14         [(#INCLURE{fond=modeles/carte_gis_preview,id_gis})]
    15         <div id="wysiwyg">
    16                 <div class="champ contenu_descriptif[(#DESCRIPTIF|non)vide]">
    17                         #DESCRIPTIF
    18                 </div>
    19                 <div class="champ contenu_adresse[(#ADRESSE|non)vide]">
    20                         #ADRESSE
    21                 </div>
    22                 <div class="champ contenu_region[(#REGION|non)vide]">
    23                         #REGION
    24                 </div>
    25                 <div class="champ contenu_code_postal[(#CODE_POSTAL|non)vide]">
    26                         #CODE_POSTAL
    27                 </div>
    28                 <div class="champ contenu_ville[(#VILLE|non)vide]">
    29                         #VILLE
    30                 </div>
    31                 <div class="champ contenu_pays[(#PAYS|non)vide]">
    32                         #PAYS [((#CODE_PAYS))]
    33                 </div>
    34         </div>
    35         </BOUCLE_gisbis>
    36         [(#INCLURE{fond=prive/liste/objets_gis,
    37         sinon=<:gis:aucun_objet:>,
    38         env,
    39         ajax})]
     1<BOUCLE_gis(GIS){id_gis}{tout}{si #ENV{exec}|=={gis}}>
     2[(#BOITE_OUVRIR{[
     3        [(#AUTORISER{modifier,gis,#ID_GIS})
     4        [(#URL_ECRIRE{gis_edit,id_gis=#ID_GIS}|icone_verticale{<:gis:texte_modifier_gis:>,gis,edit,right ajax preload})]
     5        ]
     6        <h1>(#TITRE|sinon{<:info_sans_titre:>})[(#CHEMIN_IMAGE{gis-24.png}|balise_img{gis,cadre-icone})]</h1>
     7],simple fiche_objet})]
     8
     9[(#INCLURE{fond=modeles/carte_gis_preview,id_gis})]
     10
     11<div id="wysiwyg">
     12<INCLURE{fond=prive/objets/contenu/gis,id=#ID_GIS} />
    4013</div>
    4114
    42 <!--#navigation-->
    43 [(#ENV{id_gis,0}|intval|oui)
    44 <div class="cadre infos cadre-info">
    45         <div class="numero">
    46                 <:gis:info_numero_gis:>
    47                 <p>[(#ENV{id_gis})]</p>
    48         </div>
    49 </div>
    50 ]
    51 <!--/#navigation-->
     15<INCLURE{fond=prive/objets/liste/objets_gis,sinon=<:gis:aucun_objet:>,env,ajax} />
    5216
    53 <!--#extra-->
    54 <!--/#extra-->
     17#BOITE_FERMER
     18
     19#PIPELINE{afficher_complement_objet,#ARRAY{args,#ARRAY{type,gis,id,#ID_GIS},data,'<div class="nettoyeur"></div>'}}
     20
     21</BOUCLE_gis>
     22[(#ENV**{exec}|=={gis_edit}|?{#INCLURE{fond=prive/squelettes/contenu/gis_edit,redirect='',env,retourajax=oui},#REM|sinon_interdire_acces})]
     23<//B_gis>
  • _plugins_/gis/trunk/prive/squelettes/contenu/gis_tous.html

    r53850 r53872  
    33
    44[(#INCLURE{fond=modeles/carte_gis,id_carte_gis=_all})]
    5 
    6 <div class="nettoyeur" />
    7 
    8 <!--#navigation-->
    9 [(#INCLURE{fond=prive/navigation/gis_tous,ajax,env})]
    10 <!--/#navigation-->
  • _plugins_/gis/trunk/prive/squelettes/navigation/gis_edit.html

    r53850 r53872  
    1 <B_liste_objets>
    2 #ANCRE_PAGINATION
    3 <div class="liste-elements objets_gis">
    4 #SET{total,#GRAND_TOTAL}
    5 <h3>[(#GET{total}|singulier_ou_pluriel{gis:titre_nombre_utilisation,gis:titre_nombre_utilisations})]</h3>
    6 <ul class="liste_items">
    7         <BOUCLE_liste_objets(GIS gis_liens){id_gis}{tri #ENV{order,objet},#GET{defaut_tri}}{pagination #ENV{nb,10}}{!lang_select}>
    8                 <li class="item #OBJET">
    9                         <a href="[(#ID_OBJET|generer_url_entite{#OBJET})]">[(#INFO_TITRE{#OBJET,#ID_OBJET}) ](#OBJET ##ID_OBJET)</a>
    10                 </li>
    11         </BOUCLE_liste_objets>
    12 </ul>
    13 [<p class='pagination'>(#PAGINATION{prive})</p>]
     1[(#ID_GIS|oui)
     2#BOITE_OUVRIR{'','info'}
     3#PIPELINE{boite_infos,#ARRAY{data,'',args,#ARRAY{'type','gis','id',#ID_GIS}}}
     4#BOITE_FERMER
     5
     6<div class="ajax">
     7#FORMULAIRE_EDITER_LOGO{'gis',#ID_GIS,'',#ENV**}
    148</div>
    15 </B_liste_objets>
     9]
  • _plugins_/gis/trunk/prive/squelettes/navigation/gis_tous.html

    r53850 r53872  
    1 <B_gis>
    2 [(#ANCRE_PAGINATION)]
    3 <div class="menu points">
    4 <ul class="liste_items">
    5         <BOUCLE_gis(GIS){par titre}{pagination 5}>
    6         <li class="item">
    7                 <h3 class="titre">
    8                         <a href="[(#URL_ECRIRE{gis,id_gis=#ID_GIS})]">#TITRE</a>
    9                         [<span class="numero">N° (#ID_GIS)</span>]
    10                 </h3>
    11                 [<div class="description">
    12                         (#DESCRIPTIF|couper{200})
    13                 </div>]
    14                 <div class="geo">
    15                         [<abbr class="latitude" title="(#LAT)">[[(#LAT|>{0}|?{'N','S'})] (#LAT|dec_to_dms)]</abbr> - ]
    16                         [<abbr class="longitude" title="(#LON)">[[(#LON|>{0}|?{'E','W'})] (#LON|dec_to_dms)]</abbr>]
    17                 </div>
    18                 <p class='actions'>
    19                         <span class="afficher" id="afficher_[(#ID_GIS)]">&#91;<a href="[(#URL_ECRIRE{gis,id_gis=#ID_GIS})]">Afficher</a>&#93;</span>
    20                         [(#AUTORISER{modifier,gis,#ID_GIS}|oui)
    21                         <span class='lien_modifier'>&#91;<a href='[(#URL_ECRIRE{gis_editer,id_gis=#ID_GIS})]'><:gis:editer_gis_editer:></a>&#93;</span>]
    22                 </p>
    23         </li>
    24         </BOUCLE_gis>
    25 </ul>
    26 [<p class="pagination">(#PAGINATION)</p>]
    27 <script type="text/javascript">
    28 (function($){
    29         $(function(){
    30                 $('.afficher').css('cursor','pointer').click(function(){
    31                         var id_marker = $(this).attr('id').replace('afficher_','');
    32                         gis_focus_marker(id_marker,'_all');
    33                         return false;
    34                 });
    35         });
    36 })(jQuery);
    37 </script>
    38 </B_gis>
    39 </div>
    40 [(#URL_ECRIRE{gis_editer}|parametre_url{nouveau,oui}|icone_verticale{<:gis:editer_gis_nouveau:>,#CHEMIN{images/gis-24.png},new,#LANG_RIGHT})]
     1#INCLURE{fond=prive/objets/liste/gis_tous,env}
     2
     3[(#URL_ECRIRE{gis_edit}|parametre_url{nouveau,oui}|icone_verticale{<:gis:editer_gis_nouveau:>,#CHEMIN{images/gis-24.png},new,#LANG_RIGHT})]
  • _plugins_/gis/trunk/prive/style_prive_plugin_gis.html

    r53606 r53872  
    1616.points .liste_items .geo abbr { border: 0; }
    1717.points .liste_items p.actions { font-size: 0.9em; margin: 5px 0 0; }
    18 
    19 /* sur les fiches objets */
    20 .articles .fiche_objet #pave_gis {  }
    21 
    22 #page .liste-elements.gis_objet .caption,#page .liste-elements.gis .caption{background-image: url("#CHEMIN{images/gis-24.png}");}
    23 #pave_gis_depliable .formulaire_rechercher_gis{margin:1em 0;}
    24 #pave_gis_depliable .formulaire_editer_gis{margin:0 0 1em 0;}
    25 
    26 /* edition d'un point */
    27 .formulaire_editer_gis {  }
Note: See TracChangeset for help on using the changeset viewer.