Annonce

É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)

Gotcha
2010-07-01 23:01:59

bmsenlis a écrit:

Euh ! comment fait-on pour noter le sujet comme résolu ?

[wiki]

:-)

Là je l'ai fait pour toi.

bmsenlis
2010-07-01 21:32:38

Euh ! comment fait-on pour noter le sujet comme résolu ?

bmsenlis
2010-07-01 21:20:27

Bien que n'utilisant pas les metadonnées, le fondement est le même : lier des infos. supplémentaires à des images.
Alors plutôt que de créer une icône supplémentaire sur des barres d'icônes qui sont parfois déjà bien chargées,  j'ai préféré utiliser une icône existante dont l'objet est pratiquement le même.
Et cette fois je clôture le sujet pour de bon.

ddtddt
2010-07-01 07:12:46

Merci de passer le sujet en résolu ;-)

Pourquoi n'as tu pas rajouter une icônes qui correspond plus à ton besoins et différente de celle existante ?

Gotcha
2010-07-01 01:00:28

Et merci à toi d'avoir bien commenté ton plugin-perso :-)

bmsenlis
2010-06-30 21:46:29

Bonsoir,
bingo !
je viens de trouver la syntaxe correct :
<?php
/*
Plugin Name: Plugin Personnel
Version: 1.0
Description: Plugin Personnel
Plugin URI: http://piwigo.org
Author: P. Villain
Author URI: localhost/alo
*/
/* empêche l'accès direct au fichier main.inc.php */
if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');

Add_event_handler( 'loc_end_picture','personal_replace_tpl_code');

/* Remplace une partie du code par une autre dans un template */

function personal_replace_tpl_code()
{
  global $template, $picture, $lang;
 
  $url = get_root_url().'plugins/PersonalPlugin/index.php?idimg='.$picture['current']['id'];

$js ="#\" onClick=\"window.open('$url','Popup', 'directories=no,
location=no, menubar=no, resizable=no, status=no, width=480, height=430')";

/* Assigner dans 'U_METADATA' la nouvelle valeur */

  $template->assign( 'U_METADATA', $js);

/* Changer le titre du bouton de meta-données */

  $lang['Show file metadata'] =  'Informations complémentaires';

}
?>

Merci à ceux qui m'ont aidé.

Gotcha
2010-06-19 10:58:36

bmsenlis a écrit:

Ok
merci
je clos le sujet.

Le sujet est-il donc résolu ?

bmsenlis
2010-06-19 10:03:28

Ok
merci
je clos le sujet.

VDigital
2010-06-18 23:54:00

Tu as vu comment coder, si tu veux utiliser phpWGOpenWindow
Tu devrais y arriver seul, non?

bmsenlis
2010-06-18 23:29:06

J'obtiens le lien suivant : http://localhost/alo/picture.php?/2265/category/14#
mais  : directories=no,location=no,menubar=no,resizable=no,status=no,width=50,height=50
pas pris en compte ; j'ouvre toujours sur une page normale.
En fait ça devrait donner la même chose que le lien pour les images HD :
javascript:phpWGOpenWindow('./images/aff/pwg_high/aff_A3_71.jpg','1865929234c1be3a606544','scrollbars=yes,toolbar=no,status=no,resizable=yes')
sauf qu'on pointe sur 'plugins/PersonalPlugin/index.php'

VDigital
2010-06-18 21:44:16

Normal.

Prenons le picture.tpl que contient-il?

<a href="{$U_METADATA}" title="{'Sh.... etc...

or {$U_METADATA} sera remplacé par le contenu de $js ce qui va donner:

1 - $url = get_root_url() . 'plugins/PersonalPlugin/index.php?idimg='.$num;
par exemple =>  $url = ./plugins/PersonalPlugin/index.php?idimg=421

2 - $js='"#" onClick="window.open(\'' . $url . '\',\'directories=no,location=no,menubar=no,resizable=no,status=no,width=50,height=50\'); return false"';

par exemple => $js = "#" onClick="window.open('./plugins/PersonalPlugin/index.php?idimg=421','directories=no,location=no,menubar=no,resizable=no,status=no,width=50,height=50'); return false"

et... au final
3 - ce que ça donnera:
<a href=""#" onClick="window.open('./plugins/PersonalPlugin/index.php?idimg=421','directories=no,location=no,menubar=no,resizable=no,status=no,width=50,height=50'); return false"" title="{'Sh...

href="" ne risque pas de fonctionner.

Que veux-tu obtenir?

<a href="#" onClick="window.open('./plugins/PersonalPlugin/index.php?idimg=421','directories=no,location=no,menubar=no,resizable=no,status=no,width=50,height=50'); return false" title="{'Sh...

donc $U_METADATA devra contenir
#" onClick="window.open('./plugins/PersonalPlugin/index.php?idimg=421','directories=no,location=no,menubar=no,resizable=no,status=no,width=50,height=50'); return false

on échappe les 2 double-apostrophes
#\" onClick=\"window.open('./plugins/PersonalPlugin/index.php?idimg=421','directories=no,location=no,menubar=no,resizable=no,status=no,width=50,height=50'); return false

on remplace l'adresse par " . $url . "
#\" onClick=\"window.open('" . $url . "','directories=no,location=no,menubar=no,resizable=no,status=no,width=50,height=50'); return false

Ce qui donnera pour $js

$js ="#\" onClick=\"window.open('"
  . $url . "','directories=no,location=no,menubar=no,resizable=no,status=no,width=50,height=50'); return false";

donc

function personal_replace_tpl_code()
{
  global $template, $picture;
  $url = get_root_url() . 'plugins/PersonalPlugin/index.php?idimg='.$picture['current']['id'];
  $js ="#\" onClick=\"window.open('"
  . $url . "','directories=no,location=no,menubar=no,resizable=no,status=no,width=50,height=50'); return false";
  $template->assign( 'U_METADATA', $js);
}

extension:144
onglet langues, fr_FR, insère:

  $lang['Show file metadata'] =  'Informations complémentaires';

bmsenlis
2010-06-18 21:00:21

Rien de changé. Voici le lien que j'obtiens : http://localhost/alo/picture.php?/2261/category/15
Je remet le code complet :
<?php
/*
Plugin Name: Plugin Personnel
Version: 1.0
Description: Plugin Personnel
Plugin URI: http://piwigo.org
Author: P. Villain
Author URI: localhost/alo
*/
/* empêche l'accès direct au fichier main.inc.php */
if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');

Add_event_handler( 'loc_end_picture','personal_replace_tpl_code');

/* Remplace une partie du code par une autre dans un template */

function personal_replace_tpl_code()
{
  global $template, $lang, $num, $picture, $url, $js ;
 
  $num=$picture['current']['id'];
  $url = get_root_url() . 'plugins/PersonalPlugin/index.php?idimg='.$num;
$js='"#" onClick="window.open(\'' . $url . '\',\'directories=no,location=no,menubar=no,resizable=no,status=no,width=50,height=50\'); return false"';

/* Assigner dans 'U_METADATA' la nouvelle valeur */

  $template->assign( 'U_METADATA', $js);

/* Changer le titre du bouton de meta-données */

  $lang['Show file metadata'] =  'Informations complémentaires';

}


?>

Environnement : Linux Mandrake One 10 + Firefox 3.6.3
Apache+PHP+Mysql sur le poste en local.

VDigital
2010-06-18 12:37:50

Peut-être que si tu en disais un peu plus...

Code (3):

Code:

$js='"#" onClick="window.open(\'' . $url . '\',\'directories=no,location=no,menubar=no,resizable=no,status=no,width=50,height=50\'); return false"';
bmsenlis
2010-06-18 10:35:32

Bonjour,
j'ai appliqué tes remarques pour le 2 et le 3. J'obtiens bien la page ''PersonalPlugin/index.php",  mais ne prend pas en compte les valeurs : width="50" height="50" border="0".
Pour t'éclairer : ''PersonalPlugin/index.php" interroge simplement la table ""phpwebgallery_image" avec comme filtre le n° d'identification de l'image. Et j'affiche certains champs rajoutés.
Merci de ton aide.

VDigital
2010-06-16 10:48:15

(1) $num=$picture['current']['id'];
(2)  $url='plugins/PersonalPlugin/index.php?idimg='.$num;
(3)  $js='"#" onClick="window.open($url)" width="50" height="50" border="0" return false';
(4) $template->assign( 'U_METADATA', $js);



(1) Ok
(2) pourquoi pas => admettons...
(3) comment $url  peut être résolu?
$js='"#" onClick="window.open(\'' . $url . '\')" width="50" height="50" border="0" return false';
(4) Ok

(2) est-ce que tu ne veux pas faire plus sûr?
$url = get_root_url() . 'plugins/PersonalPlugin/index.php?idimg='.$num;

Pas certain que cela fonctionne, je ne connais pas PersonalPlugin/index.php
Et je ne sais pas dire si idimg est "sanitized".
Mais déjà cela me semble plus logique.
;-)

Pied de page des forums

Propulsé par FluxBB

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