Saluer nos inscrits ou les surprendre

Avec Piwigo, dans votre thème personnel, vous aurez peut-être pris soin déjà de coder :

include_once(PHPWG_ROOT_PATH .'themes/mon_theme/include/functions.inc.php');

ou

include_once(PHPWG_ROOT_PATH .'local/php/functions.inc.php');

Alors sans le moindre plugin, vous pouvez compléter votre galerie de fonctions diverses et variées.
Continuer la lecture de « Saluer nos inscrits ou les surprendre »

La mise en œuvre de getParam()

Dans le cadre de Piwigo, la fonction getParam() expliquée dans cet autre billet va nous permettre de présenter des images en fonction de différents paramètres.

Avant tout, nous allons étudier où introduire cette fonction dans Piwigo. Cette fonction pourrait avoir sa place à plusieurs endroits, essentiellement dans :
– un plugin, et plus précisément plugins/PersonalPlugin/main.inc.php (également éditable en ligne par LocalFiles Editor), ou
– un thème, et plus précisément dans un themeconf.inc.php (mais ceux-ci ne sont pas éditables en ligne à ce jour).

Avec de bons arguments, je considère que sa place est dans le themeconf.inc.php, car l’appel de cette fonction concerne l’affichage final.
Si nous placions cette fonction dans un plugin, il ne faudrait jamais perdre de vue que le plugin devrait rester actif.
En le plaçant dans la configuration du thème, nous n’aurons qu’à créer des templates sur lesquels nous souhaitons agir différement.

Exemples dans un thème personnel. Continuer la lecture de « La mise en œuvre de getParam() »

Avec de bons arguments

Pour une utilisation dans Piwigo, mais cela pourrait également convenir à d’autres logiciels, je vous propose de découvrir une petite fonction PHP toute simple.

if ( !function_exists( 'getParam' )) {
  function getParam($name, $def = false) {
    if (defined('IN_ADMIN') and IN_ADMIN) return $def;
    foreach ( $_REQUEST as $k => $v ) {
      if ( is_string($k) and stripos( $k, $name ) > 0 )
        return trim(preg_replace("/[^0-9a-z\-_\.]+/i", " ", $k)); // Remove anything but 0-9,a-z,-_
      // permalink, category_url_style in 'id-name', picture_url_style in id-file
    }
    return $def;
  }
}

Avant de l’utiliser, je me propose une explication minimaliste.
Cette fonction PHP fait appel à un preg_replace et une expression rationnelle.
L’objectif est de conserver uniquement les caractères comme le point, la virgule, les 2 tirets (- et _), les lettres (minuscules ou majuscules, mais pas les lettres accentuées) et les chiffres.
Par exemple, supposons que nous ayons ceci :

$_POST['avant'] = 'Quel 1er_paramètre ? Un argument';
echo getParam('avant');

alors nous devrions avoir en retour :

Quel 1er_paramtre   Un argument

L’intérêt sera de sécuriser votre site lors de l’appel à cette fonction.

Découvrir la mise en œuvre de cette fonction.