var Phenix = function () {

Troll du Web depuis 1996

Anti-hack des arguments

  1. //-- anti hack des arguments --------------------------------------
  2. function check_arg($key,$type='s',$pardefaut='',$len=80) {
  3.  
  4.  // change l'odre de $_REQUEST[$key]
  5.  
  6.  if($key=="email") {
  7.    if(isset($_GET[$key] )) { $arg = $_GET[$key]; }
  8.    else {
  9.      if(isset($_POST[$key] )) $arg = $_POST[$key];
  10.      else
  11.            if(isset($_COOKIE[$key] )) $arg = $_COOKIE[$key];
  12.            else if(isset($_SESSION[$key] )) $arg = $_SESSION[$key];
  13.          else $arg=$pardefaut;  
  14.    }
  15.  }
  16.  else {
  17.   if(isset($_REQUEST[$key])) $arg = $_REQUEST[$key];
  18.   else $arg=$pardefaut;  
  19.  }
  20.  
  21.   switch ($type) {
  22.     case 's': // string
  23.             $arg = substr($arg,0,$len);
  24.       break;
  25.     case 'sd': // string database
  26.       $trans = array("%" => "", "," => "", ";" => "");          // anti hack db
  27.       $arg =  trim(strtr(substr($arg,0,$len),$trans));
  28.       break;
  29.     case 'n':  // nombre
  30.           $arg = $arg + 0;
  31.     default:
  32.       $arg = trim($arg);
  33.   }  
  34.  
  35.   return($arg);
  36. }

Si quelqu’un comprend ce qui ce passe, qu’il n’hésite pas à m’éclairer...

Mention spécial pour ce passage :

  1.  $trans = array("%" => "", "," => "", ";" => "");               // anti hack db
  2.  $arg =  trim(strtr(substr($arg,0,$len),$trans));

Worlpress...

  1. include_once("config.php");
  2. $config['run_include'] = ""; // execution pas inclus dans worldpress
  3. include_once("mlist.php");

Non, je sais que Wordpress a une grosse part du marché des CMS, mais quand même...


Une commande #bash findrm pour ce faciliter la mémoire

La commande find est extrêmement pratique. Surtout quand on la met en musique avec la commande rm pour faire le ménage dans certain dossier.

Cependant, je trouve la syntaxe assez complexe, et j’en ai marre de faire une recherche Google à chaque fois. Du coup, hop, une petite fonction bash à mettre dans le fichier .bashrc :

  1. # Trouver et supprimer certains fichiers
  2. findrm () {
  3.     if [ "$1" != "" ]; then
  4.         find . -name "$1" | xargs rm -vf
  5.     fi
  6. }

Merci jluc qui m’a signalé qu’il valait quand même mieux tester l’existence de $1 avant de faire n’importe quoi !

Besoin de supprimer tous ces fichiers .DS_Store qu’un vilain utilisateur de Mac à mis dans un dossier ? findrm ".DS_Store" !

J’ai activé le mode verbose (-v quoi) de la commande rm pour avoir un détail de ce qui se passe.
Attention quand même à bien faire un backup avant, car cette fonction ne va pas vous demander votre avis avant de supprimer les éléments !

Edit :

On me signale que c’est plus optimisé d’utiliser xarg ! Merci tofulm.

  1. # Trouver et supprimer certains fichiers
  2. findrm () {
  3.     find . -name "$1" | xargs rm -vf
  4. }

Un moteur de recherche dans les catégories #Wordpress

Avoir un petit moteur de recherche pour les articles d’une catégorie Wordpress est en fait assez simple, pas besoin de ce lancer dans une chasse aux plugins.

Cela ne demande qu’un petit formulaire à mettre dans le template de catégorie.
Si vous n’avez pas envie de l’avoir dans toutes les catégories, vous pouvez simplement créer un template category-(slug ou ID).php.

  1. <form action="./" method="get">
  2.         <input name="search" type="text" value="<?php echo $_GET['search']; ?>" placeholder="Recherche" />
  3.         <input type="submit" value="Recherche"/>
  4. </form>

Et ensuite une petite WP_Query qui va faire tout le boulot :

  1. <?php
  2. $args = array(
  3. 's' => ($_GET['search']) ?: null, // Un opérateur Elvis, parce que c'est cool !
  4. 'cat' => $cat // L'ID de la catégory
  5. );
  6. $query = new WP_Query( $args );
  7.  
  8. while ( $query->have_posts() ) : $query->the_post();
  9. get_template_part( 'content', 'single' ); // A vous d'avoir un template pour afficher tout ça hein !
  10. endwhile;
  11. wp_reset_postdata();

Rien de sorcier donc, et surtout pas de faille de sécurité plugin usine à gaz d’installer pour faire ce formulaire.