Je me répond à moi même afin d'ajouter une copie d'écran de ce qui m'arrive (et une transcription texte au passage) :
Code : Tout sélectionner
' . _("Merci de le créer et de le télécharger dans le dossier inc"); } if ($messerr == '') { include_once('inc/config.inc.php'); // Contrôle dossier fichiers techniques if (is_dir($url_gfc)) { if ((!is_readable($url_gfc)) OR (!is_writable($url_gfc))) { if ($messerr <> '') { $messerr .= '
'; } $messerr .= _("Problème sur le dossier des fichiers techniques "). ' : ' ._("dossier non accessible - vérifiez les droits"); } } else { if ($messerr <> '') { $messerr .= '
'; } $messerr .= _("Problème sur le dossier des fichiers techniques ") .' : '. _("dossier non créé ou chemin mal paramétré"); } // Contrôle dossier de sauvegarde if (is_dir($url_svg)) { if ((!is_readable($url_svg)) OR (!is_writable($url_svg))) { if ($messerr <> '') { $messerr .= '
'; } $messerr .= _("Problème sur le dossier de sauvegarde "). ' : ' ._("dossier non accessible - vérifiez les droits"); } } else { if ($messerr <> '') { $messerr .= '
'; } $messerr .= _("Problème sur le dossier de sauvegarde ") .' : '. _("dossier non créé ou chemin mal paramétré"); } // Contrôle dossier des icônes if (is_dir('./icones')) { if (!is_readable('./icones')) { if ($messerr <> '') { $messerr .= '
'; } $messerr .= _("Problème sur le dossier des icones "). ' : ' ._("dossier non accessible - vérifiez les droits"); } } else { if ($messerr <> '') { $messerr .= '
'; } $messerr .= _("Problème sur le dossier des icones ") .' : '. _("dossier non créé ou chemin mal paramétré"); } // Contrôle dossier des logos if (is_dir('./logos')) { if ((!is_readable('./logos')) OR (!is_writable('./logos'))) { if ($messerr <> '') { $messerr .= '
'; } $messerr .= _("Problème sur le dossier des logos "). ' : ' ._("dossier non accessible - vérifiez les droits"); } } else { if ($messerr <> '') { $messerr .= '
'; } $messerr .= _("Problème sur le dossier des logos ") .' : '. _("dossier non créé ou chemin mal paramétré"); } // Détection de l'OS du serveur $windows = 0; $unix = 0; $os = getenv('OS'); if (empty($os)) { $os = php_uname(); } if (empty($os)) { $os = '-'; $unix = 1; } else { if (preg_match("/^Win.*/", $os)) { $windows = 1; } else { $unix = 1; } } // Fileperms ne fonctionne correctement que sous Unix/Linux if ($unix == 1) { // On vérifie que les droits le répertoire inc sont ok $droits = substr(sprintf('%o', fileperms('./inc')), -4); if (($droits == '0775') OR ($droits == '0757') OR ($droits == '0777')) { if ($messerr <> '') { $messerr .= '
'; } $messerr .= _("Les droits sur le répertoire inc ne sont pas corrects") . ' (' . $droits . ")
" . _("Merci de ne pas utiliser '0775', '0757', ou '0777'"); } // On vérifie que les droits sur prm.inc.php sont ok $droits = substr(sprintf('%o', fileperms('./inc/prm.inc.php')), -4); if ($droits != '0644') { if ($messerr <> '') { $messerr .= '
'; } $messerr .= _("Les droits sur le fichier prm.inc.php ne sont pas corrects") . ' (' . $droits . ").
" . _("Merci de corriger en '0644'"); } } // Tout est ok...on démarre if ($messerr == '') { include_once('inc/func.inc.php'); include_once('inc/func_fic.inc.php'); include_once('inc/func_log.inc.php'); include_once('inc/func_txt.inc.php'); include_once('classes/ezSQL/shared/ez_sql_core.php'); include_once('classes/ezSQL/mysqli/ez_sql_mysqli.php'); include_once('inc/func_sql.inc.php'); // Archivage du log Archivelog(valsession('code_log')); // Variables Formulaire fix_magic_quotes(); $_POST = clean_str($_POST); $log_ip = $_SERVER['REMOTE_ADDR']; // Récupération adresse IP // Vérifie si l'administrateur a été créé (si non, il est créé) $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST, 'utf8'); //$db = open_database(DBUSER, DBPASS, DBNAME, DBHOST, 'utf8'); $sql = "SELECT COUNT(*) FROM `" . TBPW . "` WHERE `pw_code` = '" . $db->escape($admin_code) . "'"; $nb_rs = $db->get_var($sql); if ($nb_rs == 0) { $pass = md5($admin_mdp); // Cryptage du mot de passe administrateur $sql2 = "INSERT INTO `" . TBPW . "`"; $sql2 .= " (pw_code,pw_pass,pw_level,pw_lastsuccess,pw_lastip,pw_actif) VALUES"; $sql2 .= " ('" . $db->escape($admin_code) . "','" . $db->escape($pass) . "','9','$dateheurea','$log_ip','1')"; $db->query($sql2); } // On crée le répertoire imports pour l'administrateur et le siège // Si le sous-répertoire spécifique aux imports n'existe pas, on le crée $tab_gfc = explode('/', str_ireplace($root, '', $url_gfc)); $chemin = substr($root, 0, strlen($root)); foreach ($tab_gfc as $idx => $value) { $chemin = $chemin . '/' . $value; $result = cree_dir($chemin); } $rep = $url_gfc . '/imports'; if (cree_dir($rep)) { $desc = _("Dossier pour imports administrateur & centre de gestion"); $detail = _("Dossier de stockage des fichiers pour import par l'administrateur et le centre de gestion"); $sql2 = "INSERT INTO `" . TBFIC . "`"; $sql2 .= " (fic_nom,fic_type,fic_desc,fic_detail,fic_datecrea,fic_codecrea,fic_nbtel) VALUES"; $sql2 .= " ('" . $db->escape($rep) . "','0','" . $db->escape($desc) . "','" . $db->escape($detail) . "','$datea','" . $db->escape($admin_code) . "','')"; $db->query($sql2); } // On crée le répertoire pièce jointes pour l'administrateur et le siège // Si le sous-répertoire spécifique aux pièces n'existe pas, on le crée $rep = $url_gfc . '/pj'; if (cree_dir($rep)) { $desc = _("Dossier pour PJ administrateur & centre de gestion"); $detail = _("Dossier de stockage des PJ administrateur et centre de gestion"); $sql2 = "INSERT INTO `" . TBFIC . "`"; $sql2 .= " (fic_nom,fic_type,fic_desc,fic_detail,fic_datecrea,fic_codecrea,fic_nbtel) VALUES"; $sql2 .= " ('" . $db->escape($rep) . "','0','" . $db->escape($desc) . "','" . $db->escape($detail) . "','$datea','" . $db->escape($admin_code) . "','0')"; $db->query($sql2); } close_database(); $validpwd = False; $desactive = False; // Formulaire validé if (valpost('submit') == _("Connexion")) { // Récupération Variables Formulaire $con_code = valpost('con_code'); $con_pass = md5(valpost('con_pass')); if (!$validpwd) { // Contrôle du mot de passe $db = open_database(DBUSER, DBPASS, DBNAME, DBHOST, 'utf8'); $sql = "SELECT * FROM `" . TBPW . "` WHERE `pw_code` = '" . $db->escape($con_code) . "'"; $row = $db->get_row($sql, ARRAY_A); if ($row) { extract($row); if ($con_code == $pw_code) // Le code entré doit correspondre exactement au code stocké (majuscules/minuscules) { if ($pw_pass == $con_pass) // Le mot de passe doit correspondre exactement { if ($pw_actif == 1) // Le compte doit être actif { if (trim(valpost('con_lng')) <> '') { $_SESSION['lng'] = strtolower(valpost('con_lng')); } else { $_SESSION['lng'] = strtolower($pw_lng); } if (trim(valpost('con_pays')) <> '') { $_SESSION['codepays'] = strtoupper(valpost('con_pays')); } else { $_SESSION['codepays'] = strtoupper($pw_pays); } // On récupère les données de localisation du pays $sql = "SELECT * FROM `" . TBPAYS . "` WHERE `pays_code` = '" . $db->escape($_SESSION['codepays']) . "'"; $row = $db->get_row($sql, ARRAY_A); if ($row) { extract($row); } else { $_SESSION['codepays'] = strtoupper(PAYS_DEFAULT); $sql = "SELECT * FROM `" . TBPAYS . "` WHERE `pays_code` = '" . $db->escape($_SESSION['codepays']) . "'"; $row2 = $db->get_row($sql, ARRAY_A); if ($row2) { extract($row2); } } $_SESSION['num_nbdec'] = $pays_nbdec; $_SESSION['num_cardec'] = $pays_cardec; $_SESSION['num_carsep'] = $pays_carsep; $_SESSION['date_fmt'] = $pays_datefmt; $_SESSION['date_fmtshort'] = $pays_datefmtshort; $_SESSION['date_fmtfull'] = $pays_datefmtfull; $_SESSION['etat_log'] = 'connecte'; $_SESSION['niv_log'] = $pw_level; $_SESSION['code_log'] = $con_code; $_SESSION['code_age'] = ''; $_SESSION['code_do'] = ''; $_SESSION['code_st'] = ''; $_SESSION['id_ccli'] = 0; $_SESSION['mod'] = $pw_modele; // Codes session complémentaires switch ($pw_level) { // Code agence case 4 : $_SESSION['code_age'] = $con_code; break; // Code technicien agence case 3 : $sql2 = "SELECT tec_codeage FROM `" . TBTEC . "` WHERE `tec_code` = '" . $db->escape($con_code) . "'"; $row2 = $db->get_row($sql2, ARRAY_A); if ($row2) { extract($row2); $_SESSION['code_age'] = $tec_codeage; } break; // Code donneur d'ordres case 6 : $_SESSION['code_do'] = $con_code; break; // Code technicien donneur d'ordres case 7 : $sql2 = "SELECT tec_codedo FROM `" . TBTEC . "` WHERE `tec_code` = '" . $db->escape($con_code) . "'"; $row2 = $db->get_row($sql2, ARRAY_A); if ($row2) { extract($row2); $_SESSION['code_do'] = $tec_codedo; } break; // Code Sous-traitant case 10 : $_SESSION['code_st'] = $con_code; break; // Code technicien sous-traitant case 11 : $sql2 = "SELECT tec_codest FROM `" . TBTEC . "` WHERE `tec_code` = '" . $db->escape($con_code) . "'"; $row2 = $db->get_row($sql2, ARRAY_A); if ($row2) { extract($row2); $_SESSION['code_st'] = $tec_codest; } break; // Code contact client case 12 : $_SESSION['niv_log'] = 1; $sql2 = "SELECT ccli_id,ccli_codecli FROM `" . TBCCLI . "` WHERE `ccli_code` = '" . $db->escape($con_code) . "'"; $row2 = $db->get_row($sql2, ARRAY_A); if ($row2) { extract($row2); $_SESSION['code_log'] = $ccli_codecli; $_SESSION['id_ccli'] = $ccli_id; } break; } $sql2 = "UPDATE `" . TBPW . "` SET `pw_lastsuccess`='" . $dateheurea . "', `pw_lastip`='" . $log_ip . "' WHERE `pw_id`='" . $pw_id . "'"; $db->query($sql2); $validpwd = TRUE; } else { $desactive = TRUE; } } } } close_database(); } } } } ?> '') { echo $messerr; exit(); } if (valsession('etat_log') <> 'connecte') { ?>
<?PHP echo _(">
<?PHP echo _(">
get_results($rech, ARRAY_A); close_database(); cre_select_tab('pays', 'pays', $rows, 'pays_code', 'pays_nom', '', $_SESSION['codepays'], '', _("-- Faites votre choix --"), 1, FALSE, '', '', FALSE); ?>
">
">
' . _("Mauvais codes de connexion") . '
'; } } else { echo '
' . _("Compte désactivé") . '
'; } } ?>
S.M.I. (Services Maintenance Interventions)
"/>