[SPIP Zone] r3968 - in /_plugins_/_amelioration_admin_/tri_mots: TriMots.php exec/tri_mots.php

Author: pierre.andrews@gmail.com
Date: Thu Jul 13 14:17:13 2006
New Revision: 3968

Log:
voila, avec les bons points d'entree, les bonnes requettes et la creation de la colonne comme il faut, on peut trier les rubriques aussi

Modified:
    _plugins_/_amelioration_admin_/tri_mots/TriMots.php
    _plugins_/_amelioration_admin_/tri_mots/exec/tri_mots.php

Modified: _plugins_/_amelioration_admin_/tri_mots/TriMots.php

--- _plugins_/_amelioration_admin_/tri_mots/TriMots.php (original)
+++ _plugins_/_amelioration_admin_/tri_mots/TriMots.php Thu Jul 13 14:17:13 2006
@@ -24,16 +24,16 @@
function TriMots_affiche_droite($arguments) {
   global $connect_statut, $connect_toutes_rubriques;
   if (($connect_statut == '0minirezo') AND $connect_toutes_rubriques) {
- if(_request('exec') == 'articles') {
- $arguments['data'] .= TriMots_boite_tri_mots(_request('id_article'),'articles','id_article','articles');
+ if($arguments['args']['exec'] == 'articles') {
+ $arguments['data'] .= TriMots_boite_tri_mots($arguments['args']['id_article'],'articles','id_article','articles');
   }
- else if(_request('exec') == 'naviguer') {
- $arguments['data'] .= TriMots_boite_tri_mots(_request('id_rubrique'),'rubriques','id_rubrique','naviguer');
+ else if($arguments['args']['exec'] == 'naviguer') {
+ $arguments['data'] .= TriMots_boite_tri_mots($arguments['args']['id_rubrique'],'rubriques','id_rubrique','naviguer');
   }
- else if(_request('exec') == 'mots_edit') {
- $arguments['data'] .= icone(_T('trimots:titre_articles'),generer_url_ecrire('tri_mots','objet=articles&id_objet=id_article&id_mot='._request('id_mot').'&retour='.urlencode(generer_url_ecrire('mots_edit',"id_mot="._request('id_mot')))), '../'._DIR_PLUGIN_TRI_MOTS.'/img/updown.png', "rien.gif");
- $arguments['data'] .= icone(_T('trimots:titre_rubriques'),generer_url_ecrire('tri_mots','objet=rubriques&id_objet=id_rubrique&id_mot='._request('id_mot').'&retour\
-='.urlencode(generer_url_ecrire('mots_edit',"id_mot="._request('id_mot')))), '../'._DIR_PLUGIN_TRI_MOTS.'/img/updown.png', "rien.gif");
+ else if($arguments['args']['exec'] == 'mots_edit') {
+ $arguments['data'] .= icone(_T('trimots:titre_articles'),generer_url_ecrire('tri_mots','objet=articles&id_objet=id_article&id_mot='.$arguments['args']['id_mot'].'&retour='.urlencode(generer_url_ecrire('mots_edit',"id_mot=".$arguments['args']['id_mot']))), '../'._DIR_PLUGIN_TRI_MOTS.'/img/updown.png', "rien.gif");
+ $arguments['data'] .= icone(_T('trimots:titre_rubriques'),generer_url_ecrire('tri_mots','objet=rubriques&id_objet=id_rubrique&id_mot='.$arguments['args']['id_mot'].'&retour\
+='.urlencode(generer_url_ecrire('mots_edit',"id_mot=".$arguments['args']['id_mot']))), '../'._DIR_PLUGIN_TRI_MOTS.'/img/updown.png', "rien.gif");
   }
   }
   return $arguments;
@@ -52,7 +52,12 @@

   $to_ret .= '<div class="plan-articles">';
   $from = array("spip_mots_$objet as lien",'spip_mots as mots');
+ $installe = unserialize(lire_meta('TriMots:installe'));
+ if(isset($installe[$objet])) {
   $select = array('lien.rang','lien.id_mot','mots.titre');
+ } else {
+ $select = array('lien.id_mot','mots.titre');
+ }
   $where = array('lien.id_mot=mots.id_mot',"lien.$id_objet=$id");
   $un_mot = false;

@@ -61,7 +66,7 @@
   while($row = spip_abstract_fetch($rez)) {
     $to_ret .= '<a href="'.generer_url_ecrire('tri_mots','objet='.$objet.'&id_objet='.$id_objet.'&id_mot='.$row['id_mot'].'&retour='.urlencode(generer_url_ecrire($retour,"$id_objet=$id"))).'">
<div class="arial1" style="float: right; color: black; padding-left: 4px;">
-<b> '._T('trimots:rang').'&nbsp;'.$row['rang'].'</b>
+<b> '._T('trimots:rang').'&nbsp;'.($row['rang']?$row['rang']:0).'</b>
</div>';
   $to_ret .= $row['titre'].'</a>';
   $un_mot =true;

Modified: _plugins_/_amelioration_admin_/tri_mots/exec/tri_mots.php

--- _plugins_/_amelioration_admin_/tri_mots/exec/tri_mots.php (original)
+++ _plugins_/_amelioration_admin_/tri_mots/exec/tri_mots.php Thu Jul 13 14:17:13 2006
@@ -70,13 +70,17 @@
   }
   spip_abstract_free($res);

- $table = addslashes($_REQUEST['table']);
+ $table = addslashes($_REQUEST['objet']);
   if(!$table) $table = 'articles';
- $id_table = addslashes($_REQUEST['id_table']);
+ $id_table = addslashes($_REQUEST['id_objet']);
   if(!$id_table) $id_table = 'id_article';

   //Installation
- if(!lire_meta('TriMots:installe')) {
+ $installe = unserialize(lire_meta('TriMots:installe'));
+ if(!isset($installe)) {
+ $installe = array();
+ }
+ if(!isset($installe[$table])) {
   $res = spip_query("SHOW COLUMNS FROM `".$table_pref."_mots_$table` LIKE 'rang'");
   if(!spip_fetch_array($res)) {
     spip_query("ALTER TABLE `".$table_pref."_mots_$table` ADD `rang` BIGINT NOT NULL DEFAULT 0;");
@@ -91,7 +95,8 @@
     }
     }
     spip_abstract_free($results);
- ecrire_meta('TriMots:installe',true); //histoire de pas faire une recherche dans la base à chaque coup
+ $installe[$table] = true;
+ ecrire_meta('TriMots:installe',serialize($installe)); //histoire de pas faire une recherche dans la base à chaque coup
     ecrire_metas();
   }
   spip_free_result($res);