Pages: 1 2
Salut
J'ai installé PWG sur mon serveur Debian. Les images arrivent sur mon serveur via FTP.
Je souhaiterais automatiser le traitement des images.
Pour cela, j'ai modifié un script trouvé sur le forum pour trier et générer les miniatures.
Il me reste donc le probleme de la synchronisation.
Y a t il une solution pour synchroniser la base de donner sans avoir a passer par l'interface d'administration ?
Hors ligne
Tu peux tout de même utiliser le script de l'interface d'administration en utilisant php en ligne de commande avec la librairie curl pour garder l'authentification sur plusieurs pages. Je n'ai pas essayé mais ça me parait réalisable.
Hors ligne
nicolas a écrit:
Tu peux tout de même utiliser le script de l'interface d'administration en utilisant php en ligne de commande avec la librairie curl pour garder l'authentification sur plusieurs pages. Je n'ai pas essayé mais ça me parait réalisable.
Je ne suis pas certain qu'il ne faut pas faire une copie de admin/update.php de façon à ne pas avoir la form à gérer... Je dis une petite blague... lol
Hors ligne
VDigital a écrit:
Je ne suis pas certain qu'il ne faut pas faire une copie de admin/update.php de façon à ne pas avoir la form à gérer... Je dis une petite blague... lol
J'ai pas tout compris la ...
Hors ligne
matt30 a écrit:
VDigital a écrit:
Je ne suis pas certain qu'il ne faut pas faire une copie de admin/update.php de façon à ne pas avoir la form à gérer... Je dis une petite blague... lol
J'ai pas tout compris la ...
C'est une blague de Vincent pour les initiés! :-)
Pour répondre à ta question, il faut que tu fasses la même requête que tu ferais à partir de l'interface d'admin. Les requêtes sont complexes puisqu'elles dépendent des cases cochées.
Ce que je te conseille encore une fois:
Regarde du côté de curl: http://fr3.php.net/curl et en te basant sur l'extension live-http-headers de firefox pour "jouer" le sénario et pouvoir le rejouer avec curl.
Hors ligne
Peut etre en faisant une copie de admin/update.php avec update.tpl modifié avec les options qui vont bien (simulation pas coché ect ... comme ici) et sans le bouton valider (ou tjs a 1).
ca serais peut etre une solution
Hors ligne
nicolas a écrit:
C'est une blague de Vincent pour les initiés! :-)
Pour répondre à ta question, il faut que tu fasses la même requête que tu ferais à partir de l'interface d'admin. Les requêtes sont complexes puisqu'elles dépendent des cases cochées.
Ce que je te conseille encore une fois:
Regarde du côté de curl: http://fr3.php.net/curl et en te basant sur l'extension live-http-headers de firefox pour "jouer" le sénario et pouvoir le rejouer avec curl.
OK
Il faut donc que je forge la requette. Je vais essayer de voir mais c'est pas gagné ! En PHP, je suis pas tres bon !
Hors ligne
matt30 a écrit:
Il faut donc que je forge la requette. Je vais essayer de voir mais c'est pas gagné ! En PHP, je suis pas tres bon !
Je ne connaissais pas ton niveau en php. Je dois avouer que ce n'est pas forcément simple à mettre en oeuvre. Je n'ai plus de tutoriel sous la main mais dès que j'ai un moment j'essaie de revenir t'expliquer le principe. Ne sois pas trop pressé car cela s'ajoute dans la liste très longue des choses à faire.
Hors ligne
nicolas a écrit:
Je ne connaissais pas ton niveau en php. Je dois avouer que ce n'est pas forcément simple à mettre en oeuvre. Je n'ai plus de tutoriel sous la main mais dès que j'ai un moment j'essaie de revenir t'expliquer le principe. Ne sois pas trop pressé car cela s'ajoute dans la liste très longue des choses à faire.
J'essaye de décortiquer update.php...j'attendrais ta réponse (ou celle d'un autre =) avec patience et espoir ^^
Dernière modification par matt30 (2006-01-24 14:32:57)
Hors ligne
POST http://xxxxx/gallery/admin.php?page=update HTTP/1.1 [...] Referer: http://xxxx/gallery/admin.php?page=update Cookie: id=H6t9cGJeS9; BSUID=1; WIDYMD=#20995:FAW#; Content-Type: application/x-www-form-urlencoded Content-Length: 44 sync=files&subcats-included=1&submit=Valider
Voilà ce que tu dois envoyer à la page update.php mais attention il faut que tu sois identifié auparavant (il faut générer un cookie)
J'avais déja fait ça avec CURL, je devrais pouvoir retrouver les scripts shell.
Hors ligne
alors j'ai retrouvé mes scripts (qui datent de de 2 ou 3 ans ;)
Donc voila ce que tu peux essayer :
curl --dump-header headers.txt -d "username=ton utilisateur&password=ton mdp&remember_me=1&login=Valider" http://urldetonsiteweb/identification.php
A partir de la tu généres un fichier header.txt qui contient toutes les infos d'identification
Après une recherche à l'aide d'un grep / cut, tu isoles l'identifiant de session et tu le rebalances :
curl -d "sync=files&subcats-included=1&submit=Valider&id=ce que t as recupere" http://urldetonsiteweb/update.php
Attention, je n'ai pas du tout le temps de tester, je sais que ça a fonctionné avec plusieurs sites web. Il faut surement ajuster, je ne sais pas bien comment fonctionne l'identification post connexion sur PWG. En tout cas c'est une première piste...
Plus qu'à ajouter un cron toutes les 5 mins sur ton serveur et le tour est joué.
Je peux t'aider demain si tu n'y arrives pas.
Hors ligne
Attention, en branche 1.6, on ne pourra plus passer l'identifiant de session dans l'URL. demande 261.
Hors ligne
z0rglub a écrit:
Attention, en branche 1.6, on ne pourra plus passer l'identifiant de session dans l'URL. demande 261.
Grâce à qui ? :-)
Quoi qu'il en soit on peut tout de même utiliser curl. Il faut commencer par faire une première requête pour s'authentifier. On récupère le cookie de session que l'on renvoie à chaque nouvelle requête.
Hors ligne
Pages: 1 2