Bonjour,
Je viens mettre à jour ma version 1.7.2 vers 2.4.5 ( à la main : merci Free)
Lorsque je veux "Ajouter un nouveau filigrane" ce dernier n'apparait pas dans "Sélectionnez un fichier" et je me retrouve avec cette erreur en haut de la page lorsque je suis dans l'onglet filigrane :
Warning: Invalid argument supplied for foreach() in /mnt/132/sdb/e/f/xxxxxxxxxx/admin/configuration.php on line 513
Warning: Cannot modify header information - headers already sent by (output started at /mnt/132/sdb/e/f/xxxxxxxxx/admin/configuration.php:513) in /mnt/132/sdb/e/f/xxxxxxxxx/include/page_header.php on line 105
Auriez-vous une idée de l'origine du problème et une correction?
Cordialement,
Jean-Hervé
Hors ligne
votre mise a jour ne s'est pas bien deroulé...
Il y a par exemple dans les fichiers fourni un repertoire themes/default/watermarks avec plusieurs images, hors apparament il n'existe pas sur votre serveur ...
Hors ligne
rvelices a écrit:
votre mise a jour ne s'est pas bien deroulé...
Il y a par exemple dans les fichiers fourni un repertoire themes/default/watermarks avec plusieurs images, hors apparament il n'existe pas sur votre serveur ...
Pouvez-vous m'indiquer à quelle étape reprendre la mise à jour?
J'ai bien des fichiers png dans themes/default/watermarks et celui que j'ai tenté de charger dans /local/watermarks
Hors ligne
bonjour,
je me suis inscrit sur ta galerie
Peux tu me passer webmaster que je regade
Hors ligne
rvelices, c'est à cause de la fonction glob qui est buggée (ou qui ne renvoie volontairement rien) chez Free.fr.
En remplaçant les 2 glob() par :
$dir = 'themes/default/watermarks'; if ($contents = @opendir(PHPWG_ROOT_PATH.$dir)) { while (($node = readdir($contents)) !== false) { if (preg_match('/\.png$/i', $node)) { $watermark_files[] = $dir.'/'.$node; } } closedir($contents); } $dir = PWG_LOCAL_DIR.'watermarks'; if ($contents = @opendir(PHPWG_ROOT_PATH.$dir)) { while (($node = readdir($contents)) !== false) { if (preg_match('/\.png$/i', $node)) { $watermark_files[] = $dir.'/'.$node; } } closedir($contents); }
Ca marche bien. Ca te va comme modif ?
Hors ligne
plg a écrit:
rvelices, c'est à cause de la fonction glob qui est buggée (ou qui ne renvoie volontairement rien) chez Free.fr.
En remplaçant les 2 glob() par :
...
Ca marche bien. Ca te va comme modif ?
Ca me va, mais boufff ... Je ne pense vraiment pas qu'on doit accomoder notre code pour free...
Hors ligne
Moi aussi sur le fond ça me fatigue un peu de passer du temps à s'adapter continuellement aux spécificités de Free.fr.
Je notifie Gotcha et Eric pour savoir si on fait une page spéciale "hébergés Free.fr" dans le wiki, en leur expliquant qu'il faut changer ça dans le code s'ils veulent faire fonctionner le filigrane.
Hors ligne
plg a écrit:
Je notifie Gotcha et Eric pour savoir si on fait une page spéciale "hébergés Free.fr" dans le wiki, en leur expliquant qu'il faut changer ça dans le code s'ils veulent faire fonctionner le filigrane.
De mon point de vue, ma réponse sera clairement non. Et après ? Une page wiki spéciale pour les galeries chez Orange ? SFR ?
Et je ne dis pas çà parce que j'ai migré mes galeries principales vers un "vrai" hébergeur payant. D'ailleurs, j'ai toujours une galerie (en voie d'extinction) hébergée chez Free sans parler des galeries en beta-test (si çà passe chez Free, çà passera partout ^^).
A mon sens, un topic épinglé regroupant les bons usages pour Free (et les autres hébergeurs "à problèmes") suffirait.
Hors ligne
Là c'est pas une question de "bons usages" mais "quoi modifier dans le code source pour faire fonctionner telle ou telle fonctionnalité".
Hors ligne
Oui, je n'ai pas trouvé de terme court pour dire "quoi modifier dans le code source pour faire fonctionner telle ou telle fonctionnalité" ;-p
Mais la finalité reste la même : Le wiki pour traiter de cas généraux d'utilisation / configuration de la galerie et un topic sur le forum pour les cas très particuliers.
Hors ligne
La modification est juste pour Free certes mais pour page d'admin, à l'utilisation unique ou rare
Donc bon... surtout concernant la modif on ne peut pas d'abord tester le glob et si erreur/array vide alors tout les readdir
Hors ligne
plg a écrit:
rvelices, c'est à cause de la fonction glob qui est buggée (ou qui ne renvoie volontairement rien) chez Free.fr.
En remplaçant les 2 glob() par :Code:
$dir = 'themes/default/watermarks'; if ($contents = @opendir(PHPWG_ROOT_PATH.$dir)) { while (($node = readdir($contents)) !== false) { if (preg_match('/\.png$/i', $node)) { $watermark_files[] = $dir.'/'.$node; } } closedir($contents); } $dir = PWG_LOCAL_DIR.'watermarks'; if ($contents = @opendir(PHPWG_ROOT_PATH.$dir)) { while (($node = readdir($contents)) !== false) { if (preg_match('/\.png$/i', $node)) { $watermark_files[] = $dir.'/'.$node; } } closedir($contents); }Ca marche bien. Ca te va comme modif ?
Bonjour,
Merci pour les actions effectuées.
Pouvez-vous m'indiquer dans quel fichier et à quelle ligne appliquer ce patch?
Hors ligne
quequejh a écrit:
Pouvez-vous m'indiquer dans quel fichier et à quelle ligne appliquer ce patch?
admin/configuration.php ligne 513, remplacer :
foreach (glob(PHPWG_ROOT_PATH.'themes/default/watermarks/*.png') as $file) { $watermark_files[] = substr($file, strlen(PHPWG_ROOT_PATH)); } if ( ($glob=glob(PHPWG_ROOT_PATH.PWG_LOCAL_DIR.'watermarks/*.png')) !== false) { foreach ($glob as $file) { $watermark_files[] = substr($file, strlen(PHPWG_ROOT_PATH)); } }
par
$dir = 'themes/default/watermarks'; if ($contents = @opendir(PHPWG_ROOT_PATH.$dir)) { while (($node = readdir($contents)) !== false) { if (preg_match('/\.png$/i', $node)) { $watermark_files[] = $dir.'/'.$node; } } closedir($contents); } $dir = PWG_LOCAL_DIR.'watermarks'; if ($contents = @opendir(PHPWG_ROOT_PATH.$dir)) { while (($node = readdir($contents)) !== false) { if (preg_match('/\.png$/i', $node)) { $watermark_files[] = $dir.'/'.$node; } } closedir($contents); }
Hors ligne