Changeset 110683 in spip-zone
- Timestamp:
- Jun 15, 2018, 3:42:58 PM (3 years ago)
- Location:
- _plugins_/rechremp/branches/v0
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/rechremp/branches/v0/formulaires/rechercher_remplacer.php
r49251 r110683 3 3 include_spip('inc/utils'); 4 4 5 // texte figurant par défaut dans la zone de saisie 5 6 define("TXT_A_RECHERCHER", "votre recherche"); 6 7 8 // taille du contexte max affiché avant et après chaque extrait trouvé 9 define("CONTEXTE_NB_CHARS", 10); 10 7 11 function remplace_txt($entite, $id, $champs, $txt_search, $remplace, $remplace_par="") { 12 $n=intval(CONTEXTE_NB_CHARS); 13 $m=max($n-1,0); 14 8 15 $nom_table = "spip_".$entite; 9 16 if($entite=="article" || $entite=="rubrique" || $entite=="auteur") … … 17 24 } 18 25 26 $pattern = "/(^.{0,$m}|.{".$n.'})'.preg_quote($txt_search, '/')."(.{0,$m}$|.{".$n.'})/m'; 27 19 28 if($resultats = sql_select($select, $nom_table)) { 20 29 while($res = sql_fetch($resultats)) { 21 30 $nouvelles_valeurs = array(); 22 $ update= false;23 31 $found = false; 32 $details = ''; 24 33 // on parcourt tous les champs 25 34 foreach ($champs as $i => $nom_champ) { 26 35 $nb = 0; 36 37 if ($m and preg_match_all($pattern, $res[$nom_champ], $matches)) 38 $details .= '..'.implode ('...', $matches[0]).'.. '; 27 39 $nouvelles_valeurs[$nom_champ] = str_replace($txt_search, $remplace_par, $res[$nom_champ], $nb); 28 if($nb>0) $update = true; 40 if($nb>0) 41 $found = true; 29 42 } 30 43 31 // Mise à jour d'un champ de la table 32 if($update) { 44 if($found) { 33 45 $retour .= "Texte trouvé dans <a href=\"".generer_url_entite($res[$id], $entite)."\">$entite ".$res[$id]."</a><br>"; 46 // Mise à jour d'un champ de la table 34 47 if($remplace) 35 48 sql_updateq($nom_table, $nouvelles_valeurs, $id."=".intval($res[$id])); 49 elseif ($m) 50 $retour .= "<small style='margin-left: 2em'><small>".htmlspecialchars($details)."</small></small><br>"; 36 51 } 37 52 } -
_plugins_/rechremp/branches/v0/plugin.xml
r103720 r110683 8 8 </description> 9 9 <etat>stable</etat> 10 <version>0. 1.2</version>10 <version>0.2.0</version> 11 11 <prefix>rechremp</prefix> 12 12 <icon>images/rechremp-32.png</icon>
Note: See TracChangeset
for help on using the changeset viewer.