192 lines
9.7 KiB
PHP
Executable File
192 lines
9.7 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( isset($params['id_patient'])
|
|
&& isset($params['civilite'])
|
|
&& isset($params['prenom'])
|
|
&& isset($params['nom'])
|
|
&& isset($params['adresse'])
|
|
&& isset($params['adresse2'])
|
|
&& isset($params['ville'])
|
|
&& isset($params['code_postal'])
|
|
&& isset($params['date_naissance'])
|
|
&& isset($params['lieu_naissance'])
|
|
&& isset($params['num_secu'])
|
|
&& isset($params['id_medecin']) ){
|
|
|
|
if( PatientRepo::update($params['id_patient'],
|
|
$params['civilite'],
|
|
strtolower($params['prenom']),
|
|
strtoupper($params['nom']),
|
|
$params['adresse'],
|
|
$params['adresse2'],
|
|
$params['ville'],
|
|
$params['code_postal'],
|
|
$params['date_naissance'],
|
|
$params['lieu_naissance'],
|
|
$params['num_secu'],
|
|
$params['id_medecin']) !== 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 paramètres!';
|
|
$_message = 'Certains champs sont 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 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();
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|