"); print (""); print (""); print (""); print (""); print (""); print (""); //====================================================================================================== //====================================================================================================== // on va chercher le fichier docuphp.ini; s'il n'existe pas, il faut le créer // ce fichier sert à configurer l'application // écriture du fichier docuphp.ini si des variables ont été passées en POST par le formulaire de configuration if ($_POST["action"]=="ini") { // on crée la table MySQL pour enregistrer les informations $detect=create_db($db_host,$db_user,$db_password,$db_name,$table_docuphp); $handle=fopen("docuphp.ini","w+"); fwrite($handle,"db_host=".$db_host."\r\n"); fwrite($handle,"db_name=".$db_name."\r\n"); fwrite($handle,"db_user=".$db_user."\r\n"); fwrite($handle,"db_password=".$db_password."\r\n"); fwrite($handle,"table_docuphp=".$table_docuphp."\r\n"); fwrite($handle,"docuphp_path=".$docuphp_path."\r\n"); fwrite($handle,"docuphp_password=".$docuphp_password."\r\n"); fwrite($handle,"docuphp_hide=".stripslashes($docuphp_hide)."\r\n"); fwrite($handle,"docuphp_replace=".$docuphp_replace."\r\n"); fwrite($handle,"docuphp_ignore=".stripslashes($docuphp_ignore)."\r\n"); fwrite($handle,"db_list_name=".stripslashes($db_list_name)."\r\n"); fwrite($handle,"docuphp_view=".$_POST['docuphp_view']."\r\n"); fclose($handle); // on ouvre une session administrateur $_SESSION["admin_docuphp"]="ok"; // on efface les variables postées $_POST=array(); // si une erreur a été détectée on efface tout de suite le fichier docuphp.ini if ($detect=="erreur") { unlink($handle); } // on redirige sur la page d'accueil, qui va être rechargée en tenant du compte du fichier .ini s'il a pu être créé print(""); } // si le fichier docuphp.ini n'existe pas if (!file_exists("docuphp.ini")) { print ("
Si les paramètres de connexion MySQL ne sont pas valides, le fichier de configuration ne sera pas créé !


"); print ("\r\n"); print ("\r\n"); $def_path=$_SERVER["PHP_SELF"]; print ("\r\n"); print ("\r\n"); print ("\r\n"); print ("\r\n"); print ("\r\n"); print ("\r\n"); print ("\r\n"); print ("\r\n"); print ("\r\n"); print ("\r\n"); print ("\r\n"); print ("\r\n"); print ("\r\n"); print ("\r\n"); print ("\r\n"); print ("
MySQL: DB HOSTEx: localhost
MySQL: DB USEREx: mydomain
MySQL: DB PASSWORDEx: siO9d88
MySQL: DB NAME (nom de la bd pour enregistrer les données sur les pages)Ex: mydomain
MySQL: TABLE NAME (nom de la table pour stocker la description des pages)Ex: docuphp
MySQL: BD à documenter, séparées par \" ::: \"Ex: mydomain ::: mydomain1 ::: mydomain2
Chemin relatif au répertoire en cours où commencer la documentation
../ commence à remplir la base de données avec les pages et les sous-répertoires du répertoire parent de docuphp
Ex: ../../
Mot de passe pour faire la mise à jour de DocuPHPEx: siO9d88
Chaînes de caractères à masquer (mots de passe), séparés par \" ::: \"
Possibilité d'utiliser les regexp
Ex: siO9d88
Chaîne de remplacement pour les chaînes à masquerEx: ***hide***
Répertoire(s) à ne pas mettre dans la base de données, séparés par \" ::: \"
Possibilité d'utiliser les regexp
Ex: ../../private/docuphp ::: ../../images
Permettre aux utilisateurs de voir
\r\n"); } //====================================================================================================== //==================================================================================================================== // si le fichier existe on le lit else { $lignes_ini=file("docuphp.ini"); for ($i=0;$i\r\n"); print ("
\r\n"); print ("\r\n"); print ("MySQL: DB HOST\r\n"); print ("MySQL: DB USER\r\n"); print ("MySQL: DB PASSWORD\r\n"); print ("MySQL: DB NAME (nom de la bd pour enregistrer les données sur les pages)\r\n"); print ("MySQL: TABLE NAME (nom de la table pour stocker la description des pages)\r\n"); print ("MySQL: BD à documenter, séparées par \" ::: \"\r\n"); print ("Chemin relatif au répertoire en cours où commencer la documentation
../ commence à remplir la base de données avec les pages et les sous-répertoires du répertoire parent de docuphp\r\n"); print ("Mot de passe pour faire la mise à jour de DocuPHP\r\n"); print ("Chaînes de caractères à masquer (mots de passe), séparés par \" ::: \"
Possibilité d'utiliser les regexp\r\n"); print ("Chaîne de remplacement pour les chaînes à masquer\r\n"); print ("Répertoire(s) à ne pas mettre dans la base de données, séparés par \" ::: \"
Possibilité d'utiliser les regexp\r\n"); print ("Permettre aux utilisateurs de voir\r\n"); print ("\r\n"); print ("
\r\n"); print ("\r\n"); } //==================================================================================================================== //==================================================================================================================== // connexion à la base de données MySQL $link = mysql_connect($db_host, $db_user, $db_password) or die (); mysql_select_db ($db_name) or die (); //==================================================================================================================== //==================================================================================================================== // si l'administrateur à décidé de recharger la base de données des pages if (($action=="fill_db") AND ($_SESSION["admin_docuphp"]=="ok")) { mysql_select_db ($db_name) or die (); $populate_bd=count_files($docuphp_path,$ignore_str,$table_docuphp); print(""); } // si l'administrateur à décidé de recharger la base de données des tables MySQL if (($action=="fill_db_db") AND ($_SESSION["admin_docuphp"]=="ok")) { $populate_bd=fill_db_db($list_db_str,$db_name,$table_docuphp); print(""); } // si l'administrateur à décidé de supprimer tous les enregistrements de DocuPHP qui n'ont pas de description if (($action=="delete_without_comment") AND ($_SESSION["admin_docuphp"]=="ok")) { $r=mysql_query("DELETE from $table_docuphp WHERE description=''"); print(""); } //==================================================================================================================== //==================================================================================================================== // identification et déconnexion if ($_POST["auth_a"]) if ($_POST["auth_a"]==$docuphp_password) $_SESSION["admin_docuphp"]="ok"; if ($action=="deconnexion") { $_SESSION=array(); print(""); } //==================================================================================================================== //==================================================================================================================== // Variable "seulement avec commentaire" enregistrée dans variable de session // Permet à l'utilisateur de n'afficher que les fichiers qui sont dans la table docuphp ou seulement ceux qui ont un commentaire if ($_POST['select_display']<>"") { $_SESSION['display']=$_POST['select_display']; unset($_SESSION['docuphp_view']); print(""); } //==================================================================================================================== //==================================================================================================================== // Mise à jour de la description d'une fiche de table_docuphp if (($_POST['description']) AND ($id_modification) AND ($_SESSION['admin_docuphp']=='ok')) { $r=mysql_query("UPDATE $table_docuphp SET description='$description' WHERE id=$id_modification"); } //==================================================================================================================== //==================================================================================================================== // Suppression d'une entrée dans table_docuphp if (isset($supprime) AND ($_SESSION['admin_docuphp']=='ok')) { $r=mysql_query("DELETE FROM $table_docuphp WHERE id=$supprime LIMIT 1"); echo ""; } //==================================================================================================================== //==================================================================================================================== // si on a affiché le formulaire de modification du fichier de configuration, on affiche rien d'autre. Sinon, on affiche tout ! if (!$action=='modification_ini') { if (!isset($_SESSION['display'])) $_SESSION['docuphp_view']=$docuphp_view; if ($_SESSION['admin_docuphp']=='ok') if ($_SESSION['display']=='') $_SESSION['display']='all'; print ("
"); //================================================================== // le menu de gauche print ("
"); print ("
"); if ($_SESSION['admin_docuphp']=="ok") print ("
"); print (""); print (""); print ("
"); // formulaire de recherche print ("
"); print (".:. Recherche
"); print (""); print (""); print ("
"); print ("
"); print ("
"); if ($_SESSION["admin_docuphp"]=="ok") { print ("
"); print ("
"); print ("
"); print (".:. Affichage
"); print (""); print (""); print (""); print ("
"); print ("
"); print ("
"); } print ("
"); //====================================================== //====================================================== // si on navigue dans l'arborescence des fichiers, on affiche les fichiers avec la fonction list_file if (($path) OR ($_POST["path"])) { if ($_POST["path"]) $path=$_POST["path"]; list_file($path,$docuphp_path,$table_docuphp); } // si on navigue dans les tables MySQL, on les affiche avec la fonction list_bd else if ($mysql) list_bd($list_db_str,$db_name,$table_docuphp); //====================================================== //====================================================== // formulaire pour s'identifier if ($_SESSION["admin_docuphp"]<>"ok") print ("
.:. Identification
"); else if ($admin==1) { print ("
"); print ("
"); print("
  • Déconnexion"); print ("
  • "); print ("
    "); print ("
  • Recharger la base (fichiers)"); print ("
  • "); print ("
    "); print ("
  • Recharger la base (tables MySQL)"); print ("
  • "); print ("
    "); print ("
  • Fichier de configuration"); print ("
  • "); print (""); $row=mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM $table_docuphp WHERE type='file'")); print ("
  • $row[0] répertoires/fichiers dans $table_docuphp, "); $row=mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM $table_docuphp WHERE type='file' AND description<>''")); print("dont $row[0] avec une description
  • "); $row=mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM $table_docuphp WHERE type='db'")); print ("
  • $row[0] bd/tables dans $table_docuphp, "); $row=mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM $table_docuphp WHERE type='db' AND description<>''")); print("dont $row[0] avec une description
  • "); print ("
    "); } print ("
    "); //================================================================== //================================================================== // le corps de la page print ("
    "); // on regarde s'il y a quelque chose dans la table docuphp $r=mysql_query("SELECT id FROM $table_docuphp WHERE 1"); if (mysql_num_rows($r)==0) print ("
    • La base de données ne contient aucun enregistrement !
    • Vous pouvez la remplir en cliquant ici
    ");; //=========================================================================================== // si un fichier a été passé en paramètre, on va récupérer sa date de modification, les infos qui sont dans la base docuphp et la source de la page if (($fichier) OR ($_POST["fichier"])) { if ($_POST["fichier"]) $path=$_POST["fichier"]; if ($_POST["path"]) $path=$_POST["path"]; $fichier=ereg_replace("..//","",$fichier); //============= if (file_exists($path."/".$fichier)) { $date_modif=date ("d-m-Y .:. H:i:s.", filemtime($path."/".$fichier)); bd_file($path,$fichier,$hide_str,$docuphp_replace,$table_docuphp,$date_modif); } } //=========================================================================================== // si on a seulement un nom de répertoire: else if (($path) OR ($_POST["path"])) { if ($_POST["fichier"]) $path=$_POST["fichier"]; if ($_POST["path"]) $path=$_POST["path"]; if (is_dir($path)) { $date_modif=""; bd_file($path,$fichier,$hide_str,$docuphp_replace,$table_docuphp,$date_modif); } else print ("

    [rien à afficher]

    "); } //=========================================================================================== // si on est dans l'affichage des bd/tables MySQL else if ($mysql) { db_db($db_desc,$table_desc,$table_docuphp); } //=========================================================================================== // si l'utilisateur a fait une recherche par mot-clé on affiche le résultat de la requête else if ($word) { search($word,$table_docuphp); } //=========================================================================================== print ("
    ");// fin du corps de la page //================================================================== //================================================================== print ("
    ");// fin du conteneur } //====================================================================================================== } // fin de "si docuphp.ini existe //============================================================================================================= print (""); ?>