Zenphoto en version 1.2.5

zenphoto Zenphoto a été mis à jour de la version 1.2.3 à la version 1.2.5. J’en ai profité pour modifier un peu la partie « Commentaires ».

En fait, je me suis aperçu que lorsqu’un commentaire était envoyé, un message d’erreur s’affichait (même si le commentaire était enregistré). Après quelques recherches, ce problème était résolu avec la dernière version.

D »autre part, j’avais observé une baisse très nette des commentaires depuis que j’avais mis en place une « captcha », afin de protéger l’album des spams (je commençais à en recevoir souvent).
Mais si les initiales de captcha signifient Completely Automated Public Turing test to Tell Computers and Humans Apart, soit en français, « test public de Turing complètement automatique ayant pour but de différencier les humains des ordinateurs », cela semble autant rebuter les humains que les machines…

Enfin, je n’étais pas spécialement content de l’apparence du formulaire de recherche.

J’ai donc viré la captcha, je verrais si je reçois toujours des spams, et si d’autres moyens (comme askimet ou spamassassin) ne peuvent être employés, zenphoto en accepte plusieurs. J’ai revu le formulaire, il est maintenant plus joli :

entrer un commentaire

Et après la mise à jour, le message d’erreur avait effectivement disparu. Les commentaires sont donc ouverts pour les photos du Lambon, journée de dimanche, qui ne va pas tarder à arriver !

Notes de mise à jour

Pour mémoire, voilà les petits soucis durant la mise à jour :

1. Message d’erreur sur le blog WordPress lors de l’affichage de la bannière

La bannière s’affichait bien, mais juste au-dessus le message suivant apparaissait :

Use of undefined constant silent – assumed ‘silent’ in /var/www/wordpress/zenphoto/themes/testing-dev/heading.php on line 4

Après une question sur le forum de zenphoto, il fallait modifier le fichierheading.php : utiliser ‘true’ au lieu de ‘silent’ comme paramètre de la fonction checkforPassword(), et de préférence utiliser la nouvelle fonction newImage(). Ce qui donne ceci :

Avant :

if (is_null($randomImage) || checkforPassword(silent)) {
$randomImage= newImage(new Album(new Gallery(), ''), 'zen-logo.jpg' );
}

Après :

if (is_null($randomImage) || checkforPassword(true)) {
$randomImage= newImage(new Album(new Gallery(), ''), 'zen-logo.jpg' );
}

2. La zone de recherche

Un bouton permettant de sélectionner les catégories de recherche, inutile à mon goût, apparaissait. De plus, le bouton Chercher s’affichait alors une ligne en dessous :

un bouton de trop

Pour supprimer ce bouton, il faut éditer le fichier template-functions.php dans le répertoire zp-core, et supprimer les lignes suivantes (4024, 4025 et 4026) :

<?php if(count($fields) > 1) { ?>
<a href="javascript:toggle('searchextrashow');"><?php echo gettext('select search fields'); ?>
<?php } ?>

Et donc à refaire après chaque mise à jour…

3. Fonction show_subalbum_count()

Cette fonction me permettait d’afficher en bas de page le nombre de sous-albums. Apparemment, elle n’existe plus, et il faut utiliser get_subalbum_count() à la place.

J’ai dû également modifier le fichier customfunctions.php pour que tout s’affiche correctement, c’est-à-dire remplacer ‘print’ par ‘echo’ :

Avant :

function get_subalbum_count() {
	$sql = "SELECT COUNT(id) FROM ". prefix("albums") ." WHERE parentid IS NOT NULL";
	if (!zp_loggedin()) {$sql .= " AND `show` = 1"; }  /* exclude the unpublished albums */
	$result = query($sql);
	$count = mysql_result($result, 0);
	print $count;
}

Après :

function get_subalbum_count() {
	$sql = "SELECT COUNT(id) FROM ". prefix("albums") ." WHERE parentid IS NOT NULL";
	if (!zp_loggedin()) {$sql .= " AND `show` = 1"; }  /* exclude the unpublished albums */
	$result = query($sql);
	$count = mysql_result($result, 0);
	echo $count;
}

Pour rappel, voilà le code qui me sert à afficher le bas de page :

<?php require ('customfunctions.php'); ?>

Albums: <?php $albumNumber = getNumAlbums(); echo $albumNumber ?> 
· 
Sous-Albums:  
· 
Photos: <?php $photosArray = query_single_row("SELECT count(*) FROM ".prefix('images')); 
$photosNumber = array_shift($photosArray); echo $photosNumber ?> 
<?php if (getOption('Allow_comments')) { ?>
· 
Commentaires: <?php $commentsArray = query_single_row("SELECT count(*) FROM ".prefix('comments')." WHERE inmoderation = 0"); 
$commentsNumber = array_shift($commentsArray); echo $commentsNumber ?>
<?php } ?> 
· 
<?php echo gettext("Propulsé par zenPHOTO  1.3.1.2"); ?>

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-10333148-2");
pageTracker._trackPageview();
} catch(err) {}

5 réflexions sur « Zenphoto en version 1.2.5 »

  1. bonjour, je suis sous zenphoto version 1.2.8 et l’affichage ne fonctionne pas totalement. J’ai le bon nombre d’albums, mais le script bloque sur le comptage des sous-albums, ce qui a pour effet d’inhiber la suite du script, et d’ignorer le reste du footer. Si j’ôte le comptage de sous-albums, alors j’ai cette fois l’affichage du nombre d’albums, de photos, ignorant le nombre de commentaires, mais j’ai le reste du footer en entier.
    Est-ce dù à ma version 1.2.8 ?
    Merci par avance.

  2. L’affichage de mon code dans l’article n’est pas génial, faudra que je regarde ça.
    Mais la fonction que j’utilise est bien get_subalbum_count(), et elle fonctionne très bien, que ce soit en 1.2.5 ou 1.3.1.2 (que j’utilise maintenant).
    Je t’envoie mon fichier footer.php par mail ; vérifies que la fonction est bien présente dans le fichier customfunctions.php (dans le répertoire du thème), que je t’envoie aussi. C’est d’ailleurs certainement cela le problème : ce fichier n’est pas présent par défaut… et je ne sais plus comment je me suis retrouvé à l’utiliser ou le créer. Peu importe, avec la fonction définie dans ce fichier, ça roule !

  3. Bonjour Pascal,

    en fait, mon footer était bon, et en effet, je n’avais pas dans le répertoire de mon thème « zenpagedefault » le fichier customfunctions.php (même dans la version 1.3.1.2…) , ceci explique cela.

    Maintenant, le script fonctionne correctement. Je viens de faire mes essais en local, le serveur 1&1 n’est pas encore mis à jour, du reste, étant en v1.2.8 je vais bientôt le passer en v1.3.1.2

    A ce propos, y-a-t’il des précautions particulières pour upgrader, ou puis-je carrément recopier mes fichiers dans les répertoires de l’ancienne version ?

    Merci pour ta contribution, j’aurais pu chercher encore pendant longtemps d’autant que je ne connais que trop peu le PHP.

    Cordialement, Philippe LE GUEN

  4. Bonjour Philippe,

    Content que ça marche.

    Concernant la mise à jour, je procède comme suit :
    – renommer les répertoires existants (zp-core, zp-data et plugins) en zp-core128, zp-data128 et plugins128
    – sauvegarde des fichiers à la racine, y compris le .htaccess.
    – copie via ftp des nouveaux zp-core, zp-data et plugins ainsi que les fichiers à la racine.
    – pour le répertoire thème, idem mais sans écraser celui que j’utilise
    – et l’upgrade se lance automatiquement en allant sur l’URL de l’album photo

    Auparavant, préparer le fichier zp-config.php et le placer dans le répertoire zp-data.

    Sinon, la doc officielle donne les instructions ici :
    http://www.zenphoto.org/2008/08/installation-and-upgrading/

    Attention peut-être au fichier .htaccess, restaurer l’ancien si nécessaire.

    Chez Free, c’est un peu plus compliqué, j’ai fait un article à ce sujet.

    Cordialement,
    Pascal

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *