php_flag display_errors On
permet d’affciher les erreurs php
php_flag display_errors On
permet d’affciher les erreurs php
Snippet pour commencer un script sous forme de plugin jQuery
; (function($, window, undefined) { /* JSlint */ 'use strict'; /* Lors de l'appel */ $.maFonction = function(options, element) { // Enregistrement des élements fournie lors de l'appel du plugin // exemple $('p').maFonction(); , ici l'elément correspont au élement <p> this.$element = $(element); // déclencher le plugin avec cette première fonction this._init(options); }; // the options $.maFonction.defaults = { 'option1' : '', 'option2' : 10, 'option3' : false }; $.maFonction.prototype = { // fonction déclencher, lors de l'appel du plugin _init: function(options) { // Associer les options fournie lors de l'appel et celle défini par défaut this.options = $.extend(true, {}, $.maFonction.defaults, options); // On appel une fonction qui déclare les variables utiles this._config(); // Premier traitement this._initCreation(); // Permet de lancer les écoutes d'évenement this._initEvent(); }, // variables utiles _config: function() { this.variable1 = true; this.variable2 = 10; }, // Premier traitement _initCreation: function() { // on duplique l'objet du plugin pour éviter de melanger les 'this' var self = this; // pour utiliser une variable déclarer dans le plugin self.variable1; // pour utiliser une options du plugin self.options.option1; }, // fonction de traitement _traitement: function() { // on duplique l'objet du plugin pour éviter de melanger les 'this' var self = this; }, // fonction pour lancer l'écoute des évenements _initEvent: function() { // on duplique l'objet du plugin pour éviter de melanger les 'this' var self = this, // evenement clic $('body').on('click', '.elements', function() { // élement de l'evenement var _this = $(this); // executer vos fonctions de traitement plutôt qu'écrire du script directement ici // exemple : self._traitement(); return false; }); $('body').on('focus', '.elements', function() { // élement de l'evenement var _this = $(this); // executer vos fonctions de traitement plutôt qu'écrire du script directement ici // exemple : self._traitement(); return false; }); }, }; /* * Permet des déclarer un nouveau plugin de jQuery */ $.fn.maFonction = function(options) { if (typeof options === 'string') { var args = Array.prototype.slice.call(arguments, 1); this.each(function() { var instance = $.data(this, 'maFonction'); if (!instance) { logError("ne peut pas appeler des méthodes sur maFonction avant l'initialisation; " + "tenté d'appeler la méthode '" + options + "'"); return; } if (!$.isFunction(instance[options]) || options.charAt(0) === "_") { logError("Aucune de ces méthodes '" + options + "' par exemple de maFonction"); return; } instance[ options ].apply(instance, args); }); } else { this.each(function() { var instance = $.data(this, 'maFonction'); if (instance) { instance._init(); } else { instance = $.data(this, 'maFonction', new $.maFonction(options, this)); } }); } return this; }; })(jQuery, window);
Une fonction PHP permettant d’afficher « il y a moins d’une minute », « il y a X minutes », « il y a X heures », « Hier à « , sinon la fonction retourne la date en Français. La date attendue en paramètres est au format « Y-m-d h:i:s »
function dateFrToday($date) {
$year = $date[0] . $date[1] . $date[2] . $date[3];
$month = $date[5] . $date[6];
$day = $date[8] . $date[9];
$heure = $date[11] . $date[12];
$minutes = $date[14] . $date[15];
$dateVariable = $year . '-' . $month . '-' . $day;
if ($dateVariable == date(‘Y-m-d’)) { //Si c’est aujourd’hui
$iTimeDifference = time() – strtotime($date);
if ($iTimeDifference < 0) {
return;
}
$iSeconds = $iTimeDifference;
$iMinutes = round($iTimeDifference / 60);
$iHours = round($iTimeDifference / 3600);
if ($iSeconds < 60)
return « Il y a moins d’une minute »;
elseif ($iMinutes < 60)
return ‘Il y a ‘ . $iMinutes . ‘ minute’ . ( $iMinutes > 1 ? ‘s’ : » );
elseif ($iHours < 24)
return ‘Il y a ‘ . $iHours . ‘ heure’ . ($iHours > 1 ? ‘s’ : » );
} else if (strtotime($dateVariable) == strtotime(date(‘Y-m-d’) . ‘ – 1 DAY’)) { // Si la date correspond à hier
// si égale a J-1 on affiche « Hier »
return ‘Hier à ‘ . $heure . ‘h’ . $minutes;
} else {
//sinon, la date en Français
return $day . ‘/’ . $month . ‘/’ . $year . ‘ à ‘ . $heure . ‘h’ . $minutes;
}
}
Il arrive souvent que l’on ait besoin de mettre à jour un bout de code, comme par exemple pour changer le nom d’une fonction, ou par exemple une liste d’id d’une base à mettre à jour. Au lieux de passer 5 minutes à faire des copier coller, on peut faire un recherche / remplace à l’aide d’une expression régulière.
Premier cas :
Je souhaite faire un update sur une liste d’id récupérer avec PHPMyAdmin, sans avoir à recopier la requête autant de fois qu’il y a d’id, je souhaite générer directement toute les requête d’un coup
Voici ma liste d’id que souhaite mettre à jour
(35), (43), (58), (63), (68), (70), (71), (98), (113), (117), (150), (180), (359), (426), (463);
On voit ici un structure récurrente, des parenthèses autour du numéro avec un virgule après.
Voici la recherche avancée :
\((.*)\),
On échappe les parenthèses que l’on cherche, et on en utilise pour capture du numéro. Lors du remplacement, il suffira d’appeler $1 pour récupérer notre capture.
Le remplacement :
UPDATE `table` SET `actif` = '0' WHERE `table`.`id` = $1 ;
Deuxième cas :
Sources
<?php
mon_ancien_fonction( $param, 'chaine' );
?>
Recherche
mon_ancien_fonction\( (.*) \);
Remplace
nouvelle_fonction( $1 );
Il peuvent s’adapter facilement à d’autre situation, afin de faire des essais ce site joue bien son rôle : http://regexp.zug.fr/
pour enregistrer :
:wq
pour toutes les lignes d’un seul coup :
:%d
Pour éviter les caractères spéciaux lors du décodage d’un utf8_encode d’un json
[pastacode provider= »manual » lang= »php »]
function utf2latin($text) {
$text=htmlentities($text,ENT_COMPAT,'UTF-8');
return html_entity_decode($text,ENT_COMPAT,'ISO-8859-1');
}
[/pastacode]
echo "Mailer Error: " . $mail->ErrorInfo;
Si le tracking du nombre de visiteurs ne fonctionne plus, il suffit d’aller dans les modules et de réinitialiser ce module :
Les stats refonctionneront après
$lastmod = '2012-11-28 10:53:17'; //MySQL datetime format
$datetime = new DateTime($lastmod);
$result = $datetime->format('Y-m-d\TH:i:sP');
echo $result; //2012-11-28T10:53:17+01:00
Dans le fichier invoice.tpl du dossier pdf
Il suffit d’ajouter
{$order_detail.reference}
Par exemple :
<td style="text-align: left; width: 28%">{$order_detail.reference}</td>