Gagnez du temps en trouvant réponse aux multiples tracas quotidien du développeur…

Perte synchronisation Google Calendar et Thunderbird 15

Après la mise à jour de Thunderbird 15.0.1, vous avez perdu votre agenda Google dans la messagerie ?

Il suffit de mettre à jour Provider for Google Calendar (ou Fournisseur pour Google Agenda) 0.16

Passage TVA 5.5% à 7% au 01/01/2012 : les arrondis

Comment mettre à jour facilement le catalogue de votre site e-commerce avec le nouveau taux de TVA et gérer les arrondis ?
Facile de créer le code et le taux de TVA à 7%, mais, si vous obtenez bien un nouveau prix exact, voici comment maîtriser vos arrondis pour avoir des prix plus faciles à retenir ou plus “psychologiques”.

Dans le contexte Zencart, les étapes sont les suivantes :

  • - créer la classe de taxe et le taux de taxe à 7%,
  • - mettre à jour tous les produits concernés avec le nouveau code correspondant au taux de 7% par la requête

UPDATE zen_products SET products_tax_class_id = X,

  • calculer et mettre à jour les produits par la requête

UPDATE zen_products SET products_price = ceil(round(products_price * 1.07,1)*2)/2,products_price = round(products_price / 1.07,4)
et
UPDATE zen_products_attributes SET options_values_price = ceil(round(options_values_price * 1.07,1)*2)/2, options_values_price = round(options_values_price / 1.07,4)

Que fait cette requête ?

  1. calcul du nouveau prix TTC avec la TVA à 7%
  2. arrondi au 1/2 euro supérieur
  3. mise à jour du nouveau prix HT

Variantes possibles :

  • 1/2 euro inférieur remplacer ceil() par floor()
  • ajuster les décimales au niveau de round()

A vous de jouer et bonne année 2012 !

Contact form 7 et safe mode on

Phénomène après installation du plugin contact form 7 et de really-simple-captcha dans un environnement où le safe mode est activé :

“Warning: imagepng() [function.imagepng]: SAFE MODE Restriction in effect. The script whose uid is 77777 is not allowed to access www/wp-content/wpcf7_captcha owned by uid 99 in www/wp-content/plugins/really-simple-captcha/really-simple-captcha.php on line xxx”

Bien que le code du script mentionne que le répertoire temporaire soit “tmp”, il se trouve être wp-contents/uploads/wpcf7_captcha !

Comme ce répertoire est créé par le script, il ne possède pas les droits de groupe reconnus par le safe_mode=on.

Il suffit donc d’accéder par FTP à ce répertoire wp-contents/uploads/wpcf7_captcha, de le détruire, puis de le recréer.

Zencart : cannot redeclare class …

Pour éviter les angoisses et la perte de temps, il suffit de vérifier que vous n’avez pas trop de script php sur un même emplacement.

Ce qui peut arriver lorsque vous conservez une sauvegarde d’un script modifié avec un nom légèrement différent avec la même extension php.

Exemple vécu :
dans le répertoire modules/pages/checkout_shipping vous faire une modif dans header_php.php, vous conserver la version initiale sous le nom header_php-original.php.
Et vous avez l’erreur “PHP fatal error : cannot redeclare class order …”
Parce que Zencart lit tous les scripts php du répertoire !

Donc pensez à renommer votre script original avec une extension différente, quelle qu’elle soit.
Par exemple header_php.backphp

Cette astuce est valable aussi pour les feuilles de style !
Vérifiez dans le code source de la page si vous n’entraînez pas  des css inutiles !

Timthumb pas d’image !

Après l’alerte vulnérabilité, la version 2 complètement réécrite corrige et améliore cet excellent script.

Toutefois, il peut arriver qu’en remplaçant la version précédente, vous n’ayez plus aucune image !

Avec le debug=true, on s’aperçoit que la gestion du répertoire dépend de l’environnement du site…

La modification apportée a consisté, pour nous, à remplacer ligne 785
$docRoot = @$_SERVER['DOCUMENT_ROOT'];
par
$docRoot = @$_SERVER['HTTP_RACINE'];

Le plus simple est de choisir la bonne variable avec un phpinfo.

Autre astuce :
Renvoyer l’error_log sur son email en l’ajoutant vers la ligne 1062 à
error_log(“TimThumb Debug line ” . __LINE__ . ” [$execTime : $tick]: $msg”);
qui devient
error_log(“TimThumb Debug line ” . __LINE__ . ” [$execTime : $tick]: $msg”, 1, “moi@monsite.com”);

N’hésitez pas à nous contacter !

Le site de l’auteur : http://www.binarymoon.co.uk/
La dernière version (2.8 au 01/09/2011) : http://timthumb.googlecode.com/svn/trunk/timthumb.php
Les paramètres décortiqués : http://www.binarymoon.co.uk/demo/

Vulnerabilité timthumb corrigée sur nos sites sous WordPress

Commentaires fermés

De nombreux sites, y compris la presse spécialisée, ont signalé une vulnérabilité de timthumb (qui permet de redimensionner les images).

Tous les sites de nos clients sont maintenant à jour des modifications opérées sur ce script au 04/08/2111.

La dernière version est accessible ici.

WordPress : gérer/supprimer les révisions

Commentaires fermés

Ajouter dans wp-config.php :
- define(‘WP_POST_REVISIONS’, false); // aucune révision ou
- define(‘WP_POST_REVISIONS’,  3); // ou nombre de révisions, ici 3

Pour supprimer les révisions existantes, exécuter la requête SQL suivante :
DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = ‘revision’;

WordPress : upload média impossible

Commentaires fermés

Par FTP, vérifier que le répertoire uploads a les mêmes droits propriétaire/groupe.

temps gagné : 1 à 4 heures, après recherche sur le safe mode = on, les droits du répertoire.

Conseil : créer le répertoire uploads par FTP au moment de l’installation.
Vrai aussi pour le répertoire cache…

Propriétaire/groupe des reperoires uploads et cache

Créer une adresse DynDNS sur LiveBox SAGEM

Commentaires fermés

Attention, c’est la reprise d’un article de décembre 2005, sans mise à jour !
En souhaitant que les nombreux visiteurs trouve une piste dans ce tuto…

Lire la suite… »