Outils pour utilisateurs

Outils du site


informatique:wordpress:plugin:sanitizer

Sanitizer

Date de création : 2021/06/14 12:31

 

Il peux être parfois nécessaire de sanitizer des listes de mots et pour cela Wordpress à déja des fonctions étudiées pour.

Grace à ce plugin il est possible de se service de wordpress pour le faire de manière plus rapide que ligne par ligne ou à la main.

installation

Pour installer Sanitizer il faut télécharger le fichier puis dans wordpress ajouter une extensions.

En haute de la page cliquer sur Téléverser une extension et choisir le fichier ZIP. enfin il ne reste plus qu'a l'activer.

Si l'installation ne fonctionne pas il faudra déposer directement le fichier sanitizer.php dans votre dossier wp-contents.

📦wordpress
 ┣ 📂wp-contents
 ┃ ┣ 📂plugins
 ┃ ┃ ┗ 📜sanitizer.php

ensuite dans le menu activer et un nouveau choix apparaît :

Worpdress_sanitizer_menu

il suffit de clique dessus pour accéder au plugin :

Worpdress_sanitizer_interface

voila bonne Sanitization.

<?php
/**
 * @package Sanitize
 * @version 1.0.0
 */
/*
Plugin Name: Sanitize
Plugin URI: http://wiki.johnben.fr/doku.php?id=informatique:programmation:wordpress:plugin:sanitizer
Description: sanitization de mots.
Author: John Ben
Version: 1.0.0
Author URI: http://johnben.ch/
*/
 
add_action( 'admin_menu', 'menuSanitize' );
 
function menuSanitize (){
   add_menu_page( 'Sanitizer', 'Sanitizer', 'manage_options', 'sanitize_Plugin', 'my_plugin_options' );
}
 
add_action( 'wp_enqueue_scripts','stylesSanitizer');
 
function stylesSanitizer() {
   wp_register_style('sanitizer', plugins_url('sanitizer/style.css'));
   wp_enqueue_style('sanitizer');
}
 
function my_plugin_options() {
 
   // control option manager ok
	if ( !current_user_can( 'manage_options' ) )  {
		wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
	}
 
	echo '<div class="wrap">';
   echo '<h1> Sanitizer </h1>';
	echo '<p>Coller ici le texte à Sanitizer.</p>';
	echo '</div>';
 
   ?>
   <form action="#" method="post">
      <textarea name="texte" type="textarea" rows=10 cols=100 require></textarea>
      <h2>Réglage d'entrée</h2>
      <h2>Séparateur de mots</h2>
      <div>
         <input type="radio" id="virgule" name="inputSeparateur" value="," checked>
         <label for="virgule"> ,</label>
      </div>
      <div>
         <input type="radio" id="pointVirgule" name="inputSeparateur" value=";">
         <label for="pointVirgule"> ;</label>
      </div>
      <div>
         <input type="radio" id="point" name="inputSeparateur" value=".">
         <label for="point"> .</label>
      </div>
      <h2>Choix du délimiteur de mots</h2>
      <div>
         <input type="radio" id="guillemet" name="inputDelimite" value='"'
                  checked>
         <label for="guillemet">"maValeur"</label>
      </div>
      <div>
         <input type="radio" id="apostrophe" name="inputDelimite" value="'">
         <label for="apostrophe">'maValeur'</label>
      </div>
      <div>
         <input type="radio" id="rien" name="inputDelimite" value=''>
         <label for="guillemet"></label>
      </div>
 
      <h2>Selection du mode de Sanitization :</h2>
      <div>
         <input type="radio" id="Sanitize_title" name="ouputMode" value="Sanitize_title" checked>
         <label for="Sanitize_title">Titre => http-lien-com-et-text-pour-voir</label>
      </div>
      <div>
         <input type="radio" id="sanitize_file_name" name="ouputMode" value="sanitize_file_name">
         <label for="sanitize_file_name"> Nom de Fichier => lien.com-et-Text-pOur-voir</label>
      </div>
      <div>
         <input type="radio" id="sanitize_key" name="ouputMode" value="sanitize_key">
         <label for="sanitize_key">Clé => liencomettextpourvoir</label>
      </div>
      <div>
         <input type="radio" id="sanitize_text_field" name="ouputMode" value="sanitize_text_field">
         <label for="sanitize_text_field"> Champ de Text => http://lien.com et text pour voir</label>
      </div>
      <h2>Choix du séparateur de mots</h2>
      <div>
         <input type="radio" id="pointVirgule" name="ouputSeparateur" value=";" checked>
         <label for="pointVirgule"> ;</label>
      </div>
      <div>
         <input type="radio" id="virgule" name="ouputSeparateur" value=",">
         <label for="virgule"> ,</label>
      </div>
      <div>
         <input type="radio" id="point" name="ouputSeparateur" value=".">
         <label for="point"> .</label>
      </div>
      <h2>Choix du délimiteur de mots</h2>
      <div>
         <input type="radio" id="guillemet" name="ouputDelimite" value='"'
                  checked>
         <label for="guillemet">"maValeur"</label>
      </div>
      <div>
         <input type="radio" id="apostrophe" name="ouputDelimite" value="'">
         <label for="apostrophe">'maValeur'</label>
      </div>
      <div>
         <input type="radio" id="rien" name="ouputDelimite" value=''>
         <label for="guillemet"></label>
      </div>
      <br>
      <input type="hidden" name="formaction" value="default" />
         <p><input type="submit" value="OK" name="submit"></p>
   </form>
  <?php
 
   if(isset($_POST['submit']))
   {
      sanitize($_POST['texte'], $_POST['inputSeparateur'],$_POST['inputDelimite'], $_POST['ouputMode'], $_POST['ouputSeparateur'], $_POST['ouputDelimite']);
   }
 
}
 
function sanitize($post) {
 
   if (empty($post)) {
      echo 'Pas de mots à convertir !';
      exit;
   }
 
   $result [] = $post;
   for ($i=0; $i < count($result); $i++) {
      $tableauDeMots = explode($_POST['inputSeparateur'].$_POST['inputDelimite'], $result[$i]);
   }
 
   // Message d'information.
   echo "Il y a : " . count($tableauDeMots)
                .  " mots au format : "
                . stripslashes($_POST['ouputDelimite'])
                . "monMots"
                . stripslashes($_POST['ouputDelimite'])
                . $_POST['ouputSeparateur']
                ."<br>";
 
   // Sanitize chaque mots du tableau
   for ($i=0 ; $i < count($tableauDeMots); $i++) {
      $tableauDeMotsSanitize [] = $_POST['ouputMode']($tableauDeMots[$i]);
   }
 
   // Affiche tout les mots du tableau dans un TextArea
   ?><textarea name="texte" type="textarea" cols="100" rows="10"><?php
   //echo implode($_POST['ouputSeparateur'], $tableauDeMotsSanitize);
 
   for ($i=0; $i < count($tableauDeMotsSanitize); $i++) {
 
      // Mise en forme
      // stripcslashes supprime le back slash devant " ou '
      echo stripslashes($_POST['ouputDelimite']);
      echo $tableauDeMotsSanitize[$i] ;
      echo stripslashes($_POST['ouputDelimite']);
      // pour enlever la derniere séparation
      if ($i < count($tableauDeMotsSanitize)-1) {
         echo $_POST['ouputSeparateur'];
      }
 
   }
   ?></textarea><?php
 
}

Page dans la catégorie:

informatique/wordpress/plugin/sanitizer.txt · Dernière modification : 2022/04/10 17:44 de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki