Skip to content

Instantly share code, notes, and snippets.

@John-Dormevil
Created June 26, 2017 10:03
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save John-Dormevil/70a7e6b00a6764ea1a52c762a53be560 to your computer and use it in GitHub Desktop.
Save John-Dormevil/70a7e6b00a6764ea1a52c762a53be560 to your computer and use it in GitHub Desktop.
<?php
$a = session_id();
if(empty($a) and isset($a)){session_start();}
//Function to check if the request is an AJAX request
if (is_ajax()) {
if (isset($_POST["operation"]) && !empty($_POST["operation"])) { //Checks if action value exists
$operation = $_POST["operation"];
$dataTable = $_POST["dataTable"];
switch ($operation) { //Switch case for value of action
case "save":
if (isset($dataTable) && !empty($dataTable)) {
saveDraft($dataTable);
}
break;
case "loadReaderMode":
if (isset($dataTable) && !empty($dataTable)) {
findAstreinteByYearMonthAjax($dataTable);
}
break;
case "load":
if (isset($dataTable) && !empty($dataTable)) {
selectAstreintesAjax($dataTable);
}
break;
case "load-all-by-month-year":
if (isset($dataTable) && !empty($dataTable)) {
selectAstreintesByMonthAjax($dataTable);
}
break;
case "delete-this-array-astreinte":
if (isset($dataTable) && !empty($dataTable)) {
deleteDraft($dataTable);
} else {
echo json_encode([
'msg'=>"NOTHING TO DO",
'error'=>0,
"result"=>[]
]);
}
break;
case "delete":
if (isset($dataTable) && !empty($dataTable)) {
deleteDraft($dataTable);
}
break;
case "load-all-astreinte":
selectAllAstreinteAjax();
break;
case "check_md5":
if (isset($dataTable) && !empty($dataTable)) {
verifyMe($dataTable);
} else {
echo json_encode([$_SESSION['isCraInverse']]);
}
break;
case "get_check_md5":
if (true){
echo json_encode([$_SESSION['isCraInverse']]);
}
break;
case "save_liste_select_session_astreinte":
if (isset($dataTable) && !empty($dataTable)) {
$_SESSION['listeSelectionAstreinte'] = $dataTable;
echo json_encode([$_SESSION['listeSelectionAstreinte']]);
}
break;
}
}
}
/*
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// The request is using the POST method
if (isset($_POST["nom"]) && !empty($_POST["nom"])) {
$nom = $_POST["nom"];
switch ($nom) { //Switch case for value of action
case "MAHMOUD":
testRequestAjax();
break;
case "JJ":
echo json_encode(['rs1'=>'Mauvais utilisateur']);
break;
}
}
}
*/
function selectAllAstreinteAjax()
{
$laSelection = $_SESSION['laSelection'];//'matricule'
$matricule = $laSelection->matricule();
$interfaceBD = new InterfaceBD ();
$result =[];
$requeteSQL = "SELECT * FROM ASTREINTES WHERE MATRICULE=$matricule";
$interfaceBD->connexion();
$interfaceBD->executer($requeteSQL);
$interfaceBD->deconnexion();
for ($i=0; $i < $interfaceBD->nbLignes(); $i++) {
array_push($result, $interfaceBD->ligne());
}
echo json_encode($result);
}
function selectAstreintesAjax($data)
{
$laSelection = $_SESSION['laSelection'];
$matricule = $laSelection->matricule();
$interfaceBD = new InterfaceBD ();
$result =[];
$interfaceBD->connexion();
for ($c=0; $c < count($data); $c++) {
# code...
$requeteSQL = "SELECT DATE_ASTREINTE, DATE_FIN_POSTE, DATE_REPRISE_POSTE FROM ASTREINTES WHERE MATRICULE=$matricule AND DATE_ASTREINTE='".$data[$c]."'";
$requeteSQL = $requeteSQL." ORDER BY DATE_ASTREINTE ASC";
$sql= $interfaceBD->executer($requeteSQL);
$result[$c] = $interfaceBD->ligne();
$response =[];
if ($sql != 0) {
array_push($response, [
'msg'=>'un probleme est survenue dans le chargement des astreintes',
'error'=>1,
'result'=>$sql,
"rq"=>$requeteSQL
]);
} else {
array_push($response, [
'msg'=>"SUCCESS LOADING ASTREINTE",
'error'=>0,
'result'=>$sql
]);
}
$result[$c][3] = $response;
}
for ($c=0; $c < count($data); $c++) {
$result[$c][4]=selectIntervention($matricule, $data[$c]);
}
$interfaceBD->deconnexion();
echo json_encode($result);
}
function findAstreinteByYearMonthAjax($data)
{
$laSelection = $_SESSION['laSelection'];
$matricule = $laSelection->matricule();
$interfaceBD = new InterfaceBD ();
$result =[];
$interfaceBD->connexion();
$requeteSQL = "SELECT DATE_ASTREINTE FROM ASTREINTES WHERE MATRICULE=$matricule AND YEAR(DATE_ASTREINTE)='".$data[0]."' AND MONTH(DATE_ASTREINTE)='".$data[1]."'";
$requeteSQL = $requeteSQL." ORDER BY DATE_ASTREINTE ASC";
$interfaceBD->executer($requeteSQL);
for ($i=0; $i <$interfaceBD->nbLignes(); $i++) {
array_push($result, $interfaceBD->ligne());
}
$interfaceBD->deconnexion();
echo json_encode($result);
}
function verifyMe($data){
echo json_encode([$data, 'voici le timestamp matricule', $_SESSION['isCraInverse']]);
}
function selectIntervention($matricule, $dateAstreinte)
{
$interfaceBD = new InterfaceBD();
$result = [];
$interfaceBD->connexion();
$requeteSQL = "SELECT DATE_DEB, DATE_FIN, DESCRIPTION FROM INTERVENTIONS WHERE MATRICULE=$matricule AND DATE_ASTREINTE='".$dateAstreinte."'";
$sql = $interfaceBD->executer($requeteSQL);
$response =[];
for ($i=0; $i <$interfaceBD->nbLignes(); $i++) {
# code...
array_push($result, $interfaceBD->ligne());
}
if ($sql != 0) {
array_push($response, [
'msg'=>'un probleme est survenue dans le chargement des interventions',
'error'=>1,
'result'=>$sql
]);
} else {
array_push($response, [
'msg'=>"SUCCESS LOADING INTERVENTION",
'error'=>0,
'result'=>$sql
]);
}
$result[count($result)]= $response;
$interfaceBD->deconnexion();
return $result;
}
function selectAstreintesByMonthAjax($data)
{
$laSelection = $_SESSION['laSelection'];
$matricule = $laSelection->matricule();
$interfaceBD = new InterfaceBD();
$result = [];
$interfaceBD->connexion();
$requeteSQL = "SELECT DATE_ASTREINTE, DATE_FIN_POSTE, DATE_REPRISE_POSTE FROM ASTREINTES WHERE MATRICULE=$matricule AND DATE_ASTREINTE>='".$data[0]."' AND DATE_ASTREINTE<='".$data[1]."' ";
$sql = $interfaceBD->executer($requeteSQL);
$response =[];
for ($i=0; $i <$interfaceBD->nbLignes(); $i++) {
# code...
array_push($result, $interfaceBD->ligne());
}
if ($sql != 0) {
array_push($response, [
'msg'=>'un probleme est survenue dans le chargement de toutes les astreintes du mois courant',
'error'=>1,
'result'=>$sql
]);
} else {
array_push($response, [
'msg'=>"SUCCESS LOADING ASTREINTE_BY_MONTH",
'error'=>0,
'result'=>$sql
]);
}
$result[count($result)]= $response;
$interfaceBD->deconnexion();
echo json_encode($result);
}
function saveDraft($data)
{
$laSelection = $_SESSION['laSelection'];
$matricule = $laSelection->matricule();
$interfaceBD = new InterfaceBD ();
$result="";
$response =[];
$interfaceBD->connexion();
header("Content-Type: application/json");
for ($i=0; $i <count($data); $i++) {
$requeteSQL = "INSERT INTO ASTREINTES (MATRICULE, DATE_ASTREINTE, DATE_FIN_POSTE, DATE_REPRISE_POSTE)
VALUES ('".$matricule."', '".$data[$i][0]."', '".$data[$i][1]."', '".$data[$i][2]."' );";
$arrayInt = $data[$i][3];
$result = $interfaceBD->executer($requeteSQL);
if ($result != 0) {
array_push($response, [
'msg'=>'un probleme est survenue dans la sauvegarde des astreintes',
'error'=>1,
'result'=>$result
]);
} else {
array_push($response, [
'msg'=>"SUCCESS SAVE",
'error'=>0,
'result'=>$result
]);
}
for ($ii=0; $ii <count($arrayInt); $ii++) {
$arrayInt[$ii][3] = addslashes( $arrayInt[$ii][3]);
$requeteSQL = "INSERT INTO INTERVENTIONS (MATRICULE, DATE_ASTREINTE, DATE_DEB, DATE_FIN, DUREE, DESCRIPTION)
VALUES ('".$matricule."', '".$data[$i][0]."', '".$arrayInt[$ii][0]."', '".$arrayInt[$ii][1]."', '".$arrayInt[$ii][2]."', '".$arrayInt[$ii][3]."' );";
$result = $interfaceBD->executer($requeteSQL);
if ($result != 0) {
array_push($response, [
'msg'=>'un probleme est survenue dans la sauvegarde des intervention',
'error'=>1,
'result'=>$result
]);
} else {
array_push($response, [
'msg'=>"SUCCESS SAVE",
'error'=>0,
'result'=>$result,
'table1'=>$data[$i][3][$ii][0],
'table2'=>$data[$i][3][$ii][1],
]);
}
}
}
echo json_encode($response);
$interfaceBD->deconnexion();
}
function deleteDraft($data)
{
$laSelection = $_SESSION['laSelection'];
$matricule = $laSelection->matricule();
$interfaceBD = new InterfaceBD ();
$result="";
$response =[];
$interfaceBD->connexion();
header("Content-Type: application/json");
if (count($data) != 0) {
for ($i=0; $i <count($data); $i++) {
$requeteSQL = "DELETE FROM ASTREINTES WHERE MATRICULE='".$matricule."' AND DATE_ASTREINTE='".$data[$i][0]."'";//AND DATE_FIN_POSTE='".$data[$i][1]."' AND DATE_REPRISE_POSTE='".$data[$i][2]."'"
$result = $interfaceBD->executer($requeteSQL);
if ($result != 0) {
array_push($response, [
'msg'=>'un probleme est survenue',
'error'=>1,
'result'=>$result
]);
} else {
array_push($response, [
'msg'=>"SUCCESS DELETING",
'error'=>0,
'result'=>$result,
"sql"=>$requeteSQL,
"data"=>$data[$i][1]
]);
}
$requeteSQL = "DELETE FROM INTERVENTIONS WHERE MATRICULE='".$matricule."' AND DATE_ASTREINTE='".$data[$i][0]."'";
$result = $interfaceBD->executer($requeteSQL);
if ($result != 0) {
array_push($response, [
'msg'=>'un probleme est survenue',
'error'=>1,
'result'=>$result
]);
} else {
array_push($response, [
'msg'=>"SUCCESS DELETING",
'error'=>0,
'result'=>$result,
"sql"=>$requeteSQL
]);
}
}
}
echo json_encode($data);
$interfaceBD->deconnexion();
}
function is_ajax()
{
return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment