Salut Hugo !!!
vu que t es un mec cool qui nous a filé le truc rapidos pour google maps ... et que moi je me suis fait plaisir avec
je me suis dis que ca serai sympa de te filer un coup de main ...
donc voila je sais pas si ca t arrange ou pas mais je me suis pris un peu la tete pour toi et voila le resultat :
obsolete === http://www.nicco.no-ip.org/MOD_Google_Maps_v1.zip === c'est fini ;o) voir avec l'extension d'HUGO !!!
maintenant ce que je te propose c est que dès que tu vois le poste ! tu vas te créer un compe dans la partie extensions
et tu publies ton MOD Google Maps car franchement ca DECHIRE
a plus en esperant que tu ne m en veuilles pas de mettre permis de te preparer ce package !
a+ et encore merci pour google maps !
Dernière modification par Nicco (2006-11-01 20:02:08)
Hors ligne
et en plus pour le fun meme si le tien marche tres bien
http://www.gorissen.info/Pierre/maps/go … tionv3.php
a voir
et j ai corrigé la generation du xml :
WHERE (latitude IS NOT NULL) AND (latitude <> \'\')
a+ je vais au dodo
Dernière modification par Nicco (2006-10-27 03:06:07)
Hors ligne
Fatal error: Call to undefined function: file_put_contents() in /homepages/39/d142747170/htdocs/PWG/admin/site_update.php on line 385
j'obtiens ca lors de la syncro des données gmap a la suite de l'install de ton package nicco. j'ai cherché un peu, mais la fonction file_put_contents() est inconnue au bataillon dans mes fichiers. un p'tit oubli, ou c'est moi qui ai fait une fausse manip ?
(ps:je pense qu'il faudrai rajouter une p'tite explication dans le fichier d'install avec le lien pour prendre un clé gmap ;) )
sinon, une question : pourquoi la clé gmap et l'activation du mod se trouve a la fois dans la base et dans config_local ??
Hors ligne
Salut,
alors moi j ai validé le package d install en le suivant chez moi ... donc je suis pas trop au top pour faire des test dessus car maintenant
ca marche chez moi
maintenant pour file_put_contents : c est du php 5 je crois donc verifier les version des installs car ca marche peut etre pas pour tout le monde !!!
voila de la substitution :
http://developpeur.journaldunet.com/tut … ents.shtml
jddev a écrit:
a fonction file_put_contents() est une nouveauté de PHP5 (sa soeur file_get_contents() existe elle depuis PHP 4.3.0). Respectivement, ces deux fonctions servent à écrire une chaîne dans un fichier, et à placer le contenu d'un fichier dans une chaîne. Néanmoins, PHP4 reste la version du langage la plus utilisée, et il est parfois nécessaire de redéfinir file_put_contents() pour pouvoir tirer parti des scripts écrits pour PHP5.
file_put_contents() combine en une seule fonction les actions des fonctions fopen(), fwrite() et fclose(). Pour qu'un script PHP4 qui l'utilise fonctionne, il faudra ajouter un test (pour s'assurer que PHP ne reconnaît pas cette fonction), et une fonction de remplacement. Voici le code généralement utilisé dans ce cas :
if(!function_exists('file_put_contents')) {
function file_put_contents($filename, $data, $file_append = false) {
$fp = fopen($filename, (!$file_append ? 'w+' : 'a+'));
if(!$fp) {
trigger_error('file_put_contents ne peut pas écrire dans le fichier.', E_USER_ERROR);
return;
}
fputs($fp, $data);
fclose($fp);
}
}
Autre solution : utiliser le paquetage PEAR PHP_Compat, qui permet d'utiliser des fonctions indisponibles dans certaines versions de PHP, dont file_put_contents().
moi je ne mis connais pas et la je pars au taff ... desole
sinon pour ce qui est de la generation de clef gmap et des explication ... c est hugo qui va vous faire ca dans son vrai mod que vous pourrez trouver dans les extensions !!! car vu qu il a deja expliqué ca plus haut ... c est juste un copier
Hors ligne
Réponses en vrac :
- merci pour le zip Nicco. T'as un truc pour générer ce genre de guide rapidement ? Parce que justement j'avais un peu peur de devoir tout écrire et apparemment t'as rien oublié en plus.
- effectivement, étant en php 5 chez moi et sur free, j'ai utilisé file_put_contents, je peux m'arranger pour que ce soit compatible php4 par contre
- leur formulaire de recherche est mieux présenté que le mien, je vais peut être remplacer la mise en page (faut dire, je suis souvent pas très doué pour les mises en pages ^^)
- pour la config dans le fichier de config et la base, j'ai peut être mal compris comment cela marchait sur PWG mais il me semblait que le fichier de config était une photo de ce qu'il y avait dans la base. Honnêtement j'ai peut être pas assez cherché, c'est vrai que maintenant qu'on me le dit, j'aurais du un peu plus regarder. Si l'un ou l'autre n'est pas nécessaire, je supprimerais.
Merci pour ces retours en tout cas.
Hors ligne
grrrrrrrrrrr je suis deja a la bourre et je continu sur le forum !!!!
je suis un boulet
donc dans l ordre non j ai tout fait a la mimine ... mais franchement c etait un plaisir de te rendre service car ton MOD est terrible
donc de rien
apres pour le config je ne pense pas que ca soit necessaire car effectivement je trouve que c est top de l avoir dans la base
et pour ton formulaire franchement non non il est bien moi d ailleurs j ai utilisé le tien !
donc pas de soucis mais sur l autre c est que tu retrouvais d autre coordonne donc peut etre aussi utile pour d autres
et maintenant le probleme .... car il y a toujours un mini truc ...
pour la generation du xml ... a mon avis il va falloir ce prendre la tete pour qu il soit generé a chaque fois et par chaque personne pour faire une carte en live car mon probleme est les droits !!! et les categories virtuelles
en gros le soucis c est que quand tu generes un seul fichier global bahhh toutes les photos sont la ... meme celle qui sont protegé par exemple !
et en plus selon comment tu as fait ton decoupage le probleme c est que quand tu clique sur une photo gmap elle t emmene direct dans la categories physique et pas dans la categories ou toi tu peux acceder ...
donc dans mon esprit il faudrai plutot utiliser la phylo du calendrier
genre tu commence pas filtrer ce que peut lister le user et apre lui generer un xml et enfin le traiter pour gmap !
quand penses tu ???
a+ et je suis dispo pour t aider
Hors ligne
Bien... Bonne direction.
Continuez et concentrez vos efforts sur ce Mod, je sens que cela va séduire du monde.
8-)
Hors ligne
hugo a écrit:
Pour la synchronisation des photos, elle ne se base pas sur le tag exif gps. C'est a chaque membre qui upload une photo d'indiquer les coordonnées (grace a le même google map qui peut trouver ces coordonnées). Il n'est pas obligé, s'il ne les rentre pas, elle n'apparaitra pas, c'est tout.
Vers quel champ de la base de données tu envoies le contenu du tag EXIF ?
Hors ligne
je ne sais pas si j ai bien compris
mais pour les infos de localisation on utilise 2 nouvelles colonnes pour longitude et latitude
maintenant le top sera de rajouter justement dans la synchro un convertiseur de exif gps en longitude latitude
et ou aussi de faire un autre convertisseur pour les infos de localisation ITPC
encore juste des idees comme ca en vrac desole si c est des idees trop tarabiscotées !!!!
donc la synchro on vire la generation du xml et ca on le fait par user a l'affichage de la gmap
et par contre dans la synchro metadata on met en place justement la recupereration des exif gps et la conversion
et/ou la recuperation converstion des IPTC ville pays ... etc
Hors ligne
Ok pour les droits, en fait je découvre seulement phpwebgallery et j'avoue que je n'utilise pas du tout cette fonctionnalité, du coup j'y ai pas pensé.
Je regarderais le calendrier pour regarder comment c'est fait histoire de pas réinventer la roue. Mais cela change plusieurs choses dont il faut tenir compte. Je mets mes reflexions en vrac, c'est pas forcément des points négatifs mais des points à penser.
- en générant le fichier data.xml a chaque visite sur cette page, je supprime la notion de cache, il faut que je vérifie que la génération du fichier ne soit pas trop longue. A priori sur mon site ca va, mais j'ai 10 photos sur la carte.
- le fichier data.xml ne sera pas effacé donc on peut le télécharger, à priori on n'y gagnera pas grand chose, sauf que le chemin des thumbnail est inscrit dedans.
- il existe un risque d'accès concurrent au même fichier par deux utilisateurs simultanée. Peut être faut il gérer un id aléatoire en session et créer un data_456165123.xml dont la session de l'utilisateur gardera trace pour télécharger le fichier. Ca permettrait de résoudre le point précédent mais il faut prévoir une purge de ces fichiers.
La comme ca je ne vois pas d'autre chose.
Pour les tags exif, pour répondre à Zorglub, je ne les utilises pas donc je ne les stockes pas ^^
Une synchro basé sur ces tags, outre le fait que je ne connaisse pas exif ou ITPC (je peux apprendre), ne risque-t'elle pas de prendre plus de temps ? De plus chaque photo ne comporte pas ces informations je suppose et il est nécessaire de les convertir comme google les attend. Il faut laisser la possibilité a l'utilisateur de les entrer lui même je pense.
Ce sont des pistes intéressantes à explorer néanmoins (j'ai moi même 288 photos dont il faut que je rentre les coordonnées sur le site subforum, je serais pas contre un truc automatique ^^) mais si vous aviez une doc sur ces fameux tags gps ? Leur format et si tous les appareils photos les renseignent ?
@Nicco (ou d'autres), si tu souhaites m'aider c'est possible, je peux créer un repository svn sur le web. Tu connais subversion ?
Hors ligne
Nicco a écrit:
Salut,
alors moi j ai validé le package d install en le suivant chez moi ... donc je suis pas trop au top pour faire des test dessus car maintenant
ca marche chez moi
maintenant pour file_put_contents : c est du php 5 je crois donc verifier les version des installs car ca marche peut etre pas pour tout le monde !!!
voila de la substitution :
http://developpeur.journaldunet.com/tut … ents.shtmljddev a écrit:
a fonction file_put_contents() est une nouveauté de PHP5 (sa soeur file_get_contents() existe elle depuis PHP 4.3.0). Respectivement, ces deux fonctions servent à écrire une chaîne dans un fichier, et à placer le contenu d'un fichier dans une chaîne. Néanmoins, PHP4 reste la version du langage la plus utilisée, et il est parfois nécessaire de redéfinir file_put_contents() pour pouvoir tirer parti des scripts écrits pour PHP5.
file_put_contents() combine en une seule fonction les actions des fonctions fopen(), fwrite() et fclose(). Pour qu'un script PHP4 qui l'utilise fonctionne, il faudra ajouter un test (pour s'assurer que PHP ne reconnaît pas cette fonction), et une fonction de remplacement. Voici le code généralement utilisé dans ce cas :
if(!function_exists('file_put_contents')) {
function file_put_contents($filename, $data, $file_append = false) {
$fp = fopen($filename, (!$file_append ? 'w+' : 'a+'));
if(!$fp) {
trigger_error('file_put_contents ne peut pas écrire dans le fichier.', E_USER_ERROR);
return;
}
fputs($fp, $data);
fclose($fp);
}
}
Autre solution : utiliser le paquetage PEAR PHP_Compat, qui permet d'utiliser des fonctions indisponibles dans certaines versions de PHP, dont file_put_contents().moi je ne mis connais pas et la je pars au taff ... desole
sinon pour ce qui est de la generation de clef gmap et des explication ... c est hugo qui va vous faire ca dans son vrai mod que vous pourrez trouver dans les extensions !!! car vu qu il a deja expliqué ca plus haut ... c est juste un copier
Merci, c'etait bien ca pour 'file_put_contents'.
j'ai ajouté le test et la substitution directement dans site_update.php. peut etre cette fonction aurait elle mieux sa place ailleurs, mais bon, la ca marche.
Hors ligne
(Réponse un peu en vrac à hugo)
Voici ma vision idéalisé du MOD Google map. Les coordonnées géographiques doivent être dans une métadonnée IPTC. Il faut ajouter un champ #images.location que l'on demandera de remplir automatiquement à partir de la métadonnée IPTC. Le fameux fichier data.xml certainement envoyé à Google est différent pour chaque utilisateur compte tenu des permissions. Il faut donc en associer un à chaque utilisateur, or c'est une opération plutôt longue. Il faut donc créer un nouveau champ #user_cache.google_map, voir le principe de remplissage en cherchant dans le code le remplissage de #user_cache.nb_total_images.
Bref, y'a moyen de faire ça bien et performant.
Hors ligne
je n y connais rien du tout en dev Hugo
mais je peux m adapté donc dit moi ce que je dois faire et je le fais pas de soucis
sinon pour le code exemple prend plutot random.php !!!
ca donnerai peut etre un truc comme ca :
$query = ' SELECT DISTINCT(id),latitude,longitude,storage_category_id,path,tn_ext FROM '.IMAGES_TABLE.' WHERE (latitude IS NOT NULL) AND (latitude <> \'\') INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic ON id = ic.image_id '.( $user['forbidden_categories'] != '' ? 'WHERE category_id NOT IN ('.$user['forbidden_categories'].')' : '' ).';'; $xml_infos = "<markers>\n"; $result = pwg_query($query); while ($row = mysql_fetch_array($result)) { $xml_infos .= '<marker '; $xml_infos.= encodeAttribute('id', $row['id']); $xml_infos.= encodeAttribute('cat', $row['storage_category_id']); $xml_infos.= encodeAttribute('lat', $row['latitude']); $xml_infos.= encodeAttribute('long', $row['longitude']); $xml_infos.= encodeAttribute('path', get_thumbnail_src($row['path'], @$row['tn_ext'])); $xml_infos .= " />\n"; } $xml_infos.= '</markers>'; file_put_contents ($user['username'].'_data.xml',$xml_infos);
car si on est logique comme ca on ne traite que les photos qui peuvent etre vu par la personne
et on stocke ca dans un fichier pour lui
maintenant ma question est : on est obligé de générer un fichier xml ... on peut pas gérer ca avec une table tempo dans la base un peu comme le panier pour le download multi ???
mais maintenant le truc c est aussi de savoir ce qu on fait quand on clic sur la miniature de gmap ... car avant la c etait imple tu envois le gus dans la categorie ... mais quand le gus il y a pas acces a la categorie physique ... mais a l image par le biais d une categorie virtuelle ca plante du coup
donc il faut voir ce qu on y met dans la ptit bulle avec la photo ;o)
un truc surement trop lourd serai de recherché lorsqu on crée le xml justement les acces du user pour chaque photo ... genre 1ere categories ( virtuelle ou non ) qui inclus la photo et qui est autorisé au user !
du coup meme si on efface pas les fichiers xml ... on en gere un par user donc nickel parcontre on les stocker ailleurs ( \modules\googlemap\usersxml\ ) et pour ce qui est de l'infos contenu dedans ( le path ) bah de toutes facons le user peut l avoir en clic droit propriete sur l image dans la galeries ! DONC c est ok
voila et pour les exif etc ...
http://www.stuffware.co.uk/articles/00000001.html
un ptit lien en passant
et un autre
http://kennethhunt.com/archives/000935.html
si ca peut t aider a capter
et du coup je serai plus pour revoir la synchro pour quelle permette de convertir les infos de exif gps en coordonnees gmap stockeées dans la table images
et idem avec les iptc ... on aurai le choix ... et aussi de juste saisir les valeurs directement !
dans l IPTC je crois qu on a = ville province pays
bon voila a+
Hors ligne
a j ai mis trop longtemps a faire mon poste du coup maintenant je ne fais que redire des trucs
grrrrr le gros nul !
Hors ligne
Ce serait peut être pas mal que je puisse joindre certains d'entre vous par msn (avec micro) car j'aurais besoin de précisions, notamment zorglub et son explication de certains mécanismes déjà existants, Nico pour les tags exif et iptc.
Je créé ce soir (ou dans le week end suivant le temps que j'ai) un svn sur opensvn et je ferais un premier site simpliste pour le download, mes coordonnées etc... (généré avec maven pour ceux qui connaissent)
Hors ligne