<?php
session_start();
require_once('config.php');
require_once('usefullfunctions.php');
$message='';
$recurrence=false;
// echo $_POST['pseudo'];
// echo md5($_POST ['password']);
if (empty($_POST['pseudo'])||empty($_POST['password']))
//Oublie d'un champ
{
$message='<p>An error occured during your authentification.You must fill in all the fields</p>';
}
else
//On check le mot de passe
{
$query=$bdd->prepare('SELECT user_id,password,username,groupid,statutvalidation,role
FROM users
WHERE username =:pseudo');
$query->bindValue(':pseudo',$_POST['pseudo'],PDO::PARAM_STR);
$query->execute();
$data=$query->fetch();
// var_dump($data);
if( $data ['password'] == md5($_POST['password']))
// Acces OK !
{
if( $data ['statutvalidation'] ==1){
$_SESSION [ 'pseudo' ] = $data [ 'username' ];
$_SESSION [ 'idgroup' ] = $data [ 'groupid' ];
$_SESSION [ 'id' ] = $data [ 'user_id' ];
$_SESSION [ 'role' ] = $data [ 'role' ];
// $message='ok' ;
$query->CloseCursor();
if($_SESSION['idgroup']){
// $query=$bdd->prepare('SELECT * FROM groups WHERE idgroup =:groupid');
$query=$bdd->prepare('SELECT idgroup,name,startaccesstime,endaccesstime,datecreation,datecreationtimestamp,recurrence,days FROM groups WHERE idgroup =:groupid');
$query->bindValue(':groupid',$_SESSION['idgroup'],PDO::PARAM_STR);
$query->execute();
$data=$query->fetch();
// var_dump($data);
if($data['recurrence']=='once'){
if($data['datecreation']==date('Y-m-d')){
$recurrence=true;
}else{
$message="You could connect only the ".$data['datecreation']." and it's too late now.Please contact the administrator";
}
}elseif($data['recurrence']=='custom'){
$days=explode(',',$data['days']);
foreach($days as $k=>$v){
$days[$k]=strtolower($days[$k]);
}
// var_dump($days);
// var_dump(in_array(strtolower(jddayofweek ( cal_to_jd(CAL_GREGORIAN, date("m"),date("d"), date("Y")) , 1 )),$days));
if(in_array(strtolower(jddayofweek ( cal_to_jd(CAL_GREGORIAN, date("m"),date("d"), date("Y")) , 1 )),$days)){
$recurrence=true;
}else{
$num=count($days);
$daystr="";
foreach($days as $key=>$value){
if($key==0){
$daystr.=" ".$value;
}
elseif($key==$num-1){
$daystr.="&".$value;
}else{
$daystr.=",".$value;
}
}
$message="You could connect only the ".$daystr." .Please retry these days";
}
}else{
// var_dump(reccurence_reached($data['datecreationtimestamp'],$data['recurrence']));var_dump($data['datecreationtimestamp']);
// var_dump($data['recurrence']);
if(reccurence_reached((int)$data['datecreationtimestamp'],$data['recurrence'])){
$recurrence=true;
}else{
$recur=array('dayly'=>86400,'weekly'=>604800,'monthly'=>2592000,'quartely'=>7776000,'yearly'=>31536000);
$time=time();
$r=(int)$data['datecreationtimestamp'];
while($r<$time){
$r+=$recur[$data['recurrence']];
}
$timeleft=$r-$time;
$d=(int)($timeleft/86400);
$h=(int)(($timeleft%86400)/3600);
$min=(int)((($timeleft%86400)%3600)/60);
$sec=((($timeleft%86400)%3600)%60);
$TIMELEFT=$d." days ".$h." hours ".$min." minutes and ".$sec." seconds";
$message="You could connect only in ".$TIMELEFT.", the ".date(("l jS F Y \a\\t\ G:i:s "),$r).". Please retry this day at this time.";
}
}
if($recurrence){
if(inrangetime(explode(':',date('H:I:s')),explode(':',$data["startaccesstime"]),explode(':',$data["endaccesstime"]))){
$_SESSION [ 'groupstatut' ]=true;
$_SESSION["startaccesstime"] =$data["startaccesstime"];
$_SESSION["endaccesstime"] =$data["endaccesstime"];
$_SESSION [ 'groupname' ]=$data["name"];
$message='ok';
}else{
$message='<p>You can\'t actually login please try again between:<br />'.$data["startaccesstime"].' and '.$data["endaccesstime"].'</p>';
}
}else{
$message='<p>You can\'t actually login please try again later</p>'.$message;
}
}
}else{
echo"You have not yet validate your account.Please check your email box and click the validation link to confirm your email address ";
}
}
else
// Acces pas OK !
{
$message='<p>An error occured during your authentification The pseudo or the password you entered is not correct</p>';
}
$query->CloseCursor();
}
echo $message;
?>
|