Location: PHPKode > projects > WebJaxe > php/include/lecture_config.php
<?php
// WebJaxe, Observatoire de Paris, licence GPL
// encodage : UTF-8

// Lecture des paramètres depuis un fichier XML et mise des paramètres du site dans une session
function lire_fichier_configuration($fichier_config)
{
    if ( is_file($fichier_config) && is_readable($fichier_config) )
        $data = implode("", file($fichier_config));
    else
        die(FICHIER_PAS_OUVERT);
    $xml_parser = xml_parser_create();
    $res = xml_parse_into_struct($xml_parser, $data, $values);
    xml_parser_free($xml_parser);
    if ($res != 1)
        die(FICHIER_PAS_OUVERT);
    
    //Valeurs par défault
    $_SESSION['email_admin'] = "";
    $_SESSION['choix_du_mail'] = "Désactivé";
    $_SESSION['nom_du_serveur_smtp'] = ""; 
    
    foreach ($values as $elem) {
        $nom = $elem['tag'];
        if (isset($elem['value']))
            $valeur = $elem['value'];
        else
            $valeur = '';
        
        if ( $nom == 'CONFIGURATION_JAXE' )
            $_SESSION['chemin_configuration_jaxe'] = $valeur;
        
        if ( $nom == 'DOSSIER_APERCU' )
            $_SESSION['chemin_dossier_apercu'] = $valeur;
        
        //if ( $nom == "DOSSIER_INTERFACE" )
        //    $_SESSION['chemin_dossier_interface'] = $valeur;
        
        if ( $nom == 'SERVEUR_BDD' )
            $_SESSION['serveur_base_de_donnes'] = $valeur;
        
        if ( $nom == 'NOM_BDD' )
            $_SESSION['nom_base_de_donnes'] = $valeur;
        
        if ( $nom == 'LOGIN_BDD' )
            $_SESSION['login_base_de_donnes'] = $valeur;
        
        if ( $nom == 'PASS_BDD' )
            $_SESSION['pass_base_de_donnes'] = $valeur;
    
        if ( $nom == 'LANGUE' )
            $_SESSION['langue'] = $valeur;
            
        if ( $nom == 'EMAIL_ADMIN' )
            $_SESSION['email_admin'] = $valeur;
            
        if ( $nom == 'GESTION_MAIL' )
            $_SESSION['choix_du_mail'] = $valeur;  
            
        if ( $nom == 'SERVEUR_SMTP' )
            $_SESSION['nom_du_serveur_smtp'] = $valeur;
    }
}


function editer_fichier_config($chemin_configuration_jaxe=false, $chemin_dossier_apercu=false,
    $adresse_bdd=false, $nom_bdd=false, $login_bdd=false, $pass_bdd=false, $langue=false, $admin_mail=false, $mail_choice=false, $smtp_serveur=false)
{
    if ($chemin_configuration_jaxe === false)
        $chemin_configuration_jaxe = $_SESSION['chemin_configuration_jaxe'];
    if ($chemin_dossier_apercu === false)
        $chemin_dossier_apercu = $_SESSION['chemin_dossier_apercu'];
    //if ($chemin_dossier_interface == false)
    //    $chemin_dossier_interface = $_SESSION['chemin_dossier_interface'];
    if ($adresse_bdd === false)
        $adresse_bdd = $_SESSION['serveur_base_de_donnes'];
    if ($nom_bdd === false)
        $nom_bdd = $_SESSION['nom_base_de_donnes'];
    if ($login_bdd === false)
        $login_bdd = $_SESSION['login_base_de_donnes'];
    if ($pass_bdd === false)
        $pass_bdd = $_SESSION['pass_base_de_donnes'] ;
    if ($langue === false)
        $langue = $_SESSION['langue'] ;
    if ($admin_mail === false)
        $admin_mail = $_SESSION['email_admin'] ;
    if ($mail_choice === false)
        $mail_choice = $_SESSION['choix_du_mail'] ;
    if ($smtp_serveur === false)
        $smtp_serveur = $_SESSION['nom_du_serveur_smtp'] ;
    
    $contenu_fichier_config_xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
    $contenu_fichier_config_xml .= "<SITE>\n";
    $contenu_fichier_config_xml .= "<CONFIGURATION_JAXE>".$chemin_configuration_jaxe."</CONFIGURATION_JAXE>\n";
    $contenu_fichier_config_xml .= "<DOSSIER_APERCU>".$chemin_dossier_apercu."</DOSSIER_APERCU>\n";
    //$contenu_fichier_config_xml .= "<DOSSIER_INTERFACE>".$chemin_dossier_interface."</DOSSIER_INTERFACE>\n";
    $contenu_fichier_config_xml .= "<SERVEUR_BDD>".$adresse_bdd."</SERVEUR_BDD>\n";
    $contenu_fichier_config_xml .= "<NOM_BDD>".$nom_bdd."</NOM_BDD>\n";
    $contenu_fichier_config_xml .= "<LOGIN_BDD>".$login_bdd."</LOGIN_BDD>\n";
    $contenu_fichier_config_xml .= "<PASS_BDD>".$pass_bdd."</PASS_BDD>\n";
    $contenu_fichier_config_xml .= "<LANGUE>".$langue."</LANGUE>\n";
    $contenu_fichier_config_xml .= "<EMAIL_ADMIN>".$admin_mail."</EMAIL_ADMIN>\n";
    $contenu_fichier_config_xml .= "<GESTION_MAIL>".$mail_choice."</GESTION_MAIL>\n";
    $contenu_fichier_config_xml .= "<SERVEUR_SMTP>".$smtp_serveur."</SERVEUR_SMTP>\n";
    $contenu_fichier_config_xml .= "</SITE>\n";
    $sep = DIRECTORY_SEPARATOR;
    $fd = fopen("..".$sep."..".$sep."site_config".$sep."site_config.xml", 'w');
    if ( $fd == FALSE )
        erreur(FICHIER_CONTRIBUTION_PAS_CREE);
    if( $fd != FALSE and is_writable("..".$sep."..".$sep."site_config".$sep."site_config.xml") != FALSE )      
    {
        fputs($fd, $contenu_fichier_config_xml);
        fclose($fd);
    }
    return(true);
}

?>
Return current item: WebJaxe