172 lines
9.3 KiB
PHP
Executable File
172 lines
9.3 KiB
PHP
Executable File
<?php
|
|
function customCompression($input, $compression){
|
|
if( $compression ) return strtr(base64_encode(addslashes(gzcompress(serialize($input),9))), '+/=', '-_,');
|
|
else return unserialize(gzuncompress(stripslashes(base64_decode(strtr($input, '-_,', '+/=')))));
|
|
}
|
|
|
|
/**
|
|
* Created by PhpStorm.
|
|
* User: seekdasky
|
|
* Date: 10/12/15
|
|
* Time: 09:16
|
|
*/
|
|
class Patient
|
|
{
|
|
public function add($params){
|
|
if( StaticRepo::checkParam($params['date_naissance'], 'Date') ){
|
|
$params['num_secu'] = str_replace(' ', '', $params['num_secu']);
|
|
$params['date_naissance'] = DateTime::createFromFormat('d/m/Y', $params['date_naissance']);
|
|
if( PatientRepo::add($params['civilite'],strtolower($params['prenom']),strtolower($params['nom']),$params['adresse'],$params['adresse2'],$params['ville'],$params['code_postal'],
|
|
$params['date_naissance']->format('Y-m-d'),$params['lieu_naissance'],$params['num_secu'],$params['medecin_traitant']) !== FALSE){
|
|
$_status = 'success';
|
|
$_title = 'Création effectuée!';
|
|
$_message = 'Le patient <strong>'.$params['prenom'].' '.$params['nom'].'</strong> a bien été créé.';
|
|
|
|
if( !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' )
|
|
Response::quickResponse(200, json_encode([ 'status' => $_status, 'title' => $_title, 'message' => $_message ]));
|
|
else{
|
|
$response = new Response();
|
|
$response->setHeader('Location', 'http://'.$_SERVER['HTTP_HOST'].'/Patients.php?status='.$_status.'&title='.$_title.'&message='.$_message);
|
|
$response->send();
|
|
}
|
|
}else{
|
|
$_status = 'error';
|
|
$_title = 'Erreur de création!';
|
|
$_message = 'Certains champs étaient incorrects. Réessayez!';
|
|
|
|
if( !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' )
|
|
Response::quickResponse(200, json_encode([ 'status' => $_status, 'title' => $_title, 'message' => $_message ]));
|
|
else{
|
|
$response = new Response();
|
|
$response->setHeader('Location', 'http://'.$_SERVER['HTTP_HOST'].'/Patients.php?status='.$_status.'&title='.$_title.'&message='.$_message);
|
|
$response->send();
|
|
}
|
|
|
|
}
|
|
}else{
|
|
$_status = 'error';
|
|
$_title = 'Erreur de création!';
|
|
$_message = 'Le format de la date est incorrect. Réessayez!';
|
|
|
|
if( !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' )
|
|
Response::quickResponse(200, json_encode([ 'status' => $_status, 'title' => $_title, 'message' => $_message ]));
|
|
else{
|
|
$response = new Response();
|
|
$response->setHeader('Location', 'http://'.$_SERVER['HTTP_HOST'].'/Patients.php?status='.$_status.'&title='.$_title.'&message='.$_message);
|
|
$response->send();
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
public function search($params){
|
|
|
|
/* RECHERCHE REUSSIE */
|
|
if( ($patList=PatientRepo::search(strtolower($params['nom']), strtolower($params['prenom']))) !== FALSE ){
|
|
$_status = 'success';
|
|
$_title = 'Recherche effectuée!';
|
|
$_message = '<strong>'.count($patList).'</strong> patient(s) trouvé(s)!';
|
|
$_patients = $patList;
|
|
|
|
if( !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' )
|
|
Response::quickResponse(200, json_encode([ 'status' => $_status, 'title' => $_title, 'message' => $_message, 'patients' => $_patients ]));
|
|
else{
|
|
$response = new Response();
|
|
// $response->write("patients=".$compressed_json);
|
|
$response->setHeader('Location', 'http://'.$_SERVER['HTTP_HOST'].'/Patients.php?status='.$_status.'&title='.$_title.'&message='.$_message.'&patients='.customCompression( json_encode($_patients), true));
|
|
$response->send();
|
|
}
|
|
}else{
|
|
$_status = 'error';
|
|
$_title = 'Erreur lors de la recherche!';
|
|
$_message = 'Certains champs étaient incorrects. Réessayez!';
|
|
|
|
if( !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' )
|
|
Response::quickResponse(200, json_encode([ 'status' => $_status, 'title' => $_title, 'message' => $_message ]));
|
|
else{
|
|
$response = new Response();
|
|
$response->setHeader('Location', 'http://'.$_SERVER['HTTP_HOST'].'/Patients.php?status='.$_status.'&title='.$_title.'&message='.$_message);
|
|
$response->send();
|
|
}
|
|
}
|
|
}
|
|
|
|
public function update($params){
|
|
if(StaticRepo::checkParam($params['date_naissance'],'Date')){
|
|
$params['num_secu'] = str_replace(' ','',$params['num_secu']);
|
|
$params['date_naissance'] = DateTime::createFromFormat('d/m/Y', $params['date_naissance']);
|
|
if(PatientRepo::update($params['id_patient'],$params['civilite'],strtolower($params['prenom']),strtolower($params['nom']),$params['adresse'],$params['adresse2'],$params['ville'],$params['cope_postal'],
|
|
$params['date_naissance']->format('Y-m-d'),$params['lieu_naissance'],$params['num_secu'],$params['medecin_traitant']) !==FALSE){
|
|
|
|
$_status = 'success';
|
|
$_title = 'Modification effectuée!';
|
|
$_message = 'Le patient <strong>'.$params['prenom'].' '.$params['nom'].'</strong> a bien été modifié.';
|
|
|
|
if( !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' )
|
|
Response::quickResponse(200, json_encode([ 'status' => $_status, 'title' => $_title, 'message' => $_message ]));
|
|
else{
|
|
$response = new Response();
|
|
$response->setHeader('Location', 'http://'.$_SERVER['HTTP_HOST'].'/Patients.php?status='.$_status.'&title='.$_title.'&message='.$_message);
|
|
$response->send();
|
|
}
|
|
|
|
}else{
|
|
$_status = 'error';
|
|
$_title = 'Erreur de modification!';
|
|
$_message = 'Certains champs étaient incorrects. Réessayez!';
|
|
|
|
if( !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' )
|
|
Response::quickResponse(200, json_encode([ 'status' => $_status, 'title' => $_title, 'message' => $_message ]));
|
|
else{
|
|
$response = new Response();
|
|
$response->setHeader('Location', 'http://'.$_SERVER['HTTP_HOST'].'/Patients.php?status='.$_status.'&title='.$_title.'&message='.$_message);
|
|
$response->send();
|
|
}
|
|
}
|
|
}else{
|
|
$_status = 'error';
|
|
$_title = 'Erreur de modification!';
|
|
$_message = 'Le format de la date est incorrect. Réessayez!';
|
|
|
|
if( !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' )
|
|
Response::quickResponse(200, json_encode([ 'status' => $_status, 'title' => $_title, 'message' => $_message ]));
|
|
else{
|
|
$response = new Response();
|
|
$response->setHeader('Location', 'http://'.$_SERVER['HTTP_HOST'].'/Patients.php?status='.$_status.'&title='.$_title.'&message='.$_message);
|
|
$response->send();
|
|
}
|
|
}
|
|
}
|
|
|
|
public function delete($params){
|
|
if( PatientRepo::delete($params['id_patient']) !== FALSE ){
|
|
|
|
$_status = 'success';
|
|
$_title = 'Patient supprimé!';
|
|
$_message = 'Le patient a bien été supprimé de la base de données!';
|
|
|
|
if( !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' )
|
|
Response::quickResponse(200, json_encode([ 'status' => $_status, 'title' => $_title, 'message' => $_message ]));
|
|
else{
|
|
$response = new Response();
|
|
$response->setHeader('Location', 'http://'.$_SERVER['HTTP_HOST'].'/Patients.php?status='.$_status.'&title='.$_title.'&message='.$_message);
|
|
$response->send();
|
|
}
|
|
|
|
}else{
|
|
$_status = 'error';
|
|
$_title = 'Erreur de suppression!';
|
|
$_message = 'Erreur lors de la suppression. Réessayez!';
|
|
|
|
if( !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' )
|
|
Response::quickResponse(200, json_encode([ 'status' => $_status, 'title' => $_title, 'message' => $_message ]));
|
|
else{
|
|
$response = new Response();
|
|
$response->setHeader('Location', 'http://'.$_SERVER['HTTP_HOST'].'/Patients.php?status='.$_status.'&title='.$_title.'&message='.$_message);
|
|
$response->send();
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|