Changeset 89286 in spip-zone for _plugins_/fulltext


Ignore:
Timestamp:
May 10, 2015, 12:59:35 PM (5 years ago)
Author:
real3t@…
Message:

Possibilité de scripter la création des index fulltext_creer_index

Exemple PHP :
Installation des index FullText? si le plugin est présent
$f = chercher_filtre('info_plugin');
if($f('Fulltext', 'est_actif')) {

include_spip('inc/fulltext_creer_index');
fulltext_liste_creer_index('all');

}

Location:
_plugins_/fulltext/trunk
Files:
2 edited
1 copied

Legend:

Unmodified
Added
Removed
  • _plugins_/fulltext/trunk/action/fulltext_creer_index.php

    r88298 r89286  
    55if (!defined("_ECRIRE_INC_VERSION")) return;
    66
    7 
    8 include_spip('inc/fulltext');
    97function action_fulltext_creer_index_dist($arg=null){
    108
     
    1412        }
    1513
    16         list($table,$nom) = explode("/",$arg);
    17 
    18         $ok = $erreur = "";
    19         if (autoriser('webmestre')){
    20 
    21                 $tables = fulltext_liste_des_tables();
    22                 if ($table AND isset($tables[$table]) AND isset($tables[$table]['index_prop'][$nom])){
    23                         list($ok,$erreur) = fulltext_creer_index($table,$nom,$tables[$table]['index_prop'][$nom]);
    24                 }
    25                 elseif($table=="all"){
    26                         foreach($tables as $table=>$desc){
    27                                 foreach($desc['index_prop'] as $nom=>$champs){
    28                                         fulltext_creer_index($table,$nom,$champs);
    29                                 }
    30                         }
    31                 }
    32         }
    33 
     14        include_spip('inc/fulltext_creer_index');
     15        fulltext_liste_creer_index($arg);
     16       
    3417        $GLOBALS['redirect'] = _request('redirect');
    3518        if ($ok) $GLOBALS['redirect'] = parametre_url($GLOBALS['redirect'],"ok",$ok);
     
    3720
    3821}
    39 
    40 
    41 
    42 function fulltext_creer_index($table, $nom, $vals) {
    43         $index = fulltext_index($table, $vals, $nom);
    44 
    45         if ($table == 'document' && $nom == 'tout') {
    46                 // On initialise l'indexation du contenu des documents
    47                 sql_updateq("spip_documents", array('contenu' => ''), "extrait='non'");
    48         }
    49         if (!$s = sql_alter($query="TABLE " . table_objet_sql($table) . " ADD FULLTEXT " . $index)){
    50                 spip_log($query,"fulltext"._LOG_ERREUR);
    51                 return array('',"$table : " . _T('spip:erreur') . " " . mysql_errno() . " " . mysql_error());
    52         }
    53         sql_optimize(table_objet_sql($table));
    54 
    55         $keys = fulltext_keys($table);
    56         if (isset($keys[$nom]))
    57                 return array("$table : " . _T('fulltext:fulltext_cree') . " : $keys[$nom]","");
    58         else
    59                 return array("","$table : "._T('spip:erreur'));
    60 
    61 }
  • _plugins_/fulltext/trunk/inc/fulltext_creer_index.php

    r89284 r89286  
    55if (!defined("_ECRIRE_INC_VERSION")) return;
    66
    7 
    87include_spip('inc/fulltext');
    9 function action_fulltext_creer_index_dist($arg=null){
    10 
    11         if (is_null($arg)){
    12                 $securiser_action = charger_fonction('securiser_action', 'inc');
    13                 $arg = $securiser_action();
    14         }
     8function fulltext_liste_creer_index($arg=null){
    159
    1610        list($table,$nom) = explode("/",$arg);
     
    3125                }
    3226        }
    33 
    34         $GLOBALS['redirect'] = _request('redirect');
    35         if ($ok) $GLOBALS['redirect'] = parametre_url($GLOBALS['redirect'],"ok",$ok);
    36         if ($erreur) $GLOBALS['redirect'] = parametre_url($GLOBALS['redirect'],"erreur",$erreur);
    37 
    3827}
    3928
  • _plugins_/fulltext/trunk/paquet.xml

    r89126 r89286  
    22        prefix="fulltext"
    33        categorie="navigation"
    4         version="1.1.2"
     4        version="1.1.3"
    55        etat="test"
    66        compatibilite="[3.0.1;3.1.*]"
Note: See TracChangeset for help on using the changeset viewer.