1090 lines
29 KiB
PHP
Executable File
1090 lines
29 KiB
PHP
Executable File
<?php
|
||
|
||
|
||
//date_default_timezone_set("Africa/Kigali");
|
||
date_default_timezone_set("Africa/Abidjan");
|
||
|
||
function contruireParamLikeDebut($param)
|
||
{
|
||
$p=($param == null) ? "" : trim($param);
|
||
return $p."%";
|
||
}
|
||
|
||
function mois_fr($month)
|
||
{
|
||
if ($month=="January"){
|
||
return "Janvier";
|
||
}elseif($month=="February"){
|
||
return "Février";
|
||
}elseif($month=="March"){
|
||
return "Mars";
|
||
}elseif($month=="April"){
|
||
return "Avril";
|
||
}elseif($month=="May"){
|
||
return "Mai";
|
||
}elseif($month=="June"){
|
||
return "Juin";
|
||
}elseif($month=="July"){
|
||
return "Juillet";
|
||
}elseif($month=="August"){
|
||
return "Août";
|
||
}elseif($month=="September"){
|
||
return "Septembre";
|
||
}elseif($month=="October"){
|
||
return "Octobre";
|
||
}elseif($month=="November"){
|
||
return "Novembre";
|
||
}elseif($month=="December"){
|
||
return "Décembre";
|
||
}
|
||
}
|
||
|
||
function mois_court_fr($month)
|
||
{
|
||
if ($month=="January"){
|
||
return "jan";
|
||
}elseif($month=="February"){
|
||
return "fév";
|
||
}elseif($month=="March"){
|
||
return "mars";
|
||
}elseif($month=="April"){
|
||
return "avril";
|
||
}elseif($month=="May"){
|
||
return "mai";
|
||
}elseif($month=="June"){
|
||
return "juin";
|
||
}elseif($month=="July"){
|
||
return "juil";
|
||
}elseif($month=="August"){
|
||
return "août";
|
||
}elseif($month=="September"){
|
||
return "sept";
|
||
}elseif($month=="October"){
|
||
return "oct";
|
||
}elseif($month=="November"){
|
||
return "nov";
|
||
}elseif($month=="December"){
|
||
return "déc";
|
||
}
|
||
}
|
||
|
||
function jour_fr($day)
|
||
{
|
||
if ($day=="Mon"){
|
||
return "Lun";
|
||
}elseif($day=="Tue"){
|
||
return "Mar";
|
||
}elseif($day=="Wed"){
|
||
return "Mer";
|
||
}elseif($day=="Thu"){
|
||
return "Jeu";
|
||
}elseif($day=="Fri"){
|
||
return "Ven";
|
||
}elseif($day=="Sat"){
|
||
return "Sam";
|
||
}elseif($day=="Sun"){
|
||
return "Dim";
|
||
}
|
||
}
|
||
|
||
function taux_couverture($nombre)
|
||
{
|
||
if (is_numeric($nombre))
|
||
{
|
||
return (100-$nombre)."%";
|
||
} else
|
||
{
|
||
return "";
|
||
}
|
||
}
|
||
|
||
function tester_des_adresses_email($liste_email)
|
||
{
|
||
$addr = explode(';', $liste_email);
|
||
foreach ($addr as $ad)
|
||
{
|
||
if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#i", $ad)==false)
|
||
{
|
||
return false;
|
||
}
|
||
}
|
||
return true;
|
||
}
|
||
|
||
function tester_une_adresse_email($email)
|
||
{
|
||
return preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#i", $email);
|
||
}
|
||
|
||
function tester_des_adresse_email($email)
|
||
{
|
||
$addr = explode(';', $email);
|
||
foreach ($addr as $ad)
|
||
{
|
||
if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#i", $ad)==false)
|
||
{
|
||
echo "mauvaise adresse functions";
|
||
exit();
|
||
}
|
||
}
|
||
echo "bonne adresse functions";
|
||
}
|
||
|
||
function convetirEnLettre($number, $lang='fr_FR')
|
||
{
|
||
return convertirc(ucfirst(numfmt_create($lang, NumberFormatter::SPELLOUT)->format($number)));
|
||
}
|
||
|
||
function format_N($nombre)
|
||
{
|
||
if (is_numeric($nombre))
|
||
{
|
||
return number_format($nombre, 0, ',', ' ');
|
||
} else
|
||
{
|
||
return "0";
|
||
}
|
||
}
|
||
|
||
function heureFr($d)
|
||
{
|
||
if ($d<="0000-00-00") return "";
|
||
return date("d/m/Y", strtotime($d));
|
||
}
|
||
|
||
function dateFr($d)
|
||
{
|
||
if ($d<="0000-00-00") return "";
|
||
return date("d/m/Y", strtotime($d));
|
||
}
|
||
|
||
function dateEng($d)
|
||
{
|
||
if ($d<="0000-00-00") return "";
|
||
return date("m/j/Y", strtotime($d));
|
||
}
|
||
|
||
function dateLang($d, $lang=null)
|
||
{
|
||
if (isset($lang) && $lang=="en_US")
|
||
{
|
||
// return dateEng($d);
|
||
return dateFr($d);
|
||
}
|
||
else
|
||
{
|
||
return dateFr($d);
|
||
}
|
||
}
|
||
|
||
function dateheureFr($d)
|
||
{
|
||
if ($d<="0000-00-00") return "";
|
||
return date("d/m/Y", strtotime($d)).' '.substr($d,-8);
|
||
}
|
||
|
||
function dateheureEng($d)
|
||
{
|
||
if ($d<="0000-00-00") return "";
|
||
return date("m/d/Y", strtotime($d)).' '.substr($d,-8);
|
||
}
|
||
|
||
function dateheureLang($d, $lang=null)
|
||
{
|
||
if (isset($lang) && $lang=="en_US")
|
||
{
|
||
// return dateheureEng($d);
|
||
return dateheureFr($d);
|
||
}
|
||
else
|
||
{
|
||
return dateheureFr($d);
|
||
}
|
||
}
|
||
|
||
function heureCourante()
|
||
{
|
||
return date("d/m/Y H:i:s");
|
||
}
|
||
|
||
function heureCouranteLang($lang=null)
|
||
{
|
||
if (isset($lang) && $lang=="en_US")
|
||
{
|
||
// return heureCouranteEng();
|
||
return heureCouranteFr();
|
||
}
|
||
else
|
||
{
|
||
return heureCouranteFr();
|
||
}
|
||
}
|
||
|
||
function heureCouranteFr()
|
||
{
|
||
return date("d/m/Y H:i:s");
|
||
}
|
||
|
||
function heureCouranteEng()
|
||
{
|
||
return date("m/d/Y H:i:s");
|
||
}
|
||
|
||
function dateCouranteLang($lang=null)
|
||
{
|
||
if (isset($lang) && $lang=="en_US")
|
||
{
|
||
// return dateCouranteEng();
|
||
return dateCouranteFr();
|
||
}
|
||
else
|
||
{
|
||
return dateCouranteFr();
|
||
}
|
||
}
|
||
|
||
function dateToFrench($date, $format)
|
||
{
|
||
$english_days = array('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday');
|
||
$french_days = array('lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche');
|
||
$english_months = array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
|
||
$french_months = array('janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre');
|
||
return str_replace($english_months, $french_months, str_replace($english_days, $french_days, date($format, strtotime($date) ) ) );
|
||
}
|
||
function dateCouranteFr()
|
||
{
|
||
return date('d/m/Y');
|
||
}
|
||
|
||
function dateCouranteEng()
|
||
{
|
||
return date("m/d/Y");
|
||
}
|
||
|
||
function heureCouranteSql()
|
||
{
|
||
return date("Y-m-d H:i:s");
|
||
}
|
||
|
||
function dateJourSql()
|
||
{
|
||
return date("Y-m-d");
|
||
}
|
||
|
||
|
||
function existeParam($param)
|
||
{
|
||
return (($param!==null) && ($param != ""));
|
||
}
|
||
|
||
function contruireParam($param)
|
||
{
|
||
return ($param == null) ? "" : trim($param);
|
||
}
|
||
|
||
function contruireParamLike($param)
|
||
{
|
||
$p=($param == null) ? "" : trim($param);
|
||
return "%".$p."%";
|
||
}
|
||
|
||
function liste_options($liste,$val_def,$strict=false)
|
||
{
|
||
// <option value="orange" label="Orange" />
|
||
|
||
if (isset($_SESSION['lang']) && $_SESSION['lang']=="en_US")
|
||
{
|
||
$select = $strict ? '' : '<OPTION value="">-- Select --</OPTION>';
|
||
}
|
||
else
|
||
{
|
||
$select = $strict ? '' : '<OPTION value="">-- Sélectionner --</OPTION>';
|
||
}
|
||
|
||
foreach ($liste as $option):
|
||
$select .= ' <OPTION value="'.$option["code"].'"';
|
||
if($val_def == $option["code"])
|
||
{
|
||
$select .= ' selected';
|
||
}
|
||
$select .= '> '.$option["libelle"].' </option> ';
|
||
endforeach;
|
||
echo $select;
|
||
}
|
||
|
||
function liste_options_consultation($liste,$val_def,$strict=false)
|
||
{
|
||
// $select = $strict ? '' : '<OPTION value="">Tous</OPTION>';
|
||
if (isset($_SESSION['lang']) && $_SESSION['lang']=="en_US")
|
||
{
|
||
$select = $strict ? '' : '<OPTION value="">-- All --</OPTION>';
|
||
}
|
||
else
|
||
{
|
||
$select = $strict ? '' : '<OPTION value="">-- Tous --</OPTION>';
|
||
}
|
||
|
||
foreach ($liste as $option):
|
||
$select .= ' <OPTION value="'.$option["code"].'"';
|
||
if($val_def == $option["code"])
|
||
{
|
||
$select .= ' selected';
|
||
}
|
||
$select .= '> '.$option["libelle"].' </option> ';
|
||
endforeach;
|
||
echo $select;
|
||
}
|
||
|
||
function datePlus($date,$part, $nb)
|
||
{
|
||
|
||
switch ($part) {
|
||
case "A":
|
||
$duree = new DateInterval('P'.$nb.'Y');
|
||
break;
|
||
case "M":
|
||
$duree = new DateInterval('P'.$nb.'M');
|
||
break;
|
||
case "J":
|
||
$duree = new DateInterval('P'.$nb.'D');
|
||
break;
|
||
default:
|
||
$duree = new DateInterval('P1Y');
|
||
}
|
||
$d = DateTime::createFromFormat('j/m/Y',$date);
|
||
$d->add($duree);
|
||
$duree = new DateInterval('P1D');
|
||
$d->sub($duree);
|
||
return $d->format('d/m/Y');
|
||
}
|
||
|
||
function dateMoins($date,$part, $nb)
|
||
{
|
||
|
||
switch ($part) {
|
||
case "A":
|
||
$duree = new DateInterval('P'.$nb.'Y');
|
||
break;
|
||
case "M":
|
||
$duree = new DateInterval('P'.$nb.'M');
|
||
break;
|
||
case "J":
|
||
$duree = new DateInterval('P'.$nb.'D');
|
||
break;
|
||
default:
|
||
$duree = new DateInterval('P1Y');
|
||
}
|
||
$d = DateTime::createFromFormat('j/m/Y',$date);
|
||
$d->sub($duree);
|
||
$duree = new DateInterval('P1D');
|
||
$d->add($duree);
|
||
return $d->format('d/m/Y');
|
||
}
|
||
|
||
function convertirc($valeur)
|
||
{
|
||
$valeur = $valeur ?? '';
|
||
|
||
return iconv('UTF-8', 'ISO-8859-15//TRANSLIT', $valeur);
|
||
}
|
||
|
||
function echapperf($valeur)
|
||
{
|
||
return addslashes($valeur);
|
||
}
|
||
|
||
function nettoyerf($valeur)
|
||
{
|
||
return htmlspecialchars($valeur, ENT_QUOTES, 'UTF-8', true);
|
||
}
|
||
|
||
function dechapperf($valeur)
|
||
{
|
||
return stripslashes($valeur);
|
||
}
|
||
|
||
/*
|
||
$intervalle = new DateInterval('P1Y2W6MT2H35M54S');
|
||
P = date
|
||
T= heure
|
||
* Ici, on a définit un intervalle de 1 an 2 semaines 6 mois 2 heures 35 minutes et 54 secondes
|
||
* J'ai mis toutes les possibilités mais on peut très bien ne mettre que la partie horaire
|
||
* ou que la partie date ou juste le mois, juste l'année, juste le jour, etc etc
|
||
* Toutes les combinaisons sont possibles sauf l'association des semaines et des jours
|
||
* puisque semaines sera convertir en jours. Du moment que vous n'oubliez pas le P et/ou le T
|
||
* pour séparer la date de l'heure, tout ira bien
|
||
new DateInterval('P1Y') = intervalle de 1 an
|
||
|
||
$intervalle = new DateInterval('P15D'); // Intervalle de 15 jours
|
||
|
||
$date->sub($intervalle) => soustrait $intervalle de $date
|
||
$date->add($intervalle) => ajoute $intervalle à $date
|
||
*/
|
||
|
||
function liste_utilisateurs_profil($listeutilisateur)
|
||
{
|
||
$tableau = '<table id="listeutilisateur" class="table table-responsive table-condensed table-hover"> ';
|
||
$tableau .=' <thead> ';
|
||
$tableau .=' <tr> ';
|
||
$tableau .=' <th>Login</th> ';
|
||
$tableau .=' <th>Nom</th> ';
|
||
$tableau .=' <th align="center">choix</th> ';
|
||
$tableau .=' </tr> ';
|
||
$tableau .=' </thead> ';
|
||
$tableau .=' <tbody> ';
|
||
|
||
foreach ($listeutilisateur as $utilisateur):
|
||
$tableau .= '<tr>';
|
||
$tableau .= ' <td width="20%" >'.$utilisateur['codeUtilisateur'].'</td>';
|
||
$tableau .= ' <td>'.$utilisateur['nom'].'</td>';
|
||
$tableau .= ' <td><input type="checkbox" ';
|
||
if($utilisateur['choix']=='1')
|
||
{
|
||
$tableau .= ' checked ';
|
||
}
|
||
$tableau .= ' value="'.$utilisateur['choix'].'" onClick="javascript:if(this.value==1){this.value=0}else{this.value=1};attribuer_profil_utilisateur(this.value,'.$utilisateur['id'].');"></td>';
|
||
$tableau .= '</tr>';
|
||
endforeach;
|
||
|
||
$tableau .=' </tbody> ';
|
||
$tableau .=' </table> ';
|
||
|
||
echo $tableau;
|
||
}
|
||
|
||
function liste_utilisateurs_prestataire($listeutilisateur)
|
||
{
|
||
$tableau = '<table id="listeutilisateur" class="table table-responsive table-condensed table-hover"> ';
|
||
$tableau .=' <thead> ';
|
||
$tableau .=' <tr> ';
|
||
$tableau .=' <th>Login</th> ';
|
||
$tableau .=' <th>Nom</th> ';
|
||
$tableau .=' <th align="center">choix</th> ';
|
||
$tableau .=' </tr> ';
|
||
$tableau .=' </thead> ';
|
||
$tableau .=' <tbody> ';
|
||
|
||
foreach ($listeutilisateur as $utilisateur):
|
||
$tableau .= '<tr>';
|
||
$tableau .= ' <td width="20%" >'.$utilisateur['codeUtilisateur'].'</td>';
|
||
$tableau .= ' <td>'.$utilisateur['nom'].'</td>';
|
||
$tableau .= ' <td><input type="checkbox" ';
|
||
if($utilisateur['choix']=='1')
|
||
{
|
||
$tableau .= ' checked ';
|
||
}
|
||
$tableau .= ' value="'.$utilisateur['choix'].'" onClick="javascript:if(this.value==1){this.value=0}else{this.value=1};attribuer_prestataire_utilisateur(this.value,'.$utilisateur['id'].');"></td>';
|
||
$tableau .= '</tr>';
|
||
endforeach;
|
||
|
||
$tableau .=' </tbody> ';
|
||
$tableau .=' </table> ';
|
||
|
||
echo $tableau;
|
||
}
|
||
|
||
function liste_menus_profil($listemenu)
|
||
{
|
||
$tableau = '<table id="listemenu" class="table table-responsive table-condensed table-hover"> ';
|
||
$tableau .=' <thead> ';
|
||
$tableau .=' <tr> ';
|
||
$tableau .=' <th width="80%">Menu</th> ';
|
||
$tableau .=' <th style="text-align: center;">choix</th> ';
|
||
$tableau .=' </tr> ';
|
||
$tableau .=' </thead> ';
|
||
$tableau .=' <tbody> ';
|
||
|
||
foreach ($listemenu as $menu):
|
||
$tableau .= '<tr>';
|
||
$tableau .= ' <td width="10%">'.$menu['libeleMenu'].'</td> ';
|
||
$tableau .= ' <td style="text-align: center;"><input type="checkbox" ';
|
||
if($menu['choix']=='1')
|
||
{
|
||
$tableau .= ' checked ';
|
||
}
|
||
$tableau .= ' value="'.$menu['choix'].'"';
|
||
$tableau .= ' onClick="javascript:if(this.value==1){this.value=0}else{this.value=1};';
|
||
$tableau .= " ajouter_menu_profil(this.value,'".$menu['codeMenu']."',".$menu['id_menuprofil'].");";
|
||
$tableau .= ' "> </td> ';
|
||
$tableau .= ' </tr> ';
|
||
endforeach;
|
||
|
||
$tableau .=' </tbody> ';
|
||
$tableau .=' </table> ';
|
||
|
||
echo $tableau;
|
||
}
|
||
|
||
|
||
function liste_vues_profil($listemenu)
|
||
{
|
||
$tableau = '<table id="listemenu" class="table table-responsive table-condensed table-hover"> ';
|
||
$tableau .=' <thead> ';
|
||
$tableau .=' <tr> ';
|
||
$tableau .=' <th width="80%">Menu</th> ';
|
||
$tableau .=' <th style="text-align: center;">choix</th> ';
|
||
$tableau .=' </tr> ';
|
||
$tableau .=' </thead> ';
|
||
$tableau .=' <tbody> ';
|
||
|
||
foreach ($listemenu as $menu):
|
||
$tableau .= '<tr>';
|
||
$tableau .= ' <td width="10%">'.$menu['libeleMenu'].'</td> ';
|
||
$tableau .= ' <td style="text-align: center;"><input type="checkbox" ';
|
||
if($menu['choix']=='1')
|
||
{
|
||
$tableau .= ' checked ';
|
||
}
|
||
$tableau .= ' value="'.$menu['choix'].'"';
|
||
$tableau .= ' onClick="javascript:if(this.value==1){this.value=0}else{this.value=1};';
|
||
$tableau .= " ajouter_vue_profil(this.value,'".$menu['codeMenu']."',".$menu['id_menuvueprofil'].");";
|
||
$tableau .= ' "> </td> ';
|
||
$tableau .= ' </tr> ';
|
||
endforeach;
|
||
|
||
$tableau .=' </tbody> ';
|
||
$tableau .=' </table> ';
|
||
|
||
echo $tableau;
|
||
}
|
||
|
||
function envoyer_mail_pj($mailto, $subject, $msg, $filename, $old_file_name)
|
||
{
|
||
// clé aléatoire de limite
|
||
$boundary = md5(uniqid(microtime(), TRUE));
|
||
|
||
// Headers
|
||
$headers = 'From: SYSTEME DE GESTION MALADIE AFRIK ASSUR <info@afrikassur.com>'."\r\n";
|
||
$headers .= 'Mime-Version: 1.0'."\r\n";
|
||
$headers .= 'Content-Type: multipart/mixed;boundary='.$boundary."\r\n";
|
||
$headers .= "\r\n";
|
||
|
||
// Message
|
||
$message = "\r\n\r\n";
|
||
|
||
// Texte
|
||
$message .= '--'.$boundary."\r\n";
|
||
//$message .= 'Content-type:text/plain;charset=utf-8'."\r\n";
|
||
$message .= 'Content-type:text/plain;'."\r\n";
|
||
$message .= 'Content-transfer-encoding:8bit'."\r\n";
|
||
// $message .= 'Un message avec une pièce jointe.'."\r\n";
|
||
$message .= convertirc($msg)."\r\n";
|
||
|
||
// Pièce jointe
|
||
if (file_exists($filename))
|
||
{
|
||
$file_type = filetype($filename);
|
||
$file_size = filesize($filename);
|
||
|
||
$handle = fopen($filename, 'r') or die('Impossible à ouvrir '.$filename.'!');
|
||
$content = fread($handle, $file_size);
|
||
$content = chunk_split(base64_encode($content));
|
||
$f = fclose($handle);
|
||
|
||
$message .= '--'.$boundary."\r\n";
|
||
// $message .= 'Content-type:'.$file_type.';name='.$filename."\r\n";
|
||
$message .= 'Content-type:'.$file_type.';name='.$old_file_name."\r\n";
|
||
|
||
$message .= 'Content-transfer-encoding:base64'."\r\n";
|
||
$message .= $content."\r\n";
|
||
}
|
||
|
||
// Fin
|
||
$message .= '--'.$boundary."\r\n";
|
||
|
||
// Function mail()
|
||
mail($mailto, $subject, $message, $headers);
|
||
// fin envoi mail
|
||
}
|
||
|
||
function uploader_image($message)
|
||
{
|
||
echo "uploader_image";
|
||
$message = "uploader_image";
|
||
exit();
|
||
|
||
// Constantes
|
||
define('TARGET', 'Photos/'); // Repertoire cible
|
||
define('MAX_SIZE', 100000); // Taille max en octets du fichier
|
||
define('WIDTH_MAX', 800); // Largeur max de l'image en pixels
|
||
define('HEIGHT_MAX', 800); // Hauteur max de l'image en pixels
|
||
|
||
// Tableaux de donnees
|
||
//$tabExt = array('jpg','gif','png','jpeg'); // Extensions autorisees
|
||
$tabExt = array('jpg','png','jpeg'); // Extensions autorisees
|
||
$infosImg = array();
|
||
|
||
// Variables
|
||
$extension = '';
|
||
$message = '';
|
||
$nomImage = '';
|
||
|
||
if( !is_dir(TARGET) ) {
|
||
if( !mkdir(TARGET, 0755) ) {
|
||
exit('Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !');
|
||
}
|
||
}
|
||
|
||
if(!empty($_POST))
|
||
{
|
||
// On verifie si le champ est rempli
|
||
if( !empty($_FILES['fichier_image_a_uploader']['name']) )
|
||
{
|
||
// Recuperation de l'extension du fichier
|
||
$extension = pathinfo($_FILES['fichier_image_a_uploader']['name'], PATHINFO_EXTENSION);
|
||
|
||
// On verifie l'extension du fichier
|
||
if(in_array(strtolower($extension),$tabExt))
|
||
{
|
||
// On recupere les dimensions du fichier
|
||
$infosImg = getimagesize($_FILES['fichier_image_a_uploader']['tmp_name']);
|
||
|
||
// On verifie le type de l'image
|
||
if($infosImg[2] >= 1 && $infosImg[2] <= 14)
|
||
{
|
||
// On verifie les dimensions et taille de l'image
|
||
if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier_image_a_uploader']['tmp_name']) <= MAX_SIZE))
|
||
{
|
||
// Parcours du tableau d'erreurs
|
||
if(isset($_FILES['fichier_image_a_uploader']['error'])
|
||
&& UPLOAD_ERR_OK === $_FILES['fichier_image_a_uploader']['error'])
|
||
{
|
||
// On renomme le fichier
|
||
$nomImage = md5(uniqid()) .'.'. $extension;
|
||
|
||
// Si c'est OK, on teste l'upload
|
||
if(move_uploaded_file($_FILES['fichier_image_a_uploader']['tmp_name'], TARGET.$nomImage))
|
||
{
|
||
$message = 'Upload réussi !';
|
||
}
|
||
else
|
||
{
|
||
// Sinon on affiche une erreur systeme
|
||
$message = 'Problème lors de l\'upload !';
|
||
}
|
||
}
|
||
else
|
||
{
|
||
$message = 'Une erreur interne a empêché l\'uplaod de l\'image';
|
||
}
|
||
}
|
||
else
|
||
{
|
||
// Sinon erreur sur les dimensions et taille de l'image
|
||
$message = 'Erreur dans les dimensions de l\'image !';
|
||
}
|
||
}
|
||
else
|
||
{
|
||
// Sinon erreur sur le type de l'image
|
||
$message = 'Le fichier à uploader n\'est pas une image !';
|
||
}
|
||
}
|
||
else
|
||
{
|
||
// Sinon on affiche une erreur pour l'extension
|
||
$message = 'L\'extension du fichier est incorrecte !';
|
||
}
|
||
}
|
||
else
|
||
{
|
||
// Sinon on affiche une erreur pour le champ vide
|
||
$message = 'Veuillez remplir le formulaire svp !';
|
||
}
|
||
}
|
||
}
|
||
|
||
function viderContexte() {
|
||
$_SESSION['idAdherent_C'] = "";
|
||
$_SESSION['numeroAdherent_C'] = "";
|
||
$_SESSION['nomAdherent_C'] = "";
|
||
$_SESSION['email_C'] = "";
|
||
$_SESSION['telephonePortable_C'] = "";
|
||
|
||
$_SESSION['idBeneficiaire'] = "";
|
||
$_SESSION['numeroBeneficiaire_C'] = "";
|
||
$_SESSION['nomBeneficiaire_C'] = "";
|
||
$_SESSION['lienPhoto_C'] = "";
|
||
$_SESSION['garantieArchive_C'] = "0";
|
||
|
||
/* viderContexte prestations */
|
||
|
||
$_SESSION['dateEffetPolice_C'] = "";
|
||
$_SESSION['dateFinPolice_C'] = "";
|
||
$_SESSION['dateEcheancePolice_C'] = "";
|
||
$_SESSION['codeEtatPolice_C'] = "";
|
||
$_SESSION['idCollege_C'] = "";
|
||
$_SESSION['codeProduit_C'] = "";
|
||
$_SESSION['idAdherent_C'] = "";
|
||
$_SESSION['numeroAdherent_C'] = "";
|
||
$_SESSION['nomAdherent_C'] = "";
|
||
$_SESSION['prenomsAdherent_C'] = "";
|
||
$_SESSION['telephonePortableAdherent_C'] = "";
|
||
$_SESSION['codeLangueAdherent'] = "fr_FR";
|
||
$_SESSION['emailAdherent_C'] = "";
|
||
$_SESSION['produit_C'] = "";
|
||
$_SESSION['libelleCollege_C'] = "";
|
||
$_SESSION['adresseGeoAdherent_C'] = "";
|
||
$_SESSION['paysAdherent_C'] = "";
|
||
$_SESSION['adressePostaleAdherent_C'] = "";
|
||
$_SESSION['telephonFixeAdherent_C'] = "";
|
||
$_SESSION['nomBeneficiaire_C'] = "";
|
||
$_SESSION['prenomsBeneficiaire_C'] = "";
|
||
$_SESSION['codeLienParente_C'] = "";
|
||
$_SESSION['numeroPiece_C'] = "";
|
||
$_SESSION['sexe_C'] = "";
|
||
$_SESSION['codeGroupeSanguin_C'] = "";
|
||
$_SESSION['dateNaissance_C'] = "";
|
||
$_SESSION['telephonePortableBeneficiaire_C'] = "";
|
||
$_SESSION['dateEntreeBeneficiaire_C'] = "";
|
||
$_SESSION['dateSortieBeneficiaire_C'] = "";
|
||
$_SESSION['codeMotifSortie_C'] = "";
|
||
$_SESSION['codeEtatBeneficiaire_C'] = "";
|
||
$_SESSION['lienPhoto_C'] = "";
|
||
$_SESSION['dateEffetBeneficiaire_C'] = "";
|
||
$_SESSION['dateEffetCouvert'] = "0";
|
||
$_SESSION['enVigueur_C'] = "";
|
||
$_SESSION['naturepiece_C'] = "";
|
||
$_SESSION['lienparente_C'] = "";
|
||
$_SESSION['motifsortie_C'] = "";
|
||
$_SESSION['etatbeneficiaire_C'] = "";
|
||
$_SESSION['ageBeneficiaire_C'] = "";
|
||
$_SESSION['idBeneficiaire_C'] = "";
|
||
|
||
$_SESSION['user_id_C'] = "0";
|
||
$_SESSION['finger_id_C'] = "0";
|
||
|
||
$_SESSION['idSubstitut_C'] = "0";
|
||
$_SESSION['substitutnonassure_C'] = "";
|
||
$_SESSION['substitutenVigueur_C'] = "0";
|
||
|
||
$_SESSION['numeroBeneficiaire_C'] = "";
|
||
$_SESSION['college_couvert_C'] = "0";
|
||
$_SESSION['derogation_en_cours_C'] = "0";
|
||
$_SESSION['derogation_finger_en_cours_C'] = "0";
|
||
|
||
$_SESSION['tm_C'] = "0";
|
||
$_SESSION['numeroFeuilleMaladie_C'] = "0";
|
||
$_SESSION['numeroPrescription_C'] = "0";
|
||
|
||
$_SESSION['numeroExamen_C'] = "0";
|
||
$_SESSION['numeroPrescriptionKine_C'] = "0";
|
||
$_SESSION['idFacture_C'] = "0";
|
||
|
||
$_SESSION['beneficiaire_C'] = "";
|
||
$_SESSION['adherent_C'] = "";
|
||
$_SESSION['enVigueur_C'] = "";
|
||
|
||
$_SESSION['decede_C'] = "0";
|
||
$_SESSION['dateDeces_C'] = "";
|
||
$_SESSION['fraisFuneraireDemande_C'] = "0";
|
||
$_SESSION['fraisFunerairePaye_C'] = "0";
|
||
}
|
||
|
||
function nomsansaccent($chaine) {
|
||
$trans = array("Â" => "A", "Ã" => "A", "Ä" => "A", "Å" => "A", "Ç" => "C",
|
||
"È" => "E", "É" => "E", "Ê" => "E", "Ë" => "E", "Ì" => "I", "Í" => "I",
|
||
"Î" => "I", "Ï" => "I", "Ò" => "O", "Ó" => "O", "Ô" => "O", "Õ" => "O",
|
||
"Ö" => "O", "Ù" => "U", "Ú" => "U", "Û" => "U", "Ü" => "U", "Ý" => "Y",
|
||
"à" => "a", "á" => "a", "â" => "a", "ã" => "a", "ä" => "a", "å" => "a",
|
||
"ç" => "c", "è" => "e", "é" => "e", "ê" => "e", "ë" => "e", "ì" => "i",
|
||
"í" => "i", "î" => "i", "ï" => "i", "ð" => "o", "ò" => "o", "ó" => "o",
|
||
"ô" => "o", "õ" => "o", "ö" => "o", "ù" => "u", "ú" => "u", "û" => "u",
|
||
"ü" => "u", "ý" => "y", "ÿ" => "y", " " => "_");
|
||
|
||
$noaccent = strtr($chaine, $trans);
|
||
$noaccent = strtolower($noaccent);
|
||
|
||
return $noaccent;
|
||
}
|
||
|
||
function securite_bdd($string)
|
||
{
|
||
// On regarde si le type de string est un nombre entier (int)
|
||
if(ctype_digit($string))
|
||
{
|
||
$string = intval($string);
|
||
}
|
||
// Pour tous les autres types
|
||
else
|
||
{
|
||
$string = mysql_real_escape_string($string);
|
||
$string = addcslashes($string, '%_');
|
||
}
|
||
return $string;
|
||
}
|
||
|
||
function dateDifference($date_1 , $date_2)
|
||
{
|
||
$d1 = DateTime::createFromFormat('d/m/Y',$date_1);
|
||
$d2 = DateTime::createFromFormat('d/m/Y',$date_2);
|
||
$interval = $d1->diff($d2);
|
||
return $interval->format('%y');
|
||
}
|
||
|
||
function dateDifferenceMois($date_1 , $date_2)
|
||
{
|
||
$d1 = DateTime::createFromFormat('d/m/Y',$date_1);
|
||
$d2 = DateTime::createFromFormat('d/m/Y',$date_2);
|
||
$interval = $d1->diff($d2);
|
||
return $interval->format('%m');
|
||
}
|
||
|
||
function dateDifferenceJour($date_1 , $date_2)
|
||
{
|
||
$d1 = DateTime::createFromFormat('d/m/Y',$date_1);
|
||
$d2 = DateTime::createFromFormat('d/m/Y',$date_2);
|
||
$interval = $d1->diff($d2);
|
||
return $interval->format('%d');
|
||
}
|
||
|
||
function age($date_1 , $date_2)
|
||
{
|
||
//$d1 = DateTime::createFromFormat('d/m/Y',$date_1);
|
||
//$d2 = DateTime::createFromFormat('d/m/Y',$date_2);
|
||
|
||
$d1 = new DateTime($date_1);
|
||
$d2 = new DateTime($date_2);
|
||
|
||
$interval = $d1->diff($d2);
|
||
return $interval->format('%y');
|
||
}
|
||
|
||
function checkbox( $pdf, $checked = TRUE, $checkbox_size = 5 , $ori_font_family = 'Arial', $ori_font_size = '10', $ori_font_style = '' )
|
||
{
|
||
if($checked == TRUE)
|
||
$check = "4";
|
||
else
|
||
$check = "";
|
||
|
||
$pdf->SetFont('ZapfDingbats','', $ori_font_size);
|
||
$pdf->Cell($checkbox_size, $checkbox_size, $check, 1, 0);
|
||
$pdf->SetFont( $ori_font_family, $ori_font_style, $ori_font_size);
|
||
}
|
||
|
||
// public static function asLetters($number) {
|
||
function asLetters($number)
|
||
{
|
||
$convert = explode('.', $number);
|
||
$num[17] = array('zéro', 'un', 'deux', 'trois', 'quatre', 'cinq', 'six', 'sept', 'huit',
|
||
'neuf', 'dix', 'onze', 'douze', 'treize', 'quatorze', 'quinze', 'seize');
|
||
|
||
$num[100] = array(20 => 'vingt', 30 => 'trente', 40 => 'quarante', 50 => 'cinquante',
|
||
60 => 'soixante', 70 => 'soixante-dix', 80 => 'quatre-vingt', 90 => 'quatre-vingt-dix');
|
||
|
||
if (isset($convert[1]) && $convert[1] != '') {
|
||
return asLetters($convert[0]).' et '.asLetters($convert[1]);
|
||
}
|
||
if ($number < 0) return 'moins '.asLetters(-$number);
|
||
if ($number < 17) {
|
||
return $num[17][$number];
|
||
}
|
||
elseif ($number < 20) {
|
||
return 'dix-'.asLetters($number-10);
|
||
}
|
||
elseif ($number < 100) {
|
||
if ($number%10 == 0) {
|
||
return $num[100][$number];
|
||
}
|
||
elseif (substr($number, -1) == 1) {
|
||
if( ((int)($number/10)*10)<70 ){
|
||
return asLetters((int)($number/10)*10).'-et-un';
|
||
}
|
||
elseif ($number == 71) {
|
||
return 'soixante-et-onze';
|
||
}
|
||
elseif ($number == 81) {
|
||
return 'quatre-vingt-un';
|
||
}
|
||
elseif ($number == 91) {
|
||
return 'quatre-vingt-onze';
|
||
}
|
||
}
|
||
elseif ($number < 70) {
|
||
return asLetters($number-$number%10).'-'.asLetters($number%10);
|
||
}
|
||
elseif ($number < 80) {
|
||
return asLetters(60).'-'.asLetters($number%20);
|
||
}
|
||
else {
|
||
return asLetters(80).'-'.asLetters($number%20);
|
||
}
|
||
}
|
||
elseif ($number == 100) {
|
||
return 'cent';
|
||
}
|
||
elseif ($number < 200) {
|
||
return asLetters(100).' '.asLetters($number%100);
|
||
}
|
||
elseif ($number < 1000) {
|
||
return asLetters((int)($number/100)).' '.asLetters(100).($number%100 > 0 ? ' '.asLetters($number%100): '');
|
||
}
|
||
elseif ($number == 1000){
|
||
return 'mille';
|
||
}
|
||
elseif ($number < 2000) {
|
||
return asLetters(1000).' '.asLetters($number%1000).' ';
|
||
}
|
||
elseif ($number < 1000000) {
|
||
return asLetters((int)($number/1000)).' '.asLetters(1000).($number%1000 > 0 ? ' '.asLetters($number%1000): '');
|
||
}
|
||
elseif ($number == 1000000) {
|
||
// return 'millions';
|
||
return 'un million';
|
||
}
|
||
elseif ($number < 2000000) {
|
||
return asLetters(1000000).' '.asLetters($number%1000000);
|
||
}
|
||
elseif ($number < 1000000000) {
|
||
// return asLetters((int)($number/1000000)).' '.asLetters(1000000).($number%1000000 > 0 ? ' '.asLetters($number%1000000): '');
|
||
return asLetters((int)($number/1000000)).' millions '.($number%1000000 > 0 ? ' '.asLetters($number%1000000): '');
|
||
}
|
||
}
|
||
/*
|
||
function liste_options_center($liste,$val_def,$strict=false)
|
||
{
|
||
$select = $strict ? '' : '<OPTION align="center" value=""> </OPTION>';
|
||
foreach ($liste as $option):
|
||
$select .= ' <OPTION value="'.$option["code"].'"';
|
||
if($val_def == $option["code"])
|
||
{
|
||
$select .= ' selected';
|
||
}
|
||
$select .= '> '.$option["libelle"].' </option> ';
|
||
endforeach;
|
||
echo $select;
|
||
}
|
||
*/
|
||
|
||
function div_oui_non($ouiNon, $lang=null)
|
||
{
|
||
if($ouiNon == "1")
|
||
{
|
||
if (isset($lang) && $lang=="en_US")
|
||
{
|
||
$div = 'Yes';
|
||
}
|
||
else
|
||
{
|
||
$div = 'Oui';
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
if (isset($lang) && $lang=="en_US")
|
||
{
|
||
$div = 'No';
|
||
}
|
||
else
|
||
{
|
||
$div = 'Non';
|
||
}
|
||
|
||
}
|
||
echo $div;
|
||
}
|
||
|
||
function est_anglophone()
|
||
{
|
||
return (isset($_SESSION['lang']) && $_SESSION['lang']=="en_US");
|
||
}
|
||
|
||
function session_expiree($dureeSession)
|
||
{
|
||
if(!isset($_SESSION['licensed']))
|
||
{
|
||
$_SESSION['licensed'] = true;
|
||
}
|
||
|
||
if
|
||
(
|
||
isset($_SESSION['codeSociete'])
|
||
&&
|
||
($_SESSION['licensed']!=true)
|
||
)
|
||
{
|
||
session_destroy();
|
||
return true;
|
||
}
|
||
|
||
if($dureeSession=="0")
|
||
{
|
||
return false;
|
||
}
|
||
elseif( isset($_SESSION['derniere_action']) and ($dureeSession*60)<(time() - $_SESSION['derniere_action']))
|
||
{
|
||
return true;
|
||
}
|
||
else
|
||
{
|
||
return false;
|
||
}
|
||
}
|
||
|
||
function trimIfString($value) {
|
||
return is_string($value) ? trim($value) : $value;
|
||
}
|
||
|
||
function convertirEnEuro($montantCfa, $tauxConversion) {
|
||
return $montantCfa * $tauxConversion;
|
||
}
|
||
|
||
function safeGet($array, $key, $default = null) {
|
||
if (is_array($array) && array_key_exists($key, $array)) {
|
||
return $array[$key];
|
||
}
|
||
// echo safeGet($row, 'id', 'N/A');
|
||
return $default;
|
||
}
|
||
|
||
function ebene_check_box_disabled($choix)
|
||
{
|
||
if($choix=='1')
|
||
{
|
||
$check_box = '<input type="checkbox" checked disabled>';
|
||
}
|
||
else
|
||
{
|
||
$check_box = '<input type="checkbox" disabled>';
|
||
}
|
||
echo $check_box;
|
||
}
|
||
|
||
function ebene_check_box_enabled($choix)
|
||
{
|
||
if($choix=='1')
|
||
{
|
||
$check_box = '<input type="checkbox" checked value='.$choix.' onClick="javascript:if(this.value==1){this.value=0}else{this.value=1};">';
|
||
}
|
||
else
|
||
{
|
||
$check_box = '<input type="checkbox" value='.$choix.' onClick="javascript:if(this.value==1){this.value=0}else{this.value=1};">';
|
||
}
|
||
echo $check_box;
|
||
}
|
||
|
||
// Chiffrer l’image au moment de l’upload (PHP)
|
||
function encryptImage($sourcePath, $destPath)
|
||
{
|
||
$key = base64_decode(trim(file_get_contents('/var/www/keys/inter-sante-photo.key')));
|
||
$plaintext = file_get_contents($sourcePath);
|
||
|
||
$iv = openssl_random_pseudo_bytes(16);
|
||
$cipher = openssl_encrypt($plaintext, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
|
||
|
||
file_put_contents($destPath, $iv . $cipher); // concat IV + données
|
||
}
|
||
|
||
// Déchiffrer pour afficher la photo dans INTER-SANTE
|
||
function decryptImage($path)
|
||
{
|
||
$key = base64_decode(trim(file_get_contents('/var/www/keys/inter-sante-photo.key')));
|
||
$data = file_get_contents($path);
|
||
|
||
$iv = substr($data, 0, 16);
|
||
$ciphertext = substr($data, 16);
|
||
|
||
// return openssl_decrypt($ciphertext, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
|
||
return base64_encode(openssl_decrypt($ciphertext, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv));
|
||
} |