Merge branch 'master' of github.com:xdrm-brackets/projetphp
This commit is contained in:
commit
192eccad62
|
@ -106,6 +106,7 @@ $answerType = (isset($_GET['type'])) ? $_GET['type'] : null;
|
||||||
|
|
||||||
<span>Choix du médecin traitant (optionnel)</span><br>
|
<span>Choix du médecin traitant (optionnel)</span><br>
|
||||||
<select id='crMedecin' name='id_medecin'><?php
|
<select id='crMedecin' name='id_medecin'><?php
|
||||||
|
echo "<option value='.'>Médecins traitants</option>";
|
||||||
foreach(MedecinRepo::getAll() as $MEDECIN)
|
foreach(MedecinRepo::getAll() as $MEDECIN)
|
||||||
echo "<option value='".$MEDECIN['Id']."'>".$MEDECIN['Nom']." ".$MEDECIN['Prenom']."</option>";
|
echo "<option value='".$MEDECIN['Id']."'>".$MEDECIN['Nom']." ".$MEDECIN['Prenom']."</option>";
|
||||||
?></select>
|
?></select>
|
||||||
|
|
|
@ -44,8 +44,10 @@ APIClass.prototype = {
|
||||||
else // IE5, IE6
|
else // IE5, IE6
|
||||||
this.xhr[i] = new ActiveXObject('Microsoft.XMLHttpRequest');
|
this.xhr[i] = new ActiveXObject('Microsoft.XMLHttpRequest');
|
||||||
|
|
||||||
|
|
||||||
console.log(pRequest);
|
console.log(pRequest);
|
||||||
|
|
||||||
|
|
||||||
var ptrAPI = this;
|
var ptrAPI = this;
|
||||||
this.xhr[i].onreadystatechange = function(){
|
this.xhr[i].onreadystatechange = function(){
|
||||||
if( ptrAPI.xhr[i].readyState == 4 ){ // si la requête est terminée
|
if( ptrAPI.xhr[i].readyState == 4 ){ // si la requête est terminée
|
||||||
|
@ -74,6 +76,8 @@ APIClass.prototype = {
|
||||||
form.append(obj, pRequest[obj]);
|
form.append(obj, pRequest[obj]);
|
||||||
|
|
||||||
this.xhr[i].open('POST', '/managers/', true);
|
this.xhr[i].open('POST', '/managers/', true);
|
||||||
|
// on définit le HEADER
|
||||||
|
this.xhr[i].setRequestHeader('X-Requested-With', 'XMLHttpRequest');
|
||||||
this.xhr[i].send( form );
|
this.xhr[i].send( form );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -168,13 +168,13 @@ sbCreer.addEventListener('click', function(e){
|
||||||
nom: inNom.value,
|
nom: inNom.value,
|
||||||
civilite: (inCivil[0].checked) ? inCivil[0].value : inCivil[1].value,
|
civilite: (inCivil[0].checked) ? inCivil[0].value : inCivil[1].value,
|
||||||
adresse: inAdr.value,
|
adresse: inAdr.value,
|
||||||
adresse2: inAdr2.value,
|
adresse2: (inAdr2.value.length>0) ? inAdr2.value : null,
|
||||||
code_postal: inCP.value,
|
code_postal: inCP.value,
|
||||||
ville: inVille.value,
|
ville: inVille.value,
|
||||||
date_naissance: inDN.value,
|
date_naissance: inDN.value,
|
||||||
lieu_naissance: inLN.value,
|
lieu_naissance: inLN.value,
|
||||||
num_secu: inSecu.value,
|
num_secu: inSecu.value,
|
||||||
medecin_traitant: inMedecin.value
|
medecin_traitant: (inMedecin.value!='.') ? inMedecin.value : null
|
||||||
};
|
};
|
||||||
|
|
||||||
API.send('Patient:add', request, function(e){
|
API.send('Patient:add', request, function(e){
|
||||||
|
|
|
@ -39,6 +39,12 @@ if(isset($_POST['command'])){
|
||||||
$objectResponse->send();
|
$objectResponse->send();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
$response = json_encode(['result' => false,
|
||||||
|
'message' => "Variable POST command inexistante"]);
|
||||||
|
$objectResponse = new Response(404);
|
||||||
|
$objectResponse->write($response);
|
||||||
|
$objectResponse->send();
|
||||||
}
|
}
|
||||||
ob_end_clean();
|
ob_end_clean();
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -109,10 +109,12 @@ class StaticRepo{
|
||||||
=============================================================*/
|
=============================================================*/
|
||||||
$checker = true; // contiendra VRAI si la vérification s'avère correcte
|
$checker = true; // contiendra VRAI si la vérification s'avère correcte
|
||||||
$matches = [];
|
$matches = [];
|
||||||
|
$len = 8;
|
||||||
|
|
||||||
//si on a un type scalairexlongueur, on traite
|
//si on a un type scalairexlongueur, on traite
|
||||||
if(preg_match_all('/((?:[a-z][a-z]+))(\\d+)/is',$dbtype,$matches)){
|
if(preg_match_all('/([A-Z][a-z]+)(\d+)/s', $dbtype,$matches)){
|
||||||
$dbtype = $matches[1][0];
|
$dbtype = $matches[1][0];
|
||||||
isset($matches[2][0])? $len = $matches[2][0] : $len = 8;
|
$len = $matches[2][0];
|
||||||
}
|
}
|
||||||
|
|
||||||
switch($dbtype){
|
switch($dbtype){
|
||||||
|
@ -123,27 +125,27 @@ class StaticRepo{
|
||||||
|
|
||||||
// [2] Chaine de caractère (longueur variable)
|
// [2] Chaine de caractère (longueur variable)
|
||||||
case 'String':
|
case 'String':
|
||||||
$checker = $checker && is_string($variable) && strlen($variable)<$len;
|
$checker = $checker && is_string($variable) && strlen($variable) <= $len;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'Integer':
|
case 'Integer':
|
||||||
$checker = $checker && is_int($variable) && $variable<pow(2,32);
|
$checker = $checker && is_int($variable) && $variable<pow(2, 32);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'SmallInteger':
|
case 'SmallInteger':
|
||||||
$checker = $checker && is_int($variable) && $variable<pow(2,16);
|
$checker = $checker && is_int($variable) && $variable<pow(2, 16);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'TinyInteger':
|
case 'TinyInteger':
|
||||||
$checker = $checker && is_int($variable) && $variable<pow(2,8);
|
$checker = $checker && is_int($variable) && $variable<pow(2, 8);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'BigInteger':
|
case 'BigInteger':
|
||||||
$checker = $checker && is_int($variable) && $variable<pow(2,64);
|
$checker = $checker && is_int($variable) && $variable<pow(2, 64);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'Date':
|
case 'Date':
|
||||||
$checker = $checker && is_string($variable) && preg_match('/(\d+)\/(\d+)\/(\d+)/is',$variable);
|
$checker = $checker && is_string($variable) && ( preg_match('/\d{2}\/\d{2}\/\d{4}/', $variable) || preg_match('/\d{4}-\d{2}-\d{2}/', $variable) );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'Heure':
|
case 'Heure':
|
||||||
|
|
|
@ -18,34 +18,56 @@ class PatientRepo
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function add($civilite,$prenom,$nom,$adresse,$adresse2,$ville,$codePostal,$dateNaissance,$lieuNaissance,$numSecu,$medecinTraitant = null){
|
public static function add($civilite,$prenom,$nom,$adresse,$adresse2,$ville,$codePostal,$dateNaissance,$lieuNaissance,$numSecu,$medecinTraitant = null){
|
||||||
|
$correctTypes = StaticRepo::checkParam($civilite,'Civilite');
|
||||||
if(!StaticRepo::checkParam($civilite,'Civilite') && !StaticRepo::checkParam($prenom,'String45') && !StaticRepo::checkParam($nom,'String45')
|
$correctTypes = $correctTypes && StaticRepo::checkParam($prenom,'String45');
|
||||||
&& !StaticRepo::checkParam($adresse,'String255') && !StaticRepo::checkParam($adresse2,'String255')&& !StaticRepo::checkParam($ville,'String50')
|
$correctTypes = $correctTypes && StaticRepo::checkParam($prenom,'String45');
|
||||||
&& !StaticRepo::checkParam($codePostal,'String5') && !StaticRepo::checkParam($dateNaissance,'Date') && !StaticRepo::checkParam($lieuNaissance,'String50')
|
$correctTypes = $correctTypes && StaticRepo::checkParam($nom,'String45');
|
||||||
&& !StaticRepo::checkParam($numSecu,'String15')){return false;}
|
$correctTypes = $correctTypes && StaticRepo::checkParam($adresse,'String255');
|
||||||
|
$correctTypes = $correctTypes && ( $adresse2 == 'null' || StaticRepo::checkParam($adresse2, 'String255') );
|
||||||
if($medecinTraitant != null && !StaticRepo::checkParam($medecinTraitant,'Integer')){return false;}
|
$correctTypes = $correctTypes && StaticRepo::checkParam($ville,'String50');
|
||||||
|
$correctTypes = $correctTypes && StaticRepo::checkParam($codePostal,'String');
|
||||||
|
$correctTypes = $correctTypes && StaticRepo::checkParam($dateNaissance,'Date');
|
||||||
|
$correctTypes = $correctTypes && StaticRepo::checkParam($lieuNaissance,'String50');
|
||||||
|
$correctTypes = $correctTypes && ( $medecinTraitant == 'null' || StaticRepo::checkParam($medecinTraitant, 'Integer') );
|
||||||
|
if( !$correctTypes ) return false;
|
||||||
|
|
||||||
$dateNaissance = strtotime($dateNaissance);
|
$dateNaissance = strtotime($dateNaissance);
|
||||||
$dateNaissance = Date('o-m-d',$dateNaissance);
|
$dateNaissance = Date('o-m-d',$dateNaissance);
|
||||||
|
|
||||||
$req = StaticRepo::getConnexion()->prepare('INSERT INTO Patient VALUES (DEFAULT,:civilite,:nom,:prenom,:adresse,:adresse2,:ville,:codePostal,:dateNaissance,:lieuNaissance,:numSecu,:medecin)');
|
$req = StaticRepo::getConnexion()->prepare("INSERT INTO Patient
|
||||||
$result = $req->execute(['civilite' => $civilite,
|
VALUES(DEFAULT,
|
||||||
'nom' => $nom,
|
:civilite,
|
||||||
'prenom' => $prenom,
|
:nom,
|
||||||
'adresse' => $adresse,
|
:prenom,
|
||||||
'adresse2' => $adresse2,
|
:adresse,
|
||||||
'ville' => $ville,
|
:adresse2,
|
||||||
'codePostal' => $codePostal,
|
:ville,
|
||||||
|
:codePostal,
|
||||||
|
:dateNaissance,
|
||||||
|
:lieuNaissance,
|
||||||
|
:numSecu,
|
||||||
|
:medecin
|
||||||
|
)");
|
||||||
|
$result = $req->execute([
|
||||||
|
'civilite' => $civilite,
|
||||||
|
'nom' => $nom,
|
||||||
|
'prenom' => $prenom,
|
||||||
|
'adresse' => $adresse,
|
||||||
|
'adresse2' => (strlen($adresse2)>0) ? $adresse2 : NULL,
|
||||||
|
'ville' => $ville,
|
||||||
|
'codePostal' => $codePostal,
|
||||||
'dateNaissance' => $dateNaissance,
|
'dateNaissance' => $dateNaissance,
|
||||||
'lieuNaissance' => $lieuNaissance,
|
'lieuNaissance' => $lieuNaissance,
|
||||||
'numSecu' => $numSecu,
|
'numSecu' => $numSecu,
|
||||||
'medecin' => $medecinTraitant ]);
|
'medecin' => $medecinTraitant
|
||||||
|
]);
|
||||||
|
|
||||||
//PDO renvoie un ID sous forme de char, on transtype
|
//PDO renvoie un ID sous forme de char, on transtype
|
||||||
$id = StaticRepo::getConnexion()->lastInsertId();
|
$id = StaticRepo::getConnexion()->lastInsertId();
|
||||||
settype($id,'integer');
|
settype($id,'integer');
|
||||||
if($result){return $id;}
|
|
||||||
else{return false;}
|
if($result)return $id;
|
||||||
|
else return false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue