File: ajax-connexion.php

Recommend this page to a friend!
  Classes of zinsou A.A.E.Mo´se  >  tinyUGatMs  >  ajax-connexion.php  >  Download  
File: ajax-connexion.php
Role: Auxiliary script
Content type: text/plain
Description: php script for ajax connexion
Class: tinyUGatMs
Manage users and groups of events in a database
Author: By
Last change:
Date: 2 years ago
Size: 4,572 bytes
 

Contents

Class file image Download
<?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;
   
?>


For more information send a message to info at phpclasses dot org.