Premier commit
This commit is contained in:
202
include/fct.inc.php
Normal file
202
include/fct.inc.php
Normal file
@@ -0,0 +1,202 @@
|
||||
<?php
|
||||
/**
|
||||
* Fonctions pour l'application GSB
|
||||
|
||||
* @package default
|
||||
* @author PB et GM
|
||||
* @version 3.0 version MVC modifiee le 03/05/2023 à 11H01 par Blain Pascal
|
||||
*/
|
||||
/**
|
||||
* Teste si un quelconque visiteur est connecté
|
||||
* @return vrai ou faux
|
||||
*/
|
||||
function estConnecte(){
|
||||
return isset($_SESSION['idUtilisateur']);
|
||||
}
|
||||
/**
|
||||
* Enregistre dans une variable session les infos d'un visiteur
|
||||
* @param $idUtilisateur
|
||||
* @param $idVisiteur
|
||||
* @param $nom
|
||||
* @param $prenom
|
||||
* @param $typeUtilisateur
|
||||
*/
|
||||
function connecter($id,$nom,$prenom,$statut){
|
||||
$_SESSION['idUtilisateur']= $id;
|
||||
$_SESSION['idVisiteur']= $id;
|
||||
$_SESSION['nom']= $nom;
|
||||
$_SESSION['prenom']= $prenom;
|
||||
$_SESSION['statut']= $statut;
|
||||
if ($statut=='1') $_SESSION['typeUtilisateur'] = 'Visiteur';
|
||||
if ($statut=='2') $_SESSION['typeUtilisateur'] = 'Administrateur';
|
||||
if ($statut=='0') $_SESSION['typeUtilisateur'] = 'Comptable';
|
||||
|
||||
}
|
||||
/**
|
||||
* Detruit la session active
|
||||
*/
|
||||
function deconnecter(){
|
||||
session_destroy();
|
||||
}
|
||||
/**
|
||||
* Transforme une date au format français jj/mm/aaaa vers le format anglais aaaa-mm-jj
|
||||
* @param $madate au format jj/mm/aaaa
|
||||
* @return la date au format anglais aaaa-mm-jj
|
||||
*/
|
||||
function dateFrancaisVersAnglais($maDate){
|
||||
@list($jour,$mois,$annee) = explode('/',$maDate);
|
||||
return date('Y-m-d',mktime(0,0,0,$mois,$jour,$annee));
|
||||
}
|
||||
/**
|
||||
* Transforme une date au format format anglais aaaa-mm-jj vers le format français jj/mm/aaaa
|
||||
* @param $madate au format aaaa-mm-jj
|
||||
* @return la date au format format français jj/mm/aaaa
|
||||
*/
|
||||
function dateAnglaisVersFrancais($maDate)
|
||||
{
|
||||
@list($annee,$mois,$jour)=explode('-',$maDate);
|
||||
$date="$jour"."/".$mois."/".$annee;
|
||||
return $date;
|
||||
}
|
||||
/**
|
||||
* retourne le mois au format aaaamm selon le jour dans le mois
|
||||
* @param $date au format jj/mm/aaaa
|
||||
* @return le mois au format aaaamm
|
||||
*/
|
||||
function getMois($date)
|
||||
{
|
||||
@list($jour,$mois,$annee) = explode('/',$date);
|
||||
if(strlen($mois) == 1){
|
||||
$mois = "0".$mois;
|
||||
}
|
||||
return $annee.$mois;
|
||||
}
|
||||
|
||||
/* gestion des erreurs*/
|
||||
/**
|
||||
* Indique si une valeur est un entier positif ou nul
|
||||
* @param $valeur
|
||||
* @return vrai ou faux
|
||||
*/
|
||||
function estEntierPositif($valeur)
|
||||
{
|
||||
return preg_match("/[^0-9]/", $valeur) == 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Indique si un tableau de valeurs est constitué d'entiers positifs ou nuls
|
||||
* @param $tabEntiers : le tableau
|
||||
* @return vrai ou faux
|
||||
*/
|
||||
function estTableauEntiers($tabEntiers)
|
||||
{
|
||||
$ok = true;
|
||||
foreach($tabEntiers as $unEntier)
|
||||
{
|
||||
if(!estEntierPositif($unEntier)){$ok=false;}
|
||||
}
|
||||
return $ok;
|
||||
}
|
||||
/**
|
||||
* Vérifie si une date est inférieure d'un an à la date actuelle
|
||||
* @param $dateTestee
|
||||
* @return vrai ou faux
|
||||
*/
|
||||
function estDateDepassee($dateTestee)
|
||||
{
|
||||
$dateActuelle=date("d/m/Y");
|
||||
@list($jour,$mois,$annee) = explode('/',$dateActuelle);
|
||||
$annee--;
|
||||
$AnPasse = $annee.$mois.$jour;
|
||||
@list($jourTeste,$moisTeste,$anneeTeste) = explode('/',$dateTestee);
|
||||
return ($anneeTeste.$moisTeste.$jourTeste < $AnPasse);
|
||||
}
|
||||
/**
|
||||
* Vérifie la validité du format d'une date française jj/mm/aaaa
|
||||
* @param $date
|
||||
* @return vrai ou faux
|
||||
*/
|
||||
function estDateValide($date){
|
||||
$tabDate = explode('/',$date);
|
||||
$dateOK = true;
|
||||
if (count($tabDate) != 3) {
|
||||
$dateOK = false;
|
||||
}
|
||||
else {
|
||||
if (!estTableauEntiers($tabDate)) {
|
||||
$dateOK = false;
|
||||
}
|
||||
else {
|
||||
if (!checkdate($tabDate[1], $tabDate[0], $tabDate[2])) {
|
||||
$dateOK = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $dateOK;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifie que le tableau de frais ne contient que des valeurs numeriques
|
||||
* @param $lesFrais
|
||||
* @return vrai ou faux
|
||||
*/
|
||||
function lesQteFraisValides($lesFrais){
|
||||
return estTableauEntiers($lesFrais);
|
||||
}
|
||||
/**
|
||||
* Vérifie la validité des trois arguments : la date, le libellé du frais et le montant
|
||||
* des message d'erreurs sont ajoutés au tableau des erreurs
|
||||
* @param $dateFrais
|
||||
* @param $libelle
|
||||
* @param $montant
|
||||
*/
|
||||
function valideInfosFrais($dateFrais,$libelle,$montant){
|
||||
if($dateFrais==""){
|
||||
ajouterErreur("Le champ date ne doit pas etre vide");
|
||||
}
|
||||
else{
|
||||
if(!estDatevalide($dateFrais)){
|
||||
ajouterErreur("Date invalide");
|
||||
}
|
||||
else{
|
||||
if(estDateDepassee($dateFrais)){
|
||||
ajouterErreur("date d'enregistrement du frais dépassé, plus de 1 an");
|
||||
}
|
||||
}
|
||||
}
|
||||
if($libelle == ""){
|
||||
ajouterErreur("Le champ description ne peut pas etre vide");
|
||||
}
|
||||
if($montant == ""){
|
||||
ajouterErreur("Le champ montant ne peut pas etre vide");
|
||||
}
|
||||
else
|
||||
if( !is_numeric($montant) ){
|
||||
ajouterErreur("Le champ montant doit être numérique");
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Ajoute le libelle d'une erreur au tableau des erreurs
|
||||
|
||||
* @param $msg : le libellé de l'erreur
|
||||
*/
|
||||
function ajouterErreur($msg){
|
||||
if (! isset($_REQUEST['erreurs'])){
|
||||
$_REQUEST['erreurs']=array();
|
||||
}
|
||||
$_REQUEST['erreurs'][]=$msg;
|
||||
}
|
||||
/**
|
||||
* Retoune le nombre de lignes du tableau des erreurs
|
||||
|
||||
* @return le nombre d'erreurs
|
||||
*/
|
||||
function nbErreurs(){
|
||||
if (!isset($_REQUEST['erreurs'])){
|
||||
return 0;
|
||||
}
|
||||
else{
|
||||
return count($_REQUEST['erreurs']);
|
||||
}
|
||||
}
|
||||
?>
|
Reference in New Issue
Block a user