[2.0.0] Exécution de code à l'installation d'un module
Volcan
- Age : 30 ans
- Messages : 1043
- Inscrit : 22 Janvier 2005
- Type de bug : Bug sur le forum (côté PHP)
- Zone du forum affectée : Administration
- Priorité du bug : Basse
- Description : Lorsqu'on installe un module (par installation automatique), on peut exécuter du code php sous la forum soit de code directement fourni dans le fichier install.xml soit dans un fichier php. Malheureusement si on choisit la premier solution, l'erreur suivante arrive:
FSB Notice : Undefined property: Xml_element::$file in file D:\ws\fsb2\main\class\class_module.php (418)
Fatal error: Call to a member function getData() on a non-object in D:\ws\fsb2\main\class\class_module.php on line 418
- Elément de réponse : Dans la méthode suivante, l'erreur apparait lorsque qu'on a pas de tag file dans le fichier d'installation:
la ligne concernée étant la définition de la variable $filename
private function subparse_exec()
{
if ($this->get_config('install'))
{
$code = str_replace(array("\r\n", "\r"), array("\n", "\n"), $this->handler->code[0]->getData());
$filename = $this->handler->file[0]->getData();
if ($this->get_config('install_file'))
{
if ($filename)
{
$fd = fopen(ROOT . $filename, 'r');
$content = trim(fread($fd, filesize(ROOT . $filename)));
fclose($fd);
$content = preg_replace('#^<\?(php)?#', '', $content);
$content = preg_replace('#\?>$#', '', $content);
$content = preg_replace('#/\*\s*begin include\s*\*/.*?/\*\s*end include\s*\*/#si', '', $content);
$code = $content;
}
eval($code);
}
}
}
- Fichier(s) :
- Base de donnée utilisée : MySQL 4
- Type de serveur : Apache (généralement unix)
Dans les hauteurs des cieux, par delà les nuages et les sommets enneigés, l'aigle majestueux survole la terre...
Kosmos & Eagle homepage ^^
Volcan
- Age : 30 ans
- Messages : 1043
- Inscrit : 22 Janvier 2005
Bon, c'est vraiment très mineur, il suffit d'ajouter le code suivant dans le fichier d'installation et ça passe
Dans les hauteurs des cieux, par delà les nuages et les sommets enneigés, l'aigle majestueux survole la terre...
Kosmos & Eagle homepage ^^
Chef du projet FSB
- Age : 22 ans
- Messages : 14190
- Inscrit : 16 Septembre 2004
Je note
Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
Chef du projet FSB
- Age : 22 ans
- Messages : 14190
- Inscrit : 16 Septembre 2004
Sujet archivé pour la raison suivante : Bug corrigé dans la version en développement.
Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
|
|