flipflip a écrit:
Pour les messages à l'installation je n'ai pas mis de config par défaut volontairement pour que se soit l'administrateur qui le fasse, surtout pour la gestion des groupes.
Alors il faut rajouter un isset, non ?
if(isset($this->my_config['group_id'])){ if($row['group_id'] == $this->my_config['group_id']) { $user['DmGroup_id'] = $row['group_id']; // Mise à jour du panier add_event_handler('loc_begin_index', array(&$this, 'DmCart')); // Ajout d'élements dans le header // Ne pas inclure dans les pages d'administration add_event_handler('loc_end_page_header', array(&$this, 'DmHeader')); // Ajout une entrée dans le menubar add_event_handler('blockmanager_apply', array(&$this, 'DmMenubar')); add_event_handler('blockmanager_register_blocks', array(&$this, 'register_dm_menubar_blocks')); // ---- Thumbnail // Entrée HTML du formulaire pour la sélection des images add_event_handler('loc_begin_index_thumbnails', array(&$this, 'DmFormThumbnail')); // Affichage des cases à cocher sous les vignettes //add_event_handler('loc_index_thumbnail', array(&$this, 'DmCategoryThumbnail'), 50, 2); add_event_handler('loc_end_index_thumbnails', array($this, 'DmCategoryThumbnail')); // Affichage du cadre en bas de thumbnail.tpl add_event_handler('loc_begin_index_thumbnails', array(&$this, 'DmCategoryDefault')); if (script_basename() == 'popuphelp') { // ---- Aide add_event_handler('get_popup_help_content', array(&$this, 'get_popup_help_content'), EVENT_HANDLER_PRIORITY_NEUTRAL, 2); } } }
Hors ligne
J'ai testé en utilisant PclZip (désactivation du if / else dans la function DmPanierGenZip) et là ça marche j'ai les fichiers dans mon archive zip....
Sinon il faut rajouter @ devant les deux ob_flush() :
@ob_flush()
car sinon on a deux ligne de warnings par photo téléchargée....
Hors ligne
En fait si j'utilise 7-zip, les photos sont bien dans l'archive ! Il doit y avoir un problème de compatibilité ziparchive et windows xp... Peut être voir pour avoir le choix de choisir zipArchive ou PclZip dans la config du plugin non ?
Sinon j'ai rajouter, pour zipArchive, un report dans le template qui affiche le nom de l'archive (ou des archives) créée(s) et le(s) fichier(s) qu'elle(s) contient(contiennent) au dessus du tableau des archives. Pour voir où ça bloquait et... ça ne bloquait pas d'où l'essai de 7-zip ! Si ça intéresse quelqu'un je poste les modifications.
J'ai aussi mis la date dans le nom du fichier .zip pour mieux se repérer dans la liste...
Bonne Nuit !
Hors ligne
Salut,
Alors il faut rajouter un isset, non ?
C'est ce que j'ai fais dans la beta4
Sinon il faut rajouter @ devant les deux ob_flush() :
Que disent les warning ? Probablement que la fonction ob_flush() n'existe pas. Dans ce cas la barre de progression ne fonctionne pas et on retombe sur le problème du time-out du serveur. Je vais ajouter un contrôle pour éviter les warning et non utiliser les @ que je trouve pas propre. Pour la barre de progression va vraiment falloir que j'envisage autre chose mais je vois pas trop quoi au contraire.
En fait si j'utilise 7-zip, les photos sont bien dans l'archive ! Il doit y avoir un problème de compatibilité ziparchive et windows xp
Étant sous linux je ne pourrais pas te confirmer.
Peut être voir pour avoir le choix de choisir zipArchive ou PclZip dans la config du plugin non ?
A terme j'ai espoir que la lib PclZip ne soit plus utilisée mais il faut attendre que les hébergeurs ce mettent à jour... Et c'est pas gagné :( Par défaut le plugin utilise zipArchive qui est beaucoup plus simple à maintenir en terme de code et contient exactement les mêmes fonctions que pclZip. En plus pclZip n'est plus maintenue et l'auteur ne répond plus aux mails. Proposer le choix... non parce que à tout les coups une personne va paramétrer zipArchive et la lib ne sera pas active sur le serveur. Résultat elle ne va pas comprendre pourquoi ça marche pas. Alors que la c'est le plugin qui choisi avec en priorité zipArchive.
J'ai aussi mis la date dans le nom du fichier .zip pour mieux se repérer dans la liste...
Sur la page qui affiche les archives générés, la date de création de l'archive est déjà présente et cette liste est trié par cette date. Ta modification peut-être utile dans le cas ou tu parcours le répertoire de l'utilisateur directement via le ftp.
Merci pour tes tests.
Hors ligne
En fait si j'utilise 7-zip, les photos sont bien dans l'archive ! Il doit y avoir un problème de compatibilité ziparchive et windows xp
J'ai creusé un peu, donc le problème provient du faite que lorsque le fichier est ajouté à l'archive toute la structure du répertoire est créé. Donc par exemple j'ai la structure suivante :
/root /plugins /download_multi /include class.inc.php /galleries /cat1 -photo1.jpg -photo2.jpg /thumbnail -TN-photo1.jpg -TN-photo2.jpg
Donc lorsque le script s'exécute c'est depuis le répertoire plugins/download_multi/include, pour recréer le chemin physique d'accès au fichier j'utilise la constante PHPWG_ROOT_PATH + le chemine d'accès qui est stocké dans la #image.path de la base de données. Par exemple pour accéder à photo1.jpg j'ai comme structure :
../../.././galleries/cat1/photo1.jpg
Ce qui pose problème suivant les programmes utilisés pour gérer les archives (7-zip, zip intégré à windows) puisque ../../.. n'est pas reconnu dans l'archive. La solution est de supprimer les ../../../ en plus de ./galleries que je supprimais déjà dans la version précédente. La solution est presque codé sauf bien sur à la lib PclZip (grrrrrr), elle me mange le premier caractère du répertoire.
Hors ligne
flipflip a écrit:
Salut,
Que disent les warning ? Probablement que la fonction ob_flush() n'existe pas. Dans ce cas la barre de progression ne fonctionne pas et on retombe sur le problème du time-out du serveur. Je vais ajouter un contrôle pour éviter les warning et non utiliser les @ que je trouve pas propre. Pour la barre de progression va vraiment falloir que j'envisage autre chose mais je vois pas trop quoi au contraire.
Voir le message plus haut pour les warnings :
<b>Notice</b>: ob_flush() [<a href='ref.outcontrol'>ref.outcontrol</a>]: failed to flush buffer. No buffer to flush. in <b>/homez.146/mimamou/www/galerie/plugins/download_multi/include/class.inc.php</b> on line <b>711</b><br /> <br /> <b>Notice</b>: ob_flush() [<a href='ref.outcontrol'>ref.outcontrol</a>]: failed to flush buffer. No buffer to flush. in <b>/homez.146/mimamou/www/galerie/plugins/download_multi/include/class.inc.php</b> on line <b>713</b><br />
Sinon le @ je l'ai trouvé dans la doc de php.net doc de php.net:
Use an '@' sign as "@ob_flush();" to avoid the following message: Notice: ob_flush(): failed to flush buffer. No buffer to flush. in /etc/www/test.php on line 88
Et sinon, j'avais retesté avec la beta 4 pour les warnings à l'installation tant que la config n'est pas faite et il me semble qu'il y était toujours.... Je reteste ce soir si j'ai le temps.
Edit : Je confirme j'ai toujours le warning à l'activation du plugin... manque le isset sur $this->my_config['group_id'] comme dans la correction que j'ai proposé plus haut....
Bon courage !
Adeline
Dernière modification par Didou (2009-03-20 13:39:56)
Hors ligne
Merci pour tes retours, je regarde ça lundi au bureau.
Hors ligne
Bonjour au forum et merci pour ce script.
Merveilleux.
Mais voila mon probleme :
J'utilise le pluging downloadmulti 0.9-beta4. Mais lors du lancement du telechargement des image voici le message qu'il me marque:
Je ne comprend pas pourquoi.
Si vous pouviez m'aider. Merci
Warning: array_push() [function.array-push]: First argument should be an array in /mnt/149/sda/8/a/yann.corbisier/corbisiergallery/plugins/download_multi/include/class.inc.php on line 789
Fatal error: Call to a member function assign() on a non-object in /mnt/149/sda/8/a/yann.corbisier/corbisiergallery/plugins/download_multi/include/class.inc.php on line 790
Hors ligne
Salut,
Je pense que l'erreur est à cause d'une variable global qui n'est pas présente.
Dans le fichier include/class.inc.php, remplace
// Ajout des fichiers dans l'archive // avec la lib PclZip function DmPclZipAddZip($path) { global $archive, $page, $errors; if( $this->my_config['active_comment'] ) { $action = $archive->add($path, PCLZIP_OPT_REMOVE_PATH, PHPWG_ROOT_PATH.'galleries/', PCLZIP_OPT_ADD_PATH, $this->my_config['prefix_dir'], PCLZIP_OPT_COMMENT, $this->my_config['comment'] ); } else { $action = $archive->add($path, PCLZIP_OPT_REMOVE_PATH, PHPWG_ROOT_PATH.'galleries/', PCLZIP_OPT_ADD_PATH, $this->my_config['prefix_dir'] ); } if ($action == 0) { array_push($errors, $lang['dl_no_file']); $template->assign('errors', $errors); } }
Par
// Ajout des fichiers dans l'archive // avec la lib PclZip function DmPclZipAddZip($path) { global $archive, $page, $errors, $template; if( $this->my_config['active_comment'] ) { $action = $archive->add($path, PCLZIP_OPT_REMOVE_PATH, PHPWG_ROOT_PATH.'galleries/', PCLZIP_OPT_ADD_PATH, $this->my_config['prefix_dir'], PCLZIP_OPT_COMMENT, $this->my_config['comment'] ); } else { $action = $archive->add($path, PCLZIP_OPT_REMOVE_PATH, PHPWG_ROOT_PATH.'galleries/', PCLZIP_OPT_ADD_PATH, $this->my_config['prefix_dir'] ); } if ($action == 0) { array_push($errors, $lang['dl_no_file']); $template->assign('errors', $errors); } }
Hors ligne
Bonjour,
J'ai mis l'excellent download multi sur ma page. Comment peut-on gérer les autorisation à télécharger suivant les utilisateurs ou groupes.
Dans les options on ne peut sélectionner qu'un seul groupe et en fait j'aimerais en sélectionner plusieurs.
Merci d'avance.
Hors ligne
Bonjour,
J'ai essayé, mais je n'ai plus les cases sous les photos pour les cochers???
Comment les remettres, j'ai essayé en remettant le code par defaut mais cela ne fonctionne pas.
Etonnant car ça n'a aucun rapport... A tu installé d'autre plugin ou bien fait d'autres modification ?
J'ai mis l'excellent download multi sur ma page. Comment peut-on gérer les autorisation à télécharger suivant les utilisateurs ou groupes.
Dans les options on ne peut sélectionner qu'un seul groupe et en fait j'aimerais en sélectionner plusieurs.
Pour le moment ce n'est pas possible mais prévue pour le futur : http://codingteam.net/project/downloadm … s/show/293
Hors ligne
Juste un message pour prévenir que cette semaine est la dernière avant la version final car pour moi la 0.9 est fonctionnel (enfin sur ma plate-forme de dev). Donc c'est maintenant ou jamais pour les erreurs (et non les demandes d'évolutions).
Hors ligne