Changeset 31442 in spip-zone


Ignore:
Timestamp:
Sep 9, 2009, 2:16:45 PM (10 years ago)
Author:
zeraxp@…
Message:
  • interface de la hiérarchie des groupes de mots fonctionnelles
  • début du nettoyage du code mort.

reste a finir :

  • non fonctionnel sur les auteurs encore ...
  • interface pour activer/desactiver l'arborescence des groupes de mots ... pas forcement utile
Location:
_plugins_/mots_partout/2.0
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/mots_partout/2.0/action/instituer_groupe_mots.php

    r29246 r31442  
    1 <?php
    2 
    3 /***************************************************************************\
    4  *  SPIP, Systeme de publication pour l'internet                           *
    5  *                                                                         *
    6  *  Copyright (c) 2001-2008                                                *
    7  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
    8  *                                                                         *
    9  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
    10  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
    11 \***************************************************************************/
    12 
    13 if (!defined("_ECRIRE_INC_VERSION")) return;
    14 
    15 include_spip('inc/filtres');
    16 
    17 // http://doc.spip.org/@action_instituer_groupe_mots_dist
    18 function action_instituer_groupe_mots_dist()
    19 {
    20         $securiser_action = charger_fonction('securiser_action', 'inc');
    21         $arg = $securiser_action();
    22 
    23         if (preg_match(",^([a-zA-Z_]\w+)$,", $arg, $r))
    24           action_instituer_groupe_mots_get($arg);
    25         elseif (!preg_match(",^(-?\d+)$,", $arg, $r)) {
    26                  spip_log("action_instituer_groupe_mots_dist $arg pas compris");
    27         } else action_instituer_groupe_mots_post($r[1]);
    28 }
    29 
    30 
    31 // http://doc.spip.org/@action_instituer_groupe_mots_post
    32 function action_instituer_groupe_mots_post($id_groupe)
    33 {
    34         $acces_comite = _request('acces_comite');
    35         $acces_forum = _request('acces_forum');
    36         $acces_minirezo = _request('acces_minirezo');
    37         $change_type = _request('change_type');
    38         $descriptif = _request('descriptif');
    39         $obligatoire = ((_request('obligatoire')) ? 'oui' : 'non');
    40         $texte = _request('texte');
    41         $unseul = ((_request('unseul')) ? 'oui' : 'non');
    42         $id_parent= _request('id_parent'); //YOANN
    43 
    44         if ($id_groupe < 0){
    45                 sql_delete("spip_groupes_mots", "id_groupe=" . (0- $id_groupe));
    46         } else {
    47                 $change_type = (corriger_caracteres($change_type));
    48                 $texte = (corriger_caracteres($texte));
    49                 $descriptif = (corriger_caracteres($descriptif));
    50 
    51                 $valeurs = array(
    52                         "titre" =>$change_type,
    53                         "texte"=>$texte,
    54                         "descriptif"=>$descriptif,
    55                         "unseul"=>$unseul,
    56                         "obligatoire"=>$obligatoire,
    57                         "minirezo"=>$acces_minirezo,
    58                         "comite"=>$acces_comite,
    59                         "forum"=>$acces_forum,
    60                         "id_parent"=>$id_parent);
    61 
    62                 $tables_installees = unserialize(lire_meta('MotsPartout:tables_installees'));   
    63                 foreach($tables_installees as $chose => $m) {
    64                         $valeurs[$chose] = ((_request($chose)) ? 'oui' : 'non');
    65                 }
    66 
    67                 if ($id_groupe) {       // modif groupe
    68                         sql_updateq("spip_mots", array("type" => $change_type), "id_groupe=$id_groupe");
    69 
    70                         sql_updateq("spip_groupes_mots", $valeurs, "id_groupe=$id_groupe");
    71 
    72                 } else {        //spip_log("creation groupe");
    73                   sql_insertq('spip_groupes_mots', $valeurs);
    74                 }
    75         }
    76 }
    77 
    78 
    79 // http://doc.spip.org/@action_instituer_groupe_mots_get
    80 function action_instituer_groupe_mots_get($table)
    81 {
    82         $titre = _T('info_mot_sans_groupe');
    83 
    84         $valeurs = array(
    85                 'titre' => $titre,
    86                 'unseul' => 'non',
    87                 'obligatoire' => 'non',
    88                 'minirezo' =>  'oui',
    89                 'comite' =>  'non',
    90                 'forum' => 'non');
    91 
    92         $tables_installees = unserialize(lire_meta('MotsPartout:tables_installees'));
    93         foreach($tables_installees as $chose => $m) {
    94                 $valeurs[$chose] = (($table==$chose) ? 'oui' : 'non');
    95         }
    96         $id_groupe = sql_insertq("spip_groupes_mots", $valeurs) ;               
    97         //YOANN : pas de gestion de l'arborescence a ce niveau
    98 
    99         redirige_par_entete(parametre_url(urldecode(_request('redirect')),
    100                                           'id_groupe', $id_groupe, '&'));
    101 }
    102 
    103 ?>
  • _plugins_/mots_partout/2.0/exec/mots_tous.php

    r29246 r31442  
    3232
    3333  $tables_installees = unserialize(lire_meta('MotsPartout:tables_installees'));
     34
     35        /* définition d'un pipeline qu'un autre plugin pourra appeler pour ajouter un type d'objet non spip a gerer dans mots partout */
     36  //$tables_installees = pipeline('motspartout_tables_installes',$tables_installees);
     37  //tester pour voir s'il faut écrire dans les metas
     38
    3439  if (!$tables_installees){
    3540          $tables_installees= array('articles','rubriques','documents','auteurs','syndic','syndic_articles','messages');
    36           /* définition d'un pipeline qu'un autre plugin pourra appeler pour ajouter un type d'objet non spip a gerer dans mots partout */
    37           //$tables_installees = pipeline('motspartout_tables_installes',$tables_installees);
    3841          ecrire_meta('MotsPartout:tables_installees',serialize($tables_installees));
    3942        }
  • _plugins_/mots_partout/2.0/inc/editer_mots.php

    r31429 r31442  
    163163        $res = '';
    164164
    165         foreach (split(" *[,;] *", $cherche_mots) as $cherche_mot) {
     165        foreach (preg_split("/ *[,;] */", $cherche_mots) as $cherche_mot) {
    166166          if  ($cherche_mot) {
    167167                $resultat = mots_ressemblants($cherche_mot, $table_mots, $table_ids);
     
    485485
    486486// http://doc.spip.org/@editer_mots_droits
    487 function editer_mots_droits($select, $cond,$debug=false)
    488 {
    489 if($debug) {
    490   print_r($select);
    491   print_r($cond);
    492   //die();
    493 }
     487function editer_mots_droits($select, $cond)
     488{
    494489        $droit = substr($GLOBALS['visiteur_session']['statut'],1);
    495490        return sql_select("$select", "spip_groupes_mots", "$droit = 'oui' AND $cond");
     
    577572        return array("<a href='$url'>$cle</a>", $mot, $groupe, $retire);
    578573}
    579 
    580 ?>
  • _plugins_/mots_partout/2.0/inc/motspartout_pipeline.php

    r31429 r31442  
    2828
    2929                        //on ajoute le groupe de mots parent
    30                         $id_parent=$flux['args']['id_parent'];
     30                        $id_parent=$flux['args']['contexte']['id_parent'];
    3131                        $contexte=array("id_parent"=>$id_parent,
    3232                                        "name"=>"id_parent",
     
    6161}
    6262
     63
     64
     65/**
     66 *
     67 * Insertion dans le pipeline pre_edition
     68 * ajouter le champ id_parent lors de l'edition d'un groupe de mots
     69 * @return
     70 * @param object $flux
     71 */
     72function MotsPartout_pre_edition($flux){
     73
     74  //on ajoute le champ en pre_edition du groupe de mot
     75  if ($flux['args']['table']=='spip_groupe_mots') {
     76          $flux['args']['champs']['id_parent']=intval(_request('id_parent'));
     77        }
     78        return $flux;
     79}
     80
    6381?>
  • _plugins_/mots_partout/2.0/lang/motspartout_fr.php

    r31429 r31442  
    5555                                                                          'libelle_auteurs'=>"Auteurs",
    5656                                                                          'libelle_groupes_mots'=>"Groupes de mots",
    57                                                                           'groupe_mot_parent'=>"S&eacute;lectionnez le groupe de mot parent"
     57                                                                          'groupe_mot_parent'=>"S&eacute;lectionnez le groupe de mot parent",
     58                                                                          'groupe_racine'=>"Aucun - groupe de mots clefs a la racine"
    5859
    5960                                                                           );
  • _plugins_/mots_partout/2.0/plugin.xml

    r31429 r31442  
    66        <auteur>Yoann Nogues (Zerax)</auteur>
    77        <lien>http://www.spip-contrib.net/Des-mots-clefs-partout</lien>
    8         <version>0.5.2</version>
     8        <version>0.5.1</version>
    99        <etat>test</etat>
    1010        <necessite id="SPIP" version="[2.0;]" />
     
    4343                <inclure>inc/motspartout_pipeline.php</inclure>
    4444        </pipeline>
     45                <pipeline>
     46                <nom>pre_edition</nom>
     47                <inclure>inc/motspartout_pipeline.php</inclure>
     48        </pipeline>
    4549</plugin>
  • _plugins_/mots_partout/2.0/prive/editer/selecteur_groupe_mot_partout.html

    r31429 r31442  
    66        <div class='choix'>
    77
    8 <select[ name='(#ENV{name})'][ id='(#ENV{id})'] onchange="$('#hidden_id_parent_groupe_mot').val(Math.random());">
     8<select[ name='(#ENV{name})'][ id='(#ENV{id})'] >
     9<option value="0"><:motspartout:groupe_racine:></option>
    910#SET{niveau,0}
    10 <BOUCLE_groupes_arborescent(GROUPES_MOTS){par titre}{id_parent=0}>
     11<BOUCLE_groupes_arborescent(GROUPES_MOTS){par titre}{id_parent=0}{id_groupe!=#ENV{id_groupe}}>
    1112[(#REM) on ne prend que le premier niveau ce qui permet d'initialiser la recursivite ]
    12 <option value='#ID_GROUPE'[(#EXPOSE{' '})selected='selected']>[(#VAL{'&nbsp;&nbsp;'}|str_repeat{#GET{niveau}})][(#TITRE|supprimer_tags|texte_backend)]</option>
     13<option value='#ID_GROUPE' [(#ID_GROUPE|=={[(#ENV{id_parent})]}|?{' '})selected='selected'] >[(#VAL{'&nbsp;&nbsp;'}|str_repeat{#GET{niveau}})][(#TITRE|supprimer_tags|texte_backend)]</option>
    1314  [(#SET{niveau,#GET{niveau}|plus{1}})]
    14   <BOUCLE_sous_groupes(GROUPES_MOTS){id_parent=#ID_GROUPE}>
    15       <option value='#ID_GROUPE'[(#EXPOSE{' '})selected='selected']>[(#VAL{'&nbsp;&nbsp;'}|str_repeat{#GET{niveau}})][(#TITRE|supprimer_tags|texte_backend)]</option>
     15  <BOUCLE_sous_groupes(GROUPES_MOTS){id_parent=#ID_GROUPE}{id_groupe!=#ENV{id_groupe}}>
     16      <option value='#ID_GROUPE' [(#ID_GROUPE|=={[(#ENV{id_parent})]}|?{' '})selected='selected']>[(#VAL{'&nbsp;&nbsp;'}|str_repeat{#GET{niveau}})][(#TITRE|supprimer_tags|texte_backend)]</option>
    1617      [(#SET{niveau,#GET{niveau}|plus{1}})]
    1718      <BOUCLE_recursive(BOUCLE_sous_groupes){id_parent=#ID_GROUPE}></BOUCLE_recursive>
     
    2122</BOUCLE_groupes_arborescent>
    2223</select>
    23 [(#REM) ce hidden permet d'invalider la non modification de l'objet si on ne modifie que le id_parent ]
    24 <input type="hidden" name="hidden_id_parent_groupe_mot" id="hidden_id_parent_groupe_mot"/>
    2524</div>
    2625</li></ul>
Note: See TracChangeset for help on using the changeset viewer.