date_default_timezone_set('Africa/Algiers');
if(empty($chemin)){
$chemin="";
}
if(empty($_MOD)){
$_MOD="normal";
}
include($chemin."__inc/__config.php");
// Appel au script du calendrier
require_once("calendar.php");
session_start();
$MembresIdentifie=false;
$MembresInfo=array();
$MembreAbonnement=array();
if(
isset($_SESSION["Idenfifie"]) &&
isset($_SESSION["User"]) &&
isset($_SESSION["Pass"]) &&
(bool)($MembresInfo=mysql_fetch_array(
mysql_query(
sprintf(
"select * from membres where User_Actif=1 and User_Name='%s' and User_Passe='%s'",
mysql_escape_string($_SESSION["User"]),
mysql_escape_string($_SESSION["Pass"])
)
)
)
))
{
$MembresIdentifie=true;
if($MembresInfo["User_Abonnements"]!=""){
$MembreAbonnement=unserialize($MembresInfo["User_Abonnements"]);
}
}
else{
unset($_SESSION["Idenfifie"]);
unset($_SESSION["User"]);
unset($_SESSION["Pass"]);
}
// la on pr?pare la liste des cat?gories ? afficher sur toute les pages
$req="select * from categories where Categorie_Niveau=0 order by Categorie_Libele asc";
$req=mysql_query($req);
while($f=mysql_fetch_array($req)){
$categoriesFilles[]=$f;}
$op="accueil";
$op2="affichage";
if(isset($_GET["op"])){
$op=$_GET["op"];
}
// on f? le premier switch en fonction du op
switch($op){
case "livredor":
if($MembresIdentifie && isset($_POST["titre"]) && isset($_POST["Message"]) ){
// on f? l'insertion
$req=
sprintf(
"insert into livre_dor (Commentaire_Titre, Commentaire_Text, Commentaire_Time, Commentaire_ToIdMembre) values ('%s', '%s', %d, %d)",
mysql_escape_string($_POST["titre"]),
mysql_escape_string($_POST["Message"]),
time(),
$MembresInfo["IdMembre"]
);
$req=mysql_query($req);
}
elseif($MembresIdentifie && (bool)$MembresInfo["User_Administrateur"] && isset($_GET["delete"]) && intval($_GET["delete"])>0){
// on supprime :))
mysql_query(sprintf("delete from livre_dor where IdCommentaire=%d", intval($_GET["delete"])));
}
break;
case "recherche":
if(empty($_GET["keywords"])){
header("location:");
exit;
}
// sinon on effectue la recherche sur les mots clefs, alors on d?coupe, on enl?ve les mots clefs inutiles et on recherche, dans tout
// si c juste un seul mot clef, on regarde aussi dans les sigles et on l'affiche...
// on d?coupe les mots cl?fs...
$les_mots=preg_split("/[^a-zA-Z0-9????????????????????????????????]/", $_GET["keywords"]);
$likes=array();
$savez=array();
$chrono=array();
foreach($les_mots as $k=>$v){
if(strlen($v)<3){
unset($les_mots[$k]);
}
else{
$likes[]="(Fiche_TextBrut like '%".$v."%' or Fiche_Titre like '%".$v."%')";
$savez[]="(Savezvous_TextBrut like '%".$v."%')";
$chrono[]="(Chronologie_TextBrut like '%".$v."%')";
}
}
if(count($les_mots)==0){
$op2.="invalid";
}
else{
// l? on f? la recherche proprement dite 8)
// pour les fiches documentaires
$req="select * from `contenu_fiche-documentaire` where (".implode(' and ', $likes).") and Fiche_IdEtat>=2 order by Fiche_DateDerniereMAJ desc";
$req=mysql_query($req);
$results=array();
$results["fiches"]=array();
$results["savez"]=array();
$results["sigles"]=array();
$results["chronologies"]=array();
while($f=mysql_fetch_array($req)){
$results["fiches"][]=$f;
}
// dans le savez vous...
$req="select * from `contenu_savez-vous` inner join categories on IdCategorie=To_IdSecteur where (".implode(' and ', $savez).")";
$req=mysql_query($req);
while($f=mysql_fetch_array($req)){
$results["savez"][]=$f;
}
// les chronologies...
$req="select * from `contenu_chronologie` inner join categories on IdCategorie=Chronologie_IdSecteur where ".implode(' and ', $chrono)."";
$req=mysql_query($req);
while($f=mysql_fetch_array($req)){
$results["chronologies"][]=$f;
}
// les sigles...
if(count($les_mots)==1){
$req=sprintf("select * from `contenu_sigles` where Sigle_Titre='%s'", $les_mots[0]);
$req=mysql_query($req);
$results["sigles"]=array();
while($f=mysql_fetch_array($req)){
$results["chronologies"][]=$f;
}
}
// on compte les r?sultats:
$nb_res=(count($results["fiches"])+count($results["sigles"])+count($results["savez"])+count($results["chronologies"]));
if($nb_res==0){
$op2.="walo";
}
}
break;
case "abonnements":
if(!$MembresIdentifie){
header("location: ");
exit;
}
// on teste tout simplement sur la ligne pour d?cider quel affichage effectuer
if($MembresInfo["User_DateDernierAbonnementExpiration"]==0){
$op2.='_evaluation';
}
elseif(time()>$MembresInfo["User_DateDernierAbonnementExpiration"]){
$op2.='_expire';
}
else{
$op2.='_actif';
}
// on cherche dans la table abonnements_demandes s'il ya des demandes pour le membre en cours
$req=sprintf("select * from abonnements_demandes where To_IdMembre=%d", $MembresInfo["IdMembre"]);
$req=mysql_query($req);
echo mysql_error();
if($f_demande_abonnement=mysql_fetch_array($req)){
// la on cherche les lignes abonnements
$req=sprintf("select * from abonnements_demandes_lignes where To_IdDemandeAbonnement=%d", $f_demande_abonnement["IdDemandeAbonnement"]);
$req=mysql_query($req);
echo mysql_error();
$f_demande_abonnement_lignes=array();
while($f=mysql_fetch_array($req)){
$f_demande_abonnement_lignes[$f["To_IdCategorie"]]=$f;
}
}
if(count($_POST)>0){
// l? c qu'on envoie, on f? des controles
$stop=array();
if(empty($_POST["selected"])){
$stop[]="Veuillez choisir des secteurs";
}
if(!ereg("[0-9]+", trim($_POST["duree"]))){
$stop[]="Dur?e incorrecte";
}
if(count($stop)>0){
if(!$f_demande_abonnement){
$f_demande_abonnement=true;
}
}
else{
// on ins?re ou on modifie selon
if(!(bool)$f_demande_abonnement){
// la on ins?re
$req=sprintf("insert into abonnements_demandes (To_IdMembre, Demande_Duree, Demande_Date) values (%d, %d, %d)", $MembresInfo["IdMembre"], intval($_POST["duree"]), time());
mysql_query($req);
$last_id=mysql_insert_id();
foreach($_POST["selected"] as $v){
$req=sprintf("insert into abonnements_demandes_lignes (To_IdDemandeAbonnement, To_IdCategorie) values (%d, %d)", $last_id, $v);
mysql_query($req);
}
}
else{
// la on modifie
$req=sprintf("update abonnements_demandes set Demande_Duree=%d where IdDemandeAbonnement=%d)", $MembresInfo["IdMembre"], intval($_POST["duree"]), $f_demande_abonnement["IdDemandeAbonnement"]);
mysql_query($req);
// on supprime les lignes pour ins?rer de nouveau
mysql_query(sprintf("delete from abonnements_demandes_lignes where To_IdDemandeAbonnement=%d", $f_demande_abonnement["IdDemandeAbonnement"]));
// maintenant des insertions
foreach($_POST["selected"] as $v){
$req=sprintf("insert into abonnements_demandes_lignes (To_IdDemandeAbonnement, To_IdCategorie) values (%d, %d)", $f_demande_abonnement["IdDemandeAbonnement"], $v);
mysql_query($req);
}
}
$op2='affichage_ok';
}
}
else{
// la si il existe, bah, on f? un tableau fictif
if(!(bool)$f_demande_abonnement){
$_POST["duree"]=1;
}
else{
$_POST["duree"]=$f_demande_abonnement["Demande_Duree"];
// la on remplie
// la on cr?e les machins mmm)
}
}
break;
case "preferences":
if(!$MembresIdentifie){
header("location: ");
}
if(count($_POST)==0){
$_POST["email"]=$MembresInfo["User_Info_Email"];
$_POST["nom"]=$MembresInfo["User_Info_Nom"];
$_POST["prenom"]=$MembresInfo["User_Info_Prenom"];
$_POST["adresse"]=$MembresInfo["User_Info_Adresse"];
$_POST["tel"]=$MembresInfo["User_Info_Tel"];
$_POST["mob"]=$MembresInfo["User_Info_Mob"];
}
else{
if(isset($_POST["apassword"]) && isset($_POST["password"]) && isset($_POST["password2"]) && isset($_POST["email"]) && isset($_POST["nom"]) && isset($_POST["prenom"]) && isset($_POST["email"])){
$stop=array();
// on f? des controles
// l'ancien mot de passe
if(md5($_POST["apassword"])!=$MembresInfo["User_Passe"]){
$stop[]="Mot de passe actuel invalide";
}
if(trim($_POST["password"])!="" && strlen(trim($_POST["password"]))<=3){
if(strlen(trim($_POST["password"]))==0){
$stop[]="Veuillez entrer un mot de passe";
}
else{
$stop[]="Mot de passe trop court, minimum 4 caract?res";
}
}
if(trim($_POST["password"])!="" && trim($_POST["password"])!=trim($_POST["password2"])){
$stop[]="Les deux mot de passes ne sont pas identiques";
}
if(strlen(trim($_POST["email"]))==0){
$stop[]="L'adresse email incorrecte";
}
if(strlen(trim($_POST["nom"]))==0){
$stop[]="Nom incorrecte";
}
if(strlen(trim($_POST["prenom"]))==0){
$stop[]="Pr?nom incorrect";
}
$motdepasse=trim($_POST["password"])!=''?md5($_POST["password"]):$MembresInfo["User_Passe"];
if(count($stop)==0){
// l? on f? l'insertion
$req=sprintf(
"update membres set User_Passe='%s', User_Info_Email='%s', User_Info_Nom='%s', User_Info_Prenom='%s', User_Info_Adresse='%s', User_Info_Tel='%s', User_Info_Mob='%s' where IdMembre=%d",
mysql_escape_string($motdepasse),
mysql_escape_string($_POST["email"]),
mysql_escape_string($_POST["nom"]),
mysql_escape_string($_POST["prenom"]),
mysql_escape_string($_POST["adresse"]),
mysql_escape_string($_POST["tel"]),
mysql_escape_string($_POST["mob"]),
$MembresInfo["IdMembre"]
);
$r=mysql_query($req);
if($r){
$op2.='oki';
}
else{
$op2.='errour';
}
}
}
}
break;
case "inscription":
if($MembresIdentifie){
header("location: ");
}
if(count($_POST)>0){
if(isset($_POST["username"]) && isset($_POST["password"]) && isset($_POST["password2"]) && isset($_POST["email"]) && isset($_POST["nom"]) && isset($_POST["prenom"]) && isset($_POST["email"])){
// on f? des controles
// sur l'username, control de taille seulement
$stop=array();
if(strlen(trim($_POST["username"]))<3){
if(strlen(trim($_POST["username"]))==0){
$stop[]="Veuillez entrer un nom d'utilisateur";
}
else{
$stop[]="Nom d'utilisateur trop court, minimum 3 caract?res";
}
}
else{
// v?rification de son existence!!!
$req=sprintf("select count(*) from membres where User_Name='%s'", mysql_escape_string(trim($_POST["username"])));
if(current(mysql_fetch_array(mysql_query($req)))>0){
$stop[]="Nom d'utilisateur d?j? existant.";
}
}
// le mot de passe
if(strlen(trim($_POST["password"]))<=3){
if(strlen(trim($_POST["password"]))==0){
$stop[]="Mot de passe vide.";
}
else{
$stop[]="Mot de passe trop court, minimum 4 caract?res.";
}
}
if(trim($_POST["password"])!=trim($_POST["password2"])){
$stop[]="Les deux mot de passes ne sont pas identiques.";
}
if(strlen(trim($_POST["email"]))==0){
$stop[]="L'adresse email incorrecte.";
}
if(strlen(trim($_POST["nom"]))==0){
$stop[]="Nom incorrect.";
}
if(strlen(trim($_POST["prenom"]))==0){
$stop[]="Pr?nom incorrect.";
}
if(count($stop)==0){
// l? on f? l'insertion
$req=sprintf(
"insert into membres (User_Name, User_Passe, User_DateInscription, User_Info_Email, User_Info_Nom, User_Info_Prenom, User_Info_Adresse, User_Info_Tel, User_Info_Mob) values ('%s', '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s')",
mysql_escape_string($_POST["username"]),
mysql_escape_string(md5($_POST["password"])),
time(),
mysql_escape_string($_POST["email"]),
mysql_escape_string($_POST["nom"]),
mysql_escape_string($_POST["prenom"]),
mysql_escape_string($_POST["adresse"]),
mysql_escape_string($_POST["tel"]),
mysql_escape_string($_POST["mob"])
);
$r=mysql_query($req);
if($r){
$op2.='oki';
// l? on f? une identification automatique
$MembresInfo=mysql_fetch_array(
mysql_query(
sprintf(
"select * from membres where User_Actif=1 and User_Name='%s' and User_Passe='%s'",
mysql_escape_string($_POST["username"]),
md5(mysql_escape_string($_POST["password"]))
)
)
);
echo mysql_error();
if(!$MembresInfo){
}
else{
$_SESSION["Idenfifie"]=true;
$_SESSION["User"]=$MembresInfo["User_Name"];
$_SESSION["Pass"]=$MembresInfo["User_Passe"];
$MembresIdentifie=true;
if($MembresInfo["User_Abonnements"]!=""){
$MembreAbonnement=unserialize($MembresInfo["User_Abonnements"]);
}
}
}
else{
$op2.='errour';
}
}
}
}
else{
$_POST["username"]="";
$_POST["email"]="";
$_POST["nom"]="";
$_POST["prenom"]="";
$_POST["email"]="";
$_POST["adresse"]="";
$_POST["tel"]="";
$_POST["mob"]="";
}
break;
case "deconnection":
if(!$MembresIdentifie){
header("location: ");
exit;
}
else{
unset($_SESSION["Idenfifie"]);
unset($_SESSION["User"]);
unset($_SESSION["Pass"]);
header("location: ");
exit;
}
break;
case "identification":
if(count($_POST)>0){
if($MembresIdentifie){
if($_POST["referer"]!=""){
header("location: ".$_POST["referer"]);
}
else{
header("location: index.php");
}
exit;
}
else{
$MembresInfo=mysql_fetch_array(
mysql_query(
sprintf(
"select * from membres where User_Actif=1 and User_Name='%s' and User_Passe='%s'",
mysql_escape_string($_POST["User"]),
md5(mysql_escape_string($_POST["Pass"]))
)
)
);
echo mysql_error();
if(!$MembresInfo){
$op2.="_echec";
}
else{
$_SESSION["Idenfifie"]=false;
$_SESSION["User"]=$MembresInfo["User_Name"];
$_SESSION["Pass"]=$MembresInfo["User_Passe"];
if($_POST["referer"]!=""){
header("location: ".$_POST["referer"]);
}
else{
header("location: index.php");
}
exit;
}
}
}
else{
header("location: ");
exit;
}
break;
case "infos":
case "vip":
case "sigles":
// on test sur l'existance de la cat?gorie et qu'elle ? de niveau 1
$req=sprintf("select * from categories where IdCategorie=%d", $_GET["cat"]);
$req=mysql_query($req);
if(!$hea=mysql_fetch_array($req)){
$op2="introuvable";
}
else{
/* if($op!="categorie" && !$MembresIdentifie){
$op2="affichage_ident";
$op="inaccessible";
}
elseif($op!="categorie" && !(bool)$MembresInfo["User_Administrateur"] && empty($MembreAbonnement[$secteur["IdCategorie"]])){
$op2="affichage";
$op="inaccessible";
} */
}
break;
case "chronologie":
// on test sur l'existance de la cat?gorie et qu'elle ? de niveau 1
$req=sprintf("select * from categories where IdCategorie=%d", $_GET["cat"]);
$req=mysql_query($req);
if(!$hea=mysql_fetch_array($req)){
$op2="introuvable";
}
else{
$req=sprintf(
"select * from contenu_chronologie where Chronologie_IdSecteur=%d order by Chronologie_Date_Timestamp desc",
intval($_GET["cat"])
);
$req=mysql_query($req);
$chronologies_classes=array();
while($f=mysql_fetch_array($req)){
// on extrait l'ann?e, on la cherche dans la table
$date_chro=$f["Chronologie_Date_Timestamp"];
/*echo $f["Chronologie_Date"];
echo '
';
echo date("d-m-Y", $f["Chronologie_Date_Timestamp"]);
echo '
';
echo $f["Chronologie_TextBrut"];*/
// pour l'ann?e
if(!isset($chronologies_classes[gmdate("Y", $date_chro+3600)])){
$chronologies_classes[gmdate("Y", $date_chro+3600)]=array();
}
// pour l'ann?e:
if(!isset($chronologies_classes[gmdate("Y", $date_chro+3600)][gmdate("m", $date_chro+3600)])){
$chronologies_classes[gmdate("Y", $date_chro+3600)][gmdate("m", $date_chro+3600)]=array();
}
// on ins?re la journ?e!!
$chronologies_classes[gmdate("Y", $date_chro+3600)][gmdate("m", $date_chro+3600)][gmdate("d", $date_chro+3600)]=$f;
}
/* if($op!="categorie" && !$MembresIdentifie){
$op2="affichage_ident";
$op="inaccessible";
}
elseif($op!="categorie" && !(bool)$MembresInfo["User_Administrateur"] && empty($MembreAbonnement[$secteur["IdCategorie"]])){
$op2="affichage";
$op="inaccessible";
} */
/*echo '
'; print_r($chronologies_classes); echo '';*/ } break; case "savezvous": /* if($op!="categorie" && !$MembresIdentifie){ $op2="affichage_ident"; $op="inaccessible"; } */ /*elseif($op!="categorie" && !(bool)$MembresInfo["User_Administrateur"] && empty($MembreAbonnement[$secteur["IdCategorie"]])){ $op2="affichage"; $op="inaccessible"; }*/ break; case "fiche": // la on t?l?charge la ligne devis et on d?finie la cat?gorie $fiche=-1; if($_GET["fiche"]){ $fiche=$_GET["fiche"]; $req="select * from `contenu_fiche-documentaire` where IdFiche=%d"; $req=sprintf($req, $fiche); $req=mysql_query($req); if(mysql_num_rows($req)>0){ $f_cat=mysql_fetch_array($req); $_GET["cat"]=$f_cat["Fiche_IdCategorie"]; // on met a jour le nombre des consultations $req="update `contenu_fiche-documentaire` set NbVisites=NbVisites+1 where IdFiche=%d"; $req=sprintf($req, $fiche); $f_cat["NbVisites"]++; if(!mysql_query($req)){ echo 'Une erreur s?est produite'; exit; } } else{ $op2="Introuvable"; } } else{ } case "categorie": // on r?cup?re la ligne cat?gorie if(isset($_GET["cat"]) && is_numeric($_GET["cat"])){ $hea=rec_rec($_GET["cat"]); $cats=array(); if(count($hea)>0){ foreach($hea as $k=>$v){ $cats[$v["IdCategorie"]]=$v["IdCategorie"]; } // les autorisation, on regarde si le gus a le droit d'acc?der ? la fiche $secteur=end($hea); /* if($op!="categorie" && !$MembresIdentifie){ $op2="affichage_ident"; $op="inaccessible"; } elseif($op!="categorie" && !(bool)$MembresInfo["User_Administrateur"] && empty($MembreAbonnement[$secteur["IdCategorie"]])){ $op2="affichage"; $op="inaccessible"; } */ } else{ $op2="introuvable"; } } else{ $op2="introuvable"; } // la liste diff?re maintenant!! $condition_sql="(Fiche_IdEtat>1)"; if($_MOD=="archive"){ $condition_sql=" (Fiche_IdEtat>0 and Fiche_DateDerniereMAJ<".mktime(0, 0, 0, 0, 0, $_MOD_ARCHIVE+1)." and Fiche_DateDerniereMAJ>".mktime(0, 0, 0, 0, 0, $_MOD_ARCHIVE).")"; } // apr?s on r?cup?re les fiches documentaires appartenant ? la cat?gorie: $req=mysql_query(sprintf("select `contenu_fiche-documentaire`.* from `contenu_fiche-documentaire` inner join `categories` on `contenu_fiche-documentaire`.Fiche_IdCategorie = `categories`.IdCategorie where (Fiche_IdCategorie=%d || Categorie_CategorieMere=%d) and ".$condition_sql." order by Fiche_Titre ", $_GET["cat"], $_GET["cat"])); $tab_fiches=array(); while($tab_fiches[]=mysql_fetch_array($req)); unset($tab_fiches[count($tab_fiches)-1]); break; } include($chemin."__inc/__entete.html"); // la on ins?re la cat?gorie if($_MOD=="archive"){ echo '