Voici le code du fichier, qui devrait je pense te permettre de valider que tu as bien deviné le type des variables à initialiser.
<?
// +----------------------------------------------------------------------+
// | OpenCVthèque |
// +----------------------------------------------------------------------+
// | Ce programme est un logiciel libre ; vous pouvez le redistribuer |
// | et/ou le modifier conformément aux dispositions de la Licence |
// | Publique Générale GNU, telle que publiée par la Free Software |
// | Foundation ; version 2 de la licence, ou encore (à votre choix) |
// | toute version ultérieure. |
// | Ce programme est distribué dans l'espoir qu'il sera utile, mais |
// | SANS AUCUNE GARANTIE ; sans même la garantie implicite de |
// | COMMERCIALISATION ou D'ADAPTATION A UN OBJET PARTICULIER. Pour plus |
// | de détail, voir la Licence Publique Générale GNU . |
// | |
// | Vous devez avoir reçu un exemplaire de la Licence Publique Générale |
// | GNU en même temps que ce programme ; si ce n'est pas le cas, |
// | écrivez à la Free Software Foundation Inc., 675 Mass Ave, Cambridge, |
// | MA 02139, Etats-Unis |
//+----------------------------------------------------------------------+
// | Web : http://sourceforge.net/projects/opencvtheque/ |
// +----------------------------------------------------------------------+
// | Authors : (Auteur original) [email protected] |
// | : (Mainteneur 2007-.) [email protected] |
// +----------------------------------------------------------------------+
// | Objet de manipulation du fichier de configuration |
// +----------------------------------------------------------------------+
///////////////////////////////////
// Définition de l'objet
class ConfigFile
{
//////////// CONSTRUCTEURS ////////////
function ConfigFile($filename)
{
$this->_empty = TRUE;
$this->_filename = $filename;
$this->Load();
}
//////////// METHODES PUBLIQUES ////////////
function Load()
{
// on évite de faire un include simple, car qq'un pourrai comme ça inclure n'importe quoi (sécurité)
// alors on refait une sorte d'include:
// - on lit le contenu du fichier de conf
// - on fait un eval() du contenu
// - on assigne aux variables de classe les variables du contexte
// Plus tard il faudra vérifier quand même l'emplacement du fichier de conf, son contenu, etc.
// pour éviter les failles trop faciles à exploiter...
if( !($f = @fopen($this->_filename, "r")) ) { return FALSE; }
while( !@feof($f) )
{
if( ($buff = @fgets($f, 4096)) != "" )
{
@eval($buff);
}
}
@fclose($f);
$this->install_status = $install_status;
$this->mail_webmestre = $mail_webmestre;
$this->mysqlserver = $mysqlserver;
$this->mysqlloggin = $mysqlloggin;
$this->mysqlmaindb = $mysqlmaindb;
$this->mysqlpassword = $mysqlpassword;
$this->mysqlprefix = $mysqlprefix;
$this->errlog_path = $errlog_path;
$this->errlog_maxsize = $errlog_maxsize;
$this->errlog_level = $errlog_level;
$this->ldap_enabled = $ldap_enabled;
$this->ldap_serveur = $ldap_serveur;
$this->ldap_base_dn = $ldap_base_dn;
$this->ldap_user_suffixe = $ldap_user_suffixe;
$this->_empty = FALSE;
return TRUE;
}
function Save()
{
return $this->SaveAs($this->_filename);
}
function SaveAs($filename)
{
if( !($f = @fopen($filename, "w+")) ) { return FALSE; }
@fputs($f, $this->_Serialise());
@fclose($f);
return TRUE;
}
//////////// VARIABLES PUBLIQUES ////////////
var $install_status;
var $mail_webmestre;
var $mysqlserver;
var $mysqlloggin;
var $mysqlmaindb;
var $mysqlpassword;
var $mysqlprefix;
var $errlog_path;
var $errlog_maxsize;
var $errlog_level;
var $ldap_enabled;
var $ldap_serveur;
var $ldap_base_dn;
var $ldap_user_suffixe;
//////////// METHODES PRIVEES ////////////
function _Serialise()
{
$result = "<?php";
$result.= "\n// Ce fichier est généré automatiquement. Vous devez savoir ce que vous faites si vous devez le modifier.\n";
$result.= "\n// Général";
$result.= "\n"."\$install_status\t= '".$this->install_status."';";
$result.= "\n"."\$mail_webmestre\t= '".$this->mail_webmestre."';";
$result.= "\n";
$result.= "\n// Paramétres d'accès à la base MySQL";
$result.= "\n"."\$mysqlserver\t= '".$this->mysqlserver."';";
$result.= "\n"."\$mysqlloggin\t= '".$this->mysqlloggin."';";
$result.= "\n"."\$mysqlpassword\t= '".$this->mysqlpassword."';";
$result.= "\n"."\$mysqlmaindb\t= '".$this->mysqlmaindb."';";
$result.= "\n"."\$mysqlprefix\t= '".$this->mysqlprefix."';";
$result.= "\n";
$result.= "\n// Journaux d'événements";
$result.= "\n@include_once('../commun/logerrors.php'); // définitions des constantes globales";
$result.= "\n@include_once('commun/logerrors.php'); // définitions des constantes globales";
$result.= "\n"."\$errlog_path\t= '".$this->errlog_path."';";
$result.= "\n"."\$errlog_maxsize\t= ".$this->errlog_maxsize.";";
@include_once("../commun/logerrors.php");
@include_once("commun/logerrors.php");
global $CVT_LOG_LEV_TXT;
$result.= "\n"."\$errlog_level\t= ".$CVT_LOG_LEV_TXT[$this->errlog_level].";";
$result.= "\n";
$result.= "\n// Connexion LDAP";
$result.= "\n// Note: le fait d'utiliser LDAP désactive la création d'entreprises et de cnadidats.";
$result.= "\n"."\$ldap_enabled\t= ".($this->ldap_enabled===true?"true":"false").";";
$result.= "\n"."\$ldap_serveur\t= '".$this->ldap_serveur."';";
$result.= "\n"."\$ldap_base_dn\t= '".$this->ldap_base_dn."';";
$result.= "\n"."\$ldap_user_suffixe\t= '".$this->ldap_user_suffixe."';";
$result.= "\n\n?>";
return $result;
}
//////////// VARIABLES PRIVEES ////////////
var $_filename;
var $_empty;
}
?>
Voici le code du fichier, qui devrait je pense te permettre de valider que tu as bien deviné le type des variables à initialiser. :)
[php]<?
// +----------------------------------------------------------------------+
// | OpenCVthèque |
// +----------------------------------------------------------------------+
// | Ce programme est un logiciel libre ; vous pouvez le redistribuer |
// | et/ou le modifier conformément aux dispositions de la Licence |
// | Publique Générale GNU, telle que publiée par la Free Software |
// | Foundation ; version 2 de la licence, ou encore (à votre choix) |
// | toute version ultérieure. |
// | Ce programme est distribué dans l'espoir qu'il sera utile, mais |
// | SANS AUCUNE GARANTIE ; sans même la garantie implicite de |
// | COMMERCIALISATION ou D'ADAPTATION A UN OBJET PARTICULIER. Pour plus |
// | de détail, voir la Licence Publique Générale GNU . |
// | |
// | Vous devez avoir reçu un exemplaire de la Licence Publique Générale |
// | GNU en même temps que ce programme ; si ce n'est pas le cas, |
// | écrivez à la Free Software Foundation Inc., 675 Mass Ave, Cambridge, |
// | MA 02139, Etats-Unis |
//+----------------------------------------------------------------------+
// | Web : http://sourceforge.net/projects/opencvtheque/ |
// +----------------------------------------------------------------------+
// | Authors : (Auteur original)
[email protected] |
// | : (Mainteneur 2007-.)
[email protected] |
// +----------------------------------------------------------------------+
// | Objet de manipulation du fichier de configuration |
// +----------------------------------------------------------------------+
///////////////////////////////////
// Définition de l'objet
class ConfigFile
{
//////////// CONSTRUCTEURS ////////////
function ConfigFile($filename)
{
$this->_empty = TRUE;
$this->_filename = $filename;
$this->Load();
}
//////////// METHODES PUBLIQUES ////////////
function Load()
{
// on évite de faire un include simple, car qq'un pourrai comme ça inclure n'importe quoi (sécurité)
// alors on refait une sorte d'include:
// - on lit le contenu du fichier de conf
// - on fait un eval() du contenu
// - on assigne aux variables de classe les variables du contexte
// Plus tard il faudra vérifier quand même l'emplacement du fichier de conf, son contenu, etc.
// pour éviter les failles trop faciles à exploiter...
if( !($f = @fopen($this->_filename, "r")) ) { return FALSE; }
while( !@feof($f) )
{
if( ($buff = @fgets($f, 4096)) != "" )
{
@eval($buff);
}
}
@fclose($f);
$this->install_status = $install_status;
$this->mail_webmestre = $mail_webmestre;
$this->mysqlserver = $mysqlserver;
$this->mysqlloggin = $mysqlloggin;
$this->mysqlmaindb = $mysqlmaindb;
$this->mysqlpassword = $mysqlpassword;
$this->mysqlprefix = $mysqlprefix;
$this->errlog_path = $errlog_path;
$this->errlog_maxsize = $errlog_maxsize;
$this->errlog_level = $errlog_level;
$this->ldap_enabled = $ldap_enabled;
$this->ldap_serveur = $ldap_serveur;
$this->ldap_base_dn = $ldap_base_dn;
$this->ldap_user_suffixe = $ldap_user_suffixe;
$this->_empty = FALSE;
return TRUE;
}
function Save()
{
return $this->SaveAs($this->_filename);
}
function SaveAs($filename)
{
if( !($f = @fopen($filename, "w+")) ) { return FALSE; }
@fputs($f, $this->_Serialise());
@fclose($f);
return TRUE;
}
//////////// VARIABLES PUBLIQUES ////////////
var $install_status;
var $mail_webmestre;
var $mysqlserver;
var $mysqlloggin;
var $mysqlmaindb;
var $mysqlpassword;
var $mysqlprefix;
var $errlog_path;
var $errlog_maxsize;
var $errlog_level;
var $ldap_enabled;
var $ldap_serveur;
var $ldap_base_dn;
var $ldap_user_suffixe;
//////////// METHODES PRIVEES ////////////
function _Serialise()
{
$result = "<?php";
$result.= "\n// Ce fichier est généré automatiquement. Vous devez savoir ce que vous faites si vous devez le modifier.\n";
$result.= "\n// Général";
$result.= "\n"."\$install_status\t= '".$this->install_status."';";
$result.= "\n"."\$mail_webmestre\t= '".$this->mail_webmestre."';";
$result.= "\n";
$result.= "\n// Paramétres d'accès à la base MySQL";
$result.= "\n"."\$mysqlserver\t= '".$this->mysqlserver."';";
$result.= "\n"."\$mysqlloggin\t= '".$this->mysqlloggin."';";
$result.= "\n"."\$mysqlpassword\t= '".$this->mysqlpassword."';";
$result.= "\n"."\$mysqlmaindb\t= '".$this->mysqlmaindb."';";
$result.= "\n"."\$mysqlprefix\t= '".$this->mysqlprefix."';";
$result.= "\n";
$result.= "\n// Journaux d'événements";
$result.= "\n@include_once('../commun/logerrors.php'); // définitions des constantes globales";
$result.= "\n@include_once('commun/logerrors.php'); // définitions des constantes globales";
$result.= "\n"."\$errlog_path\t= '".$this->errlog_path."';";
$result.= "\n"."\$errlog_maxsize\t= ".$this->errlog_maxsize.";";
@include_once("../commun/logerrors.php");
@include_once("commun/logerrors.php");
global $CVT_LOG_LEV_TXT;
$result.= "\n"."\$errlog_level\t= ".$CVT_LOG_LEV_TXT[$this->errlog_level].";";
$result.= "\n";
$result.= "\n// Connexion LDAP";
$result.= "\n// Note: le fait d'utiliser LDAP désactive la création d'entreprises et de cnadidats.";
$result.= "\n"."\$ldap_enabled\t= ".($this->ldap_enabled===true?"true":"false").";";
$result.= "\n"."\$ldap_serveur\t= '".$this->ldap_serveur."';";
$result.= "\n"."\$ldap_base_dn\t= '".$this->ldap_base_dn."';";
$result.= "\n"."\$ldap_user_suffixe\t= '".$this->ldap_user_suffixe."';";
$result.= "\n\n?>";
return $result;
}
//////////// VARIABLES PRIVEES ////////////
var $_filename;
var $_empty;
}
?>
[/php]