Alors "Passer ce sujet comme résolu" (post initial).
Je reviens sur mon post pour y mettre définitivement un terme, pour vous dire que cela fonctionne enfin !!!!
La méthode de repie38 fonctionne parfaitement... c'est seulement moi qui avait mal copier/coller le bout de code :(
Le résultat que j'espérais tant est enfin là !!
Merci beaucoup, en vous souhaitant une bonne journée
Amicalement
leptitfredy
Re-bonsoir repie8 ;)
Voici donc la portion de code que j'ai ajouté dans la table des infos (dans un template extension de picture.tpl) :
<tr>
<td class="label">Cette carte a aujourd‘hui </td>
<td class="value">{if isset($INFO_CREATION_DATE)}
{php}
global $picture;
$a=$picture['current']['date_available'];
$b=floor((time()-mktime(0,0,0,substr($a,5,2),substr($a,8,2),substr($a,0,4)) )/(60*60*24*365));
if ($b==1) $c="1 an";elseif ($b==0) $c="moins d'1 an";else $c=$b." ans";
$this->assign('AGE', $c);
{/php}
{$AGE}
{else}{'N/A'|@translate}{/if}</td>
</tr>
...mais la phrase affichée est toujours "Cette carte a aujourd'hui moins d'1 an", que le calcul se fasse à partir de la date d'ajout, ou bien par la date de création !?!
Ai-je raté quelque chose quelque part ?
J'ajoute que j'ai bien sûr modifié à outrance la date de création, mais aucun changement :(
leptitfredy a écrit:
Bonsoir vous tous
Ca y'est, mon système de datation automatique fonctionne (version de p@t) et le résultat est parfait !!
Seul petit doute.... lorsque je change l'année dans mon windows (en bas à droite de l'écran) et que je recharge la page... l'âge de la carte ne change pas !?! J'ai essayé en purgeant les sessions piwigo, vidé l'historique de firefox, mais rien ne change...
L'âge seraitl calculé autrement ?
Car sinon au passage du 1er janvier 2010, il ne vas pas évolué et resterait figé à celui de son enregistrement initial... pas génial :S
Besoin d'être rassuré à ce sujet...
l'age ne change pas car le calcul est fait sur le serveur, en prenant sa date courante et la date renseigné ;)
leptitfredy, par mail a écrit:
Je viens de passer en piwigo et j'en ai profité par appliquer ce code... mais la phrase qui s'affiche est toujours : "Dispo sur mon super site depuis moins d'1 an " que ce soit à partir de POSTED ou CREATION !?!
J'ai testé la solution de p@t, ça fonctionne mais le nombre d'années s'affiche toujours avec 2 ans de moins !?!
Je préfèrerai appliquer ton code que je trouve plus pratique, mais pourquoi le calcul ne se fait pas correctement ?
fais un copier ocller ici de ce que tu as modifié, ca pourra aider ;)
Bonsoir vous tous
Ca y'est, mon système de datation automatique fonctionne (version de p@t) et le résultat est parfait !!
Seul petit doute.... lorsque je change l'année dans mon windows (en bas à droite de l'écran) et que je recharge la page... l'âge de la carte ne change pas !?! J'ai essayé en purgeant les sessions piwigo, vidé l'historique de firefox, mais rien ne change...
L'âge seraitl calculé autrement ?
Car sinon au passage du 1er janvier 2010, il ne vas pas évolué et resterait figé à celui de son enregistrement initial... pas génial :S
Besoin d'être rassuré à ce sujet...
Bonjour à tous
Une grande nouvelle.... je suis passé à la toute dernière version de piwigo ! Autant vous dire que le fossé a était très large entre la version 1.7.0 que j'utilisais et la dernière de piwigo, j'y ai laissé quelques plumes au passage mais ça valait le coup, vous aviez raison !
Je vais maintenant m'attacher à réaliser ce dont je souhaitais réaliser plus haut et notamment appliquer l'astuce de p@t.
A suivre....
Bon dimanche à vous
Merci pour le partage. Il est grand
comparatif simulation taux pret auto - taux pret auto differe selon la prise en compte ... calculent automatiquement le taux pour un prêt automobile donne.comparatif simulation taux pret auto
leptitfredy a écrit:
Ben disons que j'ai apporter tellement de modifications, minimes ou importantes, depuis bientôt deux ans pour que mon site ait enfin son apparence définitive... que j'ai peur de tout perdre. Je serai totalement incapable de retrouver et d'isoler tous les fichiers retouchés, sans compter près de 1200 descriptions ajoutées "manuellement" pour chaque carte, donc mise à jour quasi impossible.
Salut.
Bah, tu peux déjà te rendre compte des réels problèmes qui se présenteraient en faisant un clone local de ta galerie (avec Easyphp ou Wampserver par exemple).
Pour les modifications que tu aurais apporté aux fichiers originaux de PWG, tu peux aussi utiliser Winmerge qui te permettra de comparer tes fichiers avec une release 1.7.3 non retouchée. Il faudra bien sur adapter ces modifs pour Piwigo 2.x et, cette fois, sans forcément modifier les fichiers d'origine (plugin, template-extension,...).
Je ne dis pas çà pour te forcer la main mais il faut bien que tu sois conscient que, tôt ou tard, il ne nous sera plus possible de faire du support pour les versions passées. Et puis n'est ce pas reculer pour mieux sauter ?
Ben disons que j'ai apporter tellement de modifications, minimes ou importantes, depuis bientôt deux ans pour que mon site ait enfin son apparence définitive... que j'ai peur de tout perdre. Je serai totalement incapable de retrouver et d'isoler tous les fichiers retouchés, sans compter près de 1200 descriptions ajoutées "manuellement" pour chaque carte, donc mise à jour quasi impossible.
Par contre je dois mettre sur pied prochainement un site identique au mien pour une autre collection de cartes postales. Du coup j'aurai grand plaisir à installer et découvrir piwigo, suis impatient !
Néanmoins mon cher p@t, je veux bien avoir la soluce en plugin perso pour ma 1.7.3, là tu m'intéresses vraiment !!!
Hum... en effet, j'avais pas vu le tag de version!
Mais pourquoi ne pas passer à la 2.0.0???
Je pourrais te donner l'équivalent en plugin perso (donc faisable en 1.7.3) mais ce serait tellement plus confortable pour toi de passer en 2.0.0... qu'est-ce qui t'en empeche?
Oui justement, depuis hier je me demandais comment je peux bien réaliser un Template extension malgré l'aide dans le wiki, me suis douté que ma version ne me le permettait pas, de là à mettre ma version à jour...
Donc en gros j'en suis toujours au même point, et moi qui croyait que cela allait être facile :-S
En tout cas je vous remercie pour vos posts, peut-être allez-vous trouver mon bonheur tôt ou tard ;-)
Amitiés
P@t a écrit:
Pas forcément en plugin perso... on peut faire ca en template extension...
Non on ne peut pas regarde le tag de la version ;-)
Pas forcément en plugin perso... on peut faire ca en template extension...
Tu créera donc un template extension de picture.tpl, dans lequel tu insèreras avant <div id="theImage"> ce qui est en gras:
{php}
$desc = $this->get_template_vars('COMMENT_IMG');
if (preg_match('#date=(\d+)/(\d+)/(\d+)#', $desc, $a))
{
$b=floor((time()-mktime(0,0,0,$a[2],$a[1],$a[3]))/(60*60*24*365));
if ($b==1) $c="1 an";elseif ($b==0) $c="moins d'1 an";else $c=$b." ans";
$this->assign('PHOTO_AGE', $c);
$this->_tpl_vars['COMMENT_IMG'] = preg_replace('#date=(\d+)/(\d+)/(\d+)#', '', $desc);
}
{/php}
<div id="theImage">
{$ELEMENT_CONTENT}
Ensuite, dans la table d'infos (par exemple après auteur), tu mettras:
<tr>
<td class="label">{'Author'|@translate}</td>
<td class="value">{if isset($INFO_AUTHOR)}{$INFO_AUTHOR}{else}{'N/A'|@translate}{/if}</td>
</tr>
{if isset($PHOTO_AGE)}
<tr>
<td class="label">Cette carte a été écrite il y a</td>
<td class="value">{$PHOTO_AGE}</td>
</tr>
{/if}
<tr>
<td class="label">{'Created on'|@translate}</td>
<td class="value">{if isset($INFO_CREATION_DATE)}{$INFO_CREATION_DATE}{else}{'N/A'|@translate}{/if}</td>
</tr>
Enfin, pour mettre une date (directement dans la description de l'image), il faudra utiliser le format suivant:
date=31/12/1950
un petit plugin perso
J'ai trouvé ce script qui afficherait exactement ce que je souhaite, écrire la date de la carte postale en tant que date de naissance et de ce fait, obtenir automatiquement à l'affichage l'âge de la carte.
Mais une fois ce code copier/coller dans la partie "description", ça ne fait rien de plus qu'afficher le même code sous l'image, pourquoi ça veut pas fonctionner ???
J'imagine qu'il doit y avoir un problème de formatage html et php, mais j'y connais pas assez pour le régler tout seul.
<?php
//à partir de la date de naissance, retourne l'âge dans la variable $age
// date de naissance (partie à modifier)
$ddn = "07/02/1903";
// enregistrement de la date du jour
$DATEDUJOUR = date("Y-m-d");
$DATEFRAN = date("d/m/Y");
// calcul de mon age d'après la date de naissance $ddn
$annais = substr("$ddn", 6, 4);
$anjour = substr("$DATEFRAN", 6, 4);
$moisnais = substr("$ddn", 3, 2);
$moisjour = substr("$DATEFRAN", 3, 2);
$journais = substr("$ddn", 0, 2);
$jourjour = substr("$DATEFRAN", 0, 2);
$age = $anjour-$annais;
if ($moisjour<$moisnais){$age=$age-1;}
if ($jourjour<$journais && $moisjour==$moisnais){$age=$age-1;}
?>
(dites le moi si je suis lourd...) :(