Erreur rencontrée en utilisant un certain nombre de thèmes avec [extension by Nicco] nbc ThemeChanger
Warning: include(/themeconf.inc.php) [function.include]: failed to open stream: No such file or directory in /homez.110/marienoe/www/piwigocamp/include/template.class.php on line 615
Warning: include() [function.include]: Failed opening '/themeconf.inc.php' for inclusion (include_path='.:/usr/local/lib/php') in /homez.110/marienoe/www/piwigocamp/include/template.class.php on line 615
Concerne les thèmes suivants :
* BlancMont XL
* Gally/Cuise
* Gally/Graphite
* Gally/Grum dark II
* Gally/Lapis-lazuli
* Grum dark II
* Kardon
* Luciano Amodio
* MontBlanc XL
* Simple Black
* Simple Grey
* Simple Sunset
* Simple White
* Sobre
L'erreur est reproductible sur cette galerie en visualisant les sous-catégories correspondantes de la catégorie "Galerie de thèmes".
A noter également : bien qu'installés les thèmes Simple Sunset et Pure_default restent présents sur l'onglet "Ajouter un thème"
Hors ligne
Je suppose que Theme Changer cherche à récupérer une variable qui n'existe plus ou qu'il ne sait pas manipuler.
Hors ligne
Gotcha a écrit:
Je suppose que Theme Changer cherche à récupérer une variable qui n'existe plus ou qu'il ne sait pas manipuler.
Ca marche quand même avec pas mal d'autres thèmes :/
Hors ligne
La différence que je note dans le fichier themeconf.inc.php entre Sylvia et Sobre sont ces deux lignes :
'icon_dir' => 'themes/Sylvia/icon', 'mime_icon_dir' => 'themes/Sylvia/icon/mimetypes/',
Hors ligne
Gotcha a écrit:
La différence que je note dans le fichier themeconf.inc.php entre Sylvia et Sobre sont ces deux lignes :
Code:
'icon_dir' => 'themes/Sylvia/icon', 'mime_icon_dir' => 'themes/Sylvia/icon/mimetypes/',
Je ne pense pas que ça soit ça, car tous mes thèmes perso fonctionnent, et ils ne redéfinissent pas tous les répertoires (seulement Aquarelle, en fait).
Je pense d'ailleurs que ce sont des variables définies par défaut ... dans le thème par défaut, justement ;-)
Hors ligne
j'ai tester la migration avec les 3 thèmes de bases.
Et tout marchais super bien.
Ce soir, je testerai avec l'installation d'autres thèmes pour regarder ce problème.
Hors ligne
tosca a écrit:
L'erreur est reproductible sur cette galerie en visualisant les sous-catégories correspondantes de la catégorie "Galerie de thèmes".
J'ai provisoirement verrouillé les catégories correspondant aux thèmes en erreur, pour que ça ne fasse pas trop désordre ;-)
Hors ligne
En fait, j'ai exactement le meme bug avec le plugin Multi View
Mais je n'en trouve pas la raison!
Hors ligne
l'erreur arrive au niveau du contructeur
$template = new Template(PHPWG_ROOT_PATH.'themes', $user['theme'] );
Je continue mon investigation.
Hors ligne
j'ai trouvé une piste, il y a un comportement suspect dans le core pwigo au niveau du fichier :
template.class.php
En effet, lorsqu'il s'agit des thèmes standard, un appel a la fonction
realpath(dir) retourne toujours une chaine valide.
Lorsqu'il s'agit des thèmes comme le blancMont XL cette même fonction retour la chaine null.
Cette builtin est utilisé dans les fonctions :
- set_template_dir
- set_theme
- set_extents
- load_themeconf
Hors ligne
Ci dessous on voit bien que le realpath($dir) dans la fonction load_themeconf ne fonctionne pas pour le thème BlancMont XL.
Le soucie est l'espace entre BlancMont et XL.
Sylvia set_template_dir - dir :./themes/Sylvia/template set_template_dir - real_dir : load_themeconf - dir :./themes/Sylvia load_themeconf - realpath(dir ):C:\Documents and Settings\Administrator\Desktop\gallery\piwigo2.1\themes\Sylvia load_themeconf - dir :./themes/default load_themeconf - realpath(dir ):C:\Documents and Settings\Administrator\Desktop\gallery\piwigo2.1\themes\default set_theme - local_head : ./themes/default/local_head.tpl set_theme - realpath(local_head) : C:\Documents and Settings\Administrator\Desktop\gallery\piwigo2.1\themes\default\local_head.tpl Dark set_template_dir - real_dir : load_themeconf - dir :./themes/dark load_themeconf - realpath(dir ):C:\Documents and Settings\Administrator\Desktop\gallery\piwigo2.1\themes\dark load_themeconf - dir :./themes/default load_themeconf - realpath(dir ):C:\Documents and Settings\Administrator\Desktop\gallery\piwigo2.1\themes\default set_theme - local_head : ./themes/default/local_head.tpl set_theme - realpath(local_head) : C:\Documents and Settings\Administrator\Desktop\gallery\piwigo2.1\themes\default\local_head.tpl BlancMont XL set_template_dir - dir :./themes/BlancMont XL/template set_template_dir - real_dir : load_themeconf - dir :./themes/BlancMont XL load_themeconf - realpath(dir ):C:\Documents and Settings\Administrator\Desktop\gallery\piwigo2.1
Hors ligne
le problème vient de la table de piwigo210_themes (id, version, name)
ou la colonne name contient un espace.
Une fois cette espace éliminé, tout fonctionne bien.
Petite question, quelle est la source de cette variable?
Hors ligne
name est facultatif et peut contenir des espaces.
id est automatique et contient le nom du répertoire.
=> ne pas utiliser ['name'] mais ['id']
Hors ligne
le pb c'est que dans la variable $user[theme] est contenue le nom du thème et pas l'ID.
[edit]dans le module d'admin, lorsqu'on spécifie un thème par défaut c'est le nom du thème qui est enregistrer dans la table user_info[/edit]
[edit2] De plus le constructeur de la class Template prend en paramètre le nom du template, pas son ID. [/edit2]
Dernière modification par datajulien (2010-06-21 11:08:24)
Hors ligne
corrigé.
Version 2.1.0.b en ligne.
Hors ligne