Le $type $filename n'éxiste pas.
$comment"; exit(); } else { echo "$type $filename trouvé.
"; } } /* * Vérifie si un fichier est modifiable */ function check_writable ($filename, $comment = "", $fatal = FALSE) { if (is_writable($filename)) { echo "$filename est modifiable.
"; } else { echo "
$filename n'est pas modifiable.
$comment"; if ($fatal) exit(); } } /** * Vérifie l'existence de plusieurs fichiers */ function check_all_files() { checkfile("../application", "Réimportez l'arborescence.
", "dossier"); checkfile("../system", "Réimportez l'arborescence.
", "dossier"); checkfile("../install", "Réimportez l'arborescence.
", "dossier"); checkfile("../../fonts", "recopiez celui de application/third_party/pChart
", "dossier"); check_writable("../application/config/club.php", "Vous ne pourrez pas modifier la configuration du club
" . "Changez les droits sur le serveur
", TRUE); check_writable("../application/config/facturation.php", "Vous ne pourrez pas changer la configuration de la facturation
" . "Changez les droits sur le serveur
", TRUE); check_writable("../assets/images", "Vous ne pourrez pas charger d'images ni générer de diagrammes
" . "Changez les droits sur le serveur
", TRUE); check_writable("../uploads", "Vous ne pourrez pas changer le logo
" . "Changez les droits sur le serveur
", TRUE); } /** * Lit les paramètres de base de données depuis un fichier de configuration */ function read_db_parameters ($filename) { $res = array(); $txt = file($filename); foreach ($txt as $line) { foreach (array('hostname', 'username', 'password', 'database') as $field) { if (preg_match("/.*($field)(.*)=\s.(.*)(';)/", $line, $matches)) { $res[$field] = $matches[3]; } } } if (isset($_GET['HOSTNAME'])) $res['hostname'] = $_GET['HOSTNAME']; if (isset($_GET['USERNAME'])) $res['username'] = $_GET['USERNAME']; if (isset($_GET['PASSWORD'])) $res['password'] = $_GET['PASSWORD']; if (isset($_GET['DATABASE'])) $res['database'] = $_GET['DATABASE']; return $res; } echo "

Installation de GVV


"; echo "

Verification de l'installation

"; /* * Verification de l'import de l'arborescence de GVV * */ echo "

Verification de l'arborescence

"; check_all_files(); /* * Verification de la structure de la base de donn�es */ echo "

Verification de la base de données

"; $configbase = "../application/config/database.php"; $db_params = read_db_parameters ($configbase); $serveur = $db_params['hostname']; $nom = $db_params['username']; $password = $db_params['password']; $base = $db_params['database']; /** * * Affiche un message en cas d'erreur de base de données fatale */ function fatal_db () { global $serveur, $nom, $password, $base, $configbase; $msg = "
"; $msg .= "Connexion à la base de données impossible.
"; $msg .= "vos paramètres:
"; $msg .= "serveur=$serveur
"; $msg .= "nom=$nom
"; $msg .= "mot de passe=$password
"; $msg .= "base=$base

"; $msg .= "modifier le fichier $configbase ou configurez votre base de données MYSQL"; die($msg); } /** * Calcul l'URL du site */ function site_url () { $protocol = strpos(strtolower($_SERVER['SERVER_PROTOCOL']),'https') === FALSE ? 'http' : 'https'; $host = $_SERVER['HTTP_HOST']; $script = $_SERVER['SCRIPT_NAME']; $params = $_SERVER['QUERY_STRING']; $currentUrl = $protocol . '://' . $host . $script . '?' . $params; $lst = preg_split ("/\//", $script); // unset($lst[2]); array_pop($lst); array_pop($lst); $script = join ("/", $lst); $url = $protocol . '://' . $host . $script; return $url; } // Verification connexion BDD $connexion=mysql_connect($serveur, $nom, $password) or fatal_db(); $db=mysql_select_db($base,$connexion) or fatal_db(); if (!mysql_set_charset("utf8")) { printf("Erreur lors du chargement du jeu de caractères utf8 : %s\n
", mysql_error()); } else { printf("Jeu de caractères courant : %s\n
", "utf8"); } //Verification structure BDD $sql = "SHOW TABLES FROM $base"; $req = mysql_query($sql) or die('erreur sql !
'.$sql.'
'.mysql_error()); echo "La connection à la base de données est correcte.
"; echo '
Detection des Tables:
'; while ($data = mysql_fetch_row($req)) { echo '
'; echo $data[0]; } function mysql_import($filename) { $file_content = file($filename); $query = ""; foreach($file_content as $sql_line){ if(trim($sql_line) != "" && strpos($sql_line, "--") === false){ $query .= $sql_line; if (substr(rtrim($query), -1) == ';'){ // echo $query . '
'; $result = mysql_query($query)or die(mysql_error()); $query = ""; } } } } if(mysql_numrows($req)<22){ echo '
Structure inexistante'; echo '
Création des tables de la base de données
'; mysql_import("./gvv_structure.sql"); echo '
Initialisation des valeurs par défaut'; mysql_import("./gvv_defaut.sql"); echo '
La base de données à été créée'; } else { echo "

Les tables de la base existent déjà, aucune action effectuée.
"; } //Verification utilisateurs $requete1=("SELECT * FROM users"); $resultat=mysql_query($requete1); echo '

Detection des Utilisateurs:

'; while($data = mysql_fetch_assoc($resultat)) { // on affiche les informations de l'enregistrement en cours echo ' '.$data['username'].'
'; } if(mysql_numrows($resultat)<1){ echo '
Aucun utilisateurs detectés'; echo '
Création d utilisateurs:
'; mysql_import("./initial_users.sql"); echo "
Après installation, vous pouvez vous connecter en utilisant testadmin/testadmin ou testuser/testuser
"; } else { echo "
Les utilisateurs existent déjà, rien à faire.
"; } //Verification sécurité if(mysql_numrows($resultat)>2){ } mysql_close($connexion); echo "le mot de passe de testuser est testuser.
"; echo "le mot de passe de testadmin est testadmin.
"; echo "N'oubliez pas de les changer
"; echo '
'; $url = site_url(); echo 'vous vouvez maintenant utiliser GVV: ' . $url .''; echo "

Fin de la procédure d'installation
"; ?>