Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

VDigital
2009-01-20 23:09:02

Alors voici sa version équivalente pour Piwigo 2.0.x

add_event_handler('loc_end_picture', 'my_date_replacement' );
function my_date_replacement()
{
  global $picture, $infos, $template;
  if (empty($picture['current']['date_creation'])) return;
  $url = make_index_url(
    array(
      'chronology_field'=>'created',
      'chronology_style'=>'monthly',
      'chronology_view'=>'list',
      'chronology_date' => explode('-', $picture['current']['date_creation'])
      )
    );
  $val =  explode('-', $picture['current']['date_creation']);
  $infos['INFO_CREATION_DATE'] =
    '<a href="'.$url.'" rel="nofollow">'.$val[2].'/'.$val[1].'/'.$val[0].'</a>';
  $template->assign($infos);
}

Qui a dit que le passage de PhpWebGallery 1.7.x à Piwigo 2.0.x se révèlera délicat?

bert69
2009-01-20 22:13:31

Ton plugin perso marche nickel !

Bravo et merci encore !

VDigital
2009-01-19 17:45:39

if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
add_event_handler('loc_end_picture', 'my_date_replacement' );
function my_date_replacement()
{
  global $picture, $infos, $template;
  if (empty($picture['current']['date_creation'])) return;
  $url = make_index_url(
    array(
      'chronology_field'=>'created',
      'chronology_style'=>'monthly',
      'chronology_view'=>'list',
      'chronology_date' => explode('-', $picture['current']['date_creation'])
      )
    );
  $val =  explode('-', $picture['current']['date_creation']);
  $infos['INFO_CREATION_DATE'] =
    '<a href="'.$url.'" rel="nofollow">'.$val[2].'/'.$val[1].'/'.$val[0].'</a>';
  $template->assign_vars($infos);
}

VDigital
2009-01-19 15:02:36

Cf. mes commentaires de révision.

bert69
2009-01-19 14:53:03

Bon, je vais prendre quelques minutes pour comprendre le fonctionnement de ce lignes de codes et l'integrer ensuite dans un plugin perso.

Je te tiens au courant ce soir.

Merci !

VDigital
2009-01-19 13:35:54

Je m'en doutais un peu mais avant d'aller plus loin, je devais m'en assurer.

Ce que tu cherches est codé en dur dans PhpWebGallery 1.7.x

// creation date
  if (!empty($picture['current']['date_creation']))
  {
    $val = format_date($picture['current']['date_creation']);
    $url = make_index_url(
      array(
        'chronology_field'=>'created',
        'chronology_style'=>'monthly',
        'chronology_view'=>'list',
        'chronology_date' => explode('-', $picture['current']['date_creation'])
        )
      );
    $infos['INFO_CREATION_DATE'] =
      '<a href="'.$url.'" rel="nofollow">'.$val.'</a>';
  }

Pour changer la présentation, il faut écrire un plugin:

1 - sur la base de l'événement 'render_element_content' càd. par exemple:
add_event_handler('loc_end_picture', 'my_date_replacement' );

2 - Dans le principe, en repartant de la date de création, on va refaire le contenu de $infos['INFO_CREATION_DATE'] sans toucher à rien d'autre.

3 - Le code sera sans l'avoir testé moi-même:

if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
add_event_handler('loc_end_picture', 'my_date_replacement' );
function my_date_replacement()
{
  global $picture, $infos;
  if (empty($picture['current']['date_creation'])) return;
  $url = make_index_url(
    array(
      'chronology_field'=>'created',
      'chronology_style'=>'monthly',
      'chronology_view'=>'list',
      'chronology_date' => explode('-', $picture['current']['date_creation'])
      )
    );
  $val =  explode('-', $picture['current']['date_creation']);
  $infos['INFO_CREATION_DATE'] =
    '<a href="'.$url.'" rel="nofollow">'.$val[2].'/'.$val[1].'/'.$val[0].'</a>';
}

La première ligne étant facultative.


4 - Où mettre ce code?
LocalFiles Editor, onglet "Plugin Personnel".
Une fois enregistré, on n'oubliera pas de vérifier que le "Plugin Personnel" est bien activé.


Bon affichage... ( Je n'ai pas testé ).

Je viens de le tester (avec render_element_content également) et cela ne fonctionne pas... Je chercherai ce soir peut être.

bert69
2009-01-19 13:00:40

Je pense avoir compris le systeme d'integration des données exif par le :

// use_exif: Use EXIF data during database synchronization with files
// metadata
$conf['use_exif'] = true;

// use_exif_mapping: same behaviour as use_iptc_mapping
$conf['use_exif_mapping'] = array(
  'date_creation' => 'DateTimeOriginal'
  );


Mais mon probleme principal est la "mise en forme" de ces données.

Celle ci, en particulier, s'affiche comme suit :

2008:12:16 16:12:25

Ma question est :

Peut on changer cette mise en forme pour quelle soit affichée dans cette forme :

16/12/2008

tout tsimplement.

C'est seulement une question de mise en forme !

VDigital
2009-01-19 12:11:21

Créée le Jeudi 24 Août 2006 en version française ("Created on Thursday 24 August 2006" dans la version anglaise).

Cette indication est en standard dans la galerie.
Mais peut-être n'as-tu pas su mettre en oeuvre cette technique, c'est ce que je vais tenter d'expliquer.

1 - Jeudi 24 Août 2006: c'est bien le champ 'DateTimeOriginal' des Exifs.

En standard, le ficher à ne jamais modifier (config_default.inc.php) indique:

// use_exif: Use EXIF data during database synchronization with files
// metadata
$conf['use_exif'] = true;

// use_exif_mapping: same behaviour as use_iptc_mapping
$conf['use_exif_mapping'] = array(
  'date_creation' => 'DateTimeOriginal'
  );

Qu'est que cela signifie?
La date Exif 2006:08:24 16:12:31 servira à charger la colonne 'date_creation' de la table phpwebgallery_images.

Elle servira à quel moment?
A chaque synchronisation des Méta-données.

Quel est l'intérêt?
Plus la peine d'aller lire les données Exif, ces données sont là dans la base.

Donc, il suffit de synchroniser correctement ses données.

2 - "Créée le" ne te convient pas? Tu voudrais "Date de prise de vue" à la place?
Installe le plugin LocalFiles Editor (sans te tromper de compatibilité) si ce n'est déjà fait.
Dans l'onglet "Langues", en Français, tu ajouteras:

$lang['Created on'] = 'Date de prise de vue';


Et cela le fera très bien...

bert69
2009-01-19 10:53:53

OKI dans l'attente !

VDigital
2009-01-19 07:17:51

Bien sûr que c'est très simple, je vais t'expliquer tout ça si possible dans la journée.

bert69
2009-01-18 23:57:59

La date exif est par defaut avec l'heure, ce que je ne veux pas.

Voici ce que ça affiche

DateTimeOriginal      2008:12:18 16:20:51

Il me faudrait seulement:

Date  2008:12:18

Et encore mieux !!! ceci:

Date  18/12/2008

ll faudrait aussi que ce champ exif soit affiché apres les IPTC, sous la photo ...

Mais c'est peut-être plus simple ?

VDigital
2009-01-18 23:09:10

Pourquoi ne pas récupérer la date de prise de vue dans les Exifs?

Au moins tu n'as pas à la renseigner, elle est à jour à condition que l'appareil soit correctement configuré.

bert69
2009-01-18 22:48:06

Revenons à 12h :)

Je parle ici de la date de création de l'image, celle correspondant au code 55 dans le tableau IPTC

Voici la ligne correspodante a ce champs dans le tableau IPTC qui est dans le Wiki.

------------  55    Date Created    non répétable, 8 caractères, forme AAAAMMJJ    Date de création de l’objet ---------------

VDigital
2009-01-18 20:23:46

Avant d'envisager 14h30, j'aimerai revenir à 12h si tu en es d'accord.

Quelle date IPTC? Elle représente quelle date par rapport à l'image?

bert69
2009-01-18 19:47:53

Bonjour,

j'aimerai que l'affichage de ma date de création d'une photo (récupérée dans les IPTC de l'image) soit affichée non pas en YYYYMMDD (ex:20090118) mais dans ce format là DD/MM/YYYY (ex: 18/01/2008).

Je pense que tout se passe dans les picture.php ou dans metadonnées.php mais n'ai aucune idée de la marche à suivre !

Merci d'avance !

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact