Changeset 2184 in spip-zone


Ignore:
Timestamp:
Mar 1, 2006, 5:25:51 PM (14 years ago)
Author:
pierre.andrews@…
Message:

plugin pour avoir textile a la place de propre

Location:
_plugins_
Files:
5 added
2 edited
3 moved

Legend:

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

    r2157 r2184  
    6767  global $choses, $mots;
    6868  global $strict, $switch;
     69  global $ajax;
    6970 
    7071  /*
     
    7879 
    7980  include(_DIR_PLUGIN_MOTS_PARTOUT."/mots_partout_choses.php");
    80   /***********************************************************************/
    81   /* PREFIXE*/
    82   /***********************************************************************/
    83   $table_pref = 'spip';
    84   if ($GLOBALS['table_prefix']) $table_pref = $GLOBALS['table_prefix'];
    8581 
    8682  /***********************************************************************/
     
    155151  }
    156152 
     153  $par_choses = '';
     154
    157155  if(count($choses)) {
    158156        foreach($choses as $c)
    159           $redirect .= "&choses[]=$c";
     157          $par_choses .= "&choses[]=$c";
    160158  }
     159
     160  $par_mots = '';
    161161
    162162  if(count($mots)) {
    163163        foreach($mots as $id => $m)
    164           $redirect.= "&mots[$id]=$m";
     164          $par_mots .= "&mots[$id]=$m";
    165165  }
    166166
    167   if(!$_REQUEST['ajax'])        redirige_par_entete(urldecode($redirect));
     167  $redirect = generer_url_action('mots_partout_cherche',"nom_chose=$nom_chose&stict=$strict&switch=$switch&ajax=$ajax&redirect=$redirect$par_chose$par_mots");
     168
     169  redirige_par_entete($redirect);
    168170
    169171}
  • _plugins_/mots_partout/exec/mots_partout.php

    r2157 r2184  
    205205  $tables_limite = $choses_possibles[$nom_chose]['tables_limite'];
    206206
    207 
    208   list($mots_voir, $mots_cacher, $mots_ajouter, $mots_enlever) = splitArrayIds($_REQUEST['mots']);
    209   $choses = secureIntArray($_REQUEST['choses']);
    210 
    211   $limit =  addslashes($_POST['limit']);
    212   if($limit == '') $limit = 'rien';
    213   $id_limit =  intval($_POST['identifiant_limit']);
    214   if($id_limit < 1) $id_limit = 0;
    215   $nb_aff = intval($_POST['nb_aff']);
    216   if($nb_aff < 1) $nb_aff = 20;
    217   $switch = addslashes($_POST['switch']);
    218   if($switch == '') $switch = 'voir';
    219   $strict = intval($_POST['strict']);
    220  
    221 
    222   /**********************************************************************/
    223   /* recherche des choses.*/
    224   /***********************************************************************/
    225 
    226   if(count($choses) == 0) {
    227         $select = array();
    228         $select[] = "DISTINCT main.$id_chose";
    229        
    230         $from = array();
    231         $where = array();
    232         $group = '';
    233         $order = array();
    234        
    235         if(isset($limit) && $limit != 'rien') {
    236           $table_lim = $tables_limite[$limit]['table'];
    237           $nom_id_lim = $tables_limite[$limit]['nom_id'];
    238          
    239           $from[0] = "$table_lim as main";
    240           $where[0] = "main.$nom_id_lim IN ($id_limit)";
    241           if(count($mots_voir) > 0) {
    242                 $from[1] = "spip_mots_$nom_chose as table_temp";
    243                 $where[1] = "table_temp.$id_chose = main.$id_chose";
    244                 $where[] = "table_temp.id_mot IN (".calcul_in($mots_voir).')';
    245                 if($strict) {
    246                   $select[] = 'count(id_mot) as tot';
    247                   $group = "main.$id_chose";
    248                   $order = array('tot DESC');
    249                 }
    250           }
    251           if(count($mots_cacher) > 0) {
    252                 $from[1] = "spip_mots_$nom_chose as table_temp";
    253                 $where[1] = "table_temp.$id_chose = main.$id_chose";
    254                 $where[] = "table_temp.id_mot not IN (".calcul_in($mots_cacher).')';
    255                 if($strict) {
    256                   $select[] = 'count(id_mot) as tot';
    257                   $group = "main.$id_chose";
    258                   $order = array('tot DESC');
    259                 }
    260           }     
    261         } else if((count($mots_voir) > 0)||(count($mots_cacher) > 0)){
    262           if(count($mots_voir) > 0) {
    263                 $from[0] = "spip_mots_$nom_chose as main";
    264                 $where[] = "main.id_mot IN (".calcul_in($mots_voir).')';
    265                 if($strict) {
    266                   $select[] = 'count(id_mot) as tot';
    267                   $group = "main.$id_chose";
    268                   $order = array('tot DESC');
    269                 }
    270           }
    271           if(count($mots_cacher) > 0) {
    272                 $from[0] = "spip_mots_$nom_chose as main";
    273                 $where[] = "main.id_mot not IN (".calcul_in($mots_cacher).')';
    274                 if($strict) {
    275                   $select[] = 'count(id_mot) as tot';
    276                   $group = "main.$id_chose";
    277                   $order = array('tot DESC');
    278                 }
    279           }
    280         } else {
    281           $from[] = "$table_principale as main";
    282         }
    283 
    284         $res=spip_abstract_select($select,$from,$where,$group,$order);
    285        
    286         $choses = array();
    287         $avec_sans = (count($mots_cacher) > 0);
    288         if($avec_sans) $in_sans = calcul_in($mots_cacher);
    289         while ($row = spip_abstract_fetch($res)) {
    290           if(!isset($table_auth) ||
    291                  (isset($table_auth) &&
    292                   (verifier_admin() ||
    293                    verifier_auteur($table_auth,$id_chose,$row[$id_chose])
    294                    )
    295                   )
    296                  ) {
    297                 if($avec_sans) {
    298                   $test = spip_abstract_select(array($id_chose),array("spip_mots_$nom_chose"),array("id_mot IN ($in_sans)","$id_chose = ".$row[$id_chose]));
    299                   if(spip_abstract_count($test) > 0) {
    300                         continue;
    301                   }
    302                   spip_abstract_free($test);
    303                 }
    304                 if(count($mots_voir) > 0 && $strict) {
    305                   if($row['tot'] >= count($mots_voir)) {
    306                         $choses[] = $row[$id_chose];
    307                   } else {
    308                         break;
    309                   }
    310                 } else {
    311                   $choses[] = $row[$id_chose];
    312                 }
    313           }
    314         }
    315         spip_abstract_free($res);
    316   }
    317 
    318   if(count($choses) > 0) {
    319         $query = "SELECT spip_mots_$nom_chose.id_mot FROM spip_mots_$nom_chose WHERE spip_mots_$nom_chose.$id_chose".((count($choses))?(' IN('.calcul_in($choses).')'):'');
    320 
    321         afficher_tranches_requete($query, 3,'debut',false,$nb_aff);
    322        
    323         $res = spip_query($query);
    324        
    325         while ($row = spip_fetch_array($res)) {
    326           $show_mots[] = $row['id_mot'];
    327         }
    328         spip_free_result($res);
    329   }
    330207
    331208  /***********************************************************************/
Note: See TracChangeset for help on using the changeset viewer.