first commit
This commit is contained in:
487
front/access.logs.php
Normal file
487
front/access.logs.php
Normal file
@ -0,0 +1,487 @@
|
||||
<?php
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
use Glpi\Event;
|
||||
|
||||
|
||||
|
||||
include ('../inc/includes.php');
|
||||
|
||||
|
||||
|
||||
Session::checkLoginUser();
|
||||
|
||||
|
||||
|
||||
if (Session::getCurrentInterface() == "helpdesk") {
|
||||
|
||||
Html::helpHeader("Journal authentification", '', $_SESSION["glpiname"]);
|
||||
|
||||
} else {
|
||||
|
||||
Html::header("Journal authentification", '', "", "");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
if( $_SESSION['glpiactiveprofile']['name'] == "Super-Admin" ||
|
||||
|
||||
$_SESSION['glpiactiveprofile']['name'] == "DGA" || $_SESSION['glpiactiveprofile']['name'] == "DG"){
|
||||
|
||||
|
||||
|
||||
function fullname($id_user){
|
||||
|
||||
|
||||
|
||||
global $DB;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$query = "SELECT concat(realname , ' ' , firstname) as fullname FROM `glpi_users`
|
||||
|
||||
where registration_number = ? LIMIT 1";
|
||||
|
||||
$stmt = $DB->prepare($query);
|
||||
|
||||
$stmt->bind_param("i" , $id_user);
|
||||
|
||||
$stmt->execute();
|
||||
$result = $stmt->get_result();
|
||||
|
||||
|
||||
|
||||
if ($result->num_rows > 0) {
|
||||
|
||||
$res = array();
|
||||
|
||||
$res = $result->fetch_assoc();
|
||||
|
||||
return $res['fullname'];
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function WebService(){
|
||||
|
||||
|
||||
|
||||
$url = "https://erp.sophal.net/Webservices.php";
|
||||
|
||||
$accessKey = '@k4H9NQVhvg9KqWL$ZDvd9xm!'; //CSRF ATTACK
|
||||
|
||||
|
||||
|
||||
$data = array(
|
||||
|
||||
'accessKey' => $accessKey
|
||||
|
||||
);
|
||||
|
||||
|
||||
|
||||
$resource = curl_init();
|
||||
|
||||
curl_setopt($resource, CURLOPT_URL, $url);
|
||||
|
||||
curl_setopt($resource, CURLOPT_HTTPHEADER, array('Content-Type:multipart/form-data'));
|
||||
|
||||
curl_setopt($resource, CURLOPT_POST, 1);
|
||||
|
||||
curl_setopt($resource, CURLOPT_RETURNTRANSFER, 1);
|
||||
|
||||
curl_setopt($resource, CURLOPT_POSTFIELDS, $data);
|
||||
|
||||
|
||||
|
||||
$response = curl_exec($resource);
|
||||
|
||||
|
||||
|
||||
if(curl_errno($resource))
|
||||
|
||||
{
|
||||
|
||||
echo 'Erreur Curl : ' . curl_error($resource);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
curl_close($resource);
|
||||
|
||||
|
||||
|
||||
if ($response !== false) {
|
||||
|
||||
|
||||
|
||||
return $response;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
return false;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
$res = WebService();
|
||||
|
||||
|
||||
|
||||
//supprimer UTF-8-BOM
|
||||
|
||||
for ($i = 0; $i <= 31; ++$i) {
|
||||
|
||||
$res = str_replace(chr($i), "", $res );
|
||||
|
||||
}
|
||||
|
||||
$res = str_replace(chr(127), "", $res );
|
||||
|
||||
if (0 === strpos(bin2hex($res ), 'efbbbf')) {
|
||||
|
||||
$res = substr($res , 3);
|
||||
|
||||
}
|
||||
|
||||
//supprimer UTF-8-BOM
|
||||
|
||||
|
||||
|
||||
$res = json_decode($res ,true);
|
||||
|
||||
|
||||
|
||||
if($res != null){
|
||||
|
||||
$total = count($res['virdi'])+count($res['sis_smarti']);
|
||||
|
||||
echo "<p id='nbLigneResultat'>".$total." ligne(s) </p>";
|
||||
|
||||
echo "<div onclick=\"exportThisWithParameter('tabcenter', 'logs.xls')\" style=\"cursor: pointer; border: 1px solid #ccc; text-align: center;width:19%;\">Exporter Vers Excel</div>";
|
||||
|
||||
|
||||
|
||||
echo '<table id="tabcenter" class="tab_cadrehov">';
|
||||
|
||||
echo '<thead>
|
||||
|
||||
<tr>
|
||||
|
||||
<td>Date</td>
|
||||
|
||||
<td>Temps</td>
|
||||
|
||||
<td>Mtricule</td>
|
||||
|
||||
<td>Terminal ID</td>
|
||||
|
||||
<td>Unité</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody >';
|
||||
|
||||
|
||||
|
||||
$dictionary = ["1"=>"Technical area" ,
|
||||
|
||||
"/192.168.11.2"=>"MALE CHANGE-1" ,
|
||||
|
||||
"/192.168.11.5"=>"VISITOR ENTRY" ,
|
||||
|
||||
"/192.168.11.6"=>"FEMALE CHANGE ROOM" ,
|
||||
|
||||
"/192.168.11.7"=>"PASSAGE-A" ,
|
||||
|
||||
"/192.168.11.19"=>"SPM IN & FG OUT" ,
|
||||
|
||||
"/192.168.11.20"=>"DAY STORE" ,
|
||||
|
||||
"/192.168.11.21"=>"CHANGE ROOM 1 (CPA)" ,
|
||||
|
||||
"/192.168.11.36"=>"AIRLOCK TO LINEN AREA" ,
|
||||
|
||||
"/192.168.11.39"=>"AIRLOCK (ENTRY TO STERILE AREA)" ,
|
||||
|
||||
"/192.168.11.40"=>"CHANGE ROOM-1 (APA)" ,
|
||||
|
||||
"/192.168.11.51"=>"RETURN CHANGE ROOM-3 (APA)" ,
|
||||
|
||||
"/192.168.11.52"=>"AIRLOCK TO SCRAP EXIST"
|
||||
|
||||
];
|
||||
|
||||
|
||||
|
||||
$users = ["0001"=>"BENYAMINA Mohammed",
|
||||
|
||||
"0100"=>"MOUSTAPHA (maintenance U1)",
|
||||
|
||||
"0101"=>"BOURASE (cordinateur maintenance)",
|
||||
|
||||
"0102"=>"CHAREF ( technicien 2 )",
|
||||
|
||||
"0103"=>"KADA HANI (supr maintenance OSD)",
|
||||
|
||||
"0104"=>"IMADE HMDAOUI (technicien 2)",
|
||||
|
||||
"0105"=>"Yogesh vishare",
|
||||
|
||||
"0106"=>"Houari zouigh",
|
||||
|
||||
"0107"=>"bilal (supr maint U4)",
|
||||
|
||||
"2626"=>"RACHID SEBTI ( technicien instru U1)",
|
||||
|
||||
"2560"=>"SALIME RAHMANI ( technicien instru U4)",
|
||||
|
||||
"2377"=>"HAFFAF CHAHINEZ ( microbiologie)",
|
||||
|
||||
"2085"=>"BRAHOU AZZEDINE ( microbiologie)",
|
||||
|
||||
"2000"=>"TARMOUL AMINE ( microbiologie)",
|
||||
|
||||
"2579"=>"GHAZOUI NARDGESS ( microbiologie)",
|
||||
|
||||
"2252"=>"DROUICHE WAFAA ( microbiologie)",
|
||||
|
||||
"2180"=>"BENKADA CHAREF ( microbiologie)",
|
||||
|
||||
"0016"=>"SAAD NOURDINE (QC)",
|
||||
|
||||
"0669"=>"MAZZIZ JAZIA (QC)",
|
||||
|
||||
"2421"=>"NESRINE QVM",
|
||||
|
||||
"2194"=>"WAFAA QVM",
|
||||
|
||||
"2434"=>"AHMED QVM",
|
||||
|
||||
"1699"=>"ALI (maintenance )",
|
||||
|
||||
"2236"=>"DJALLAL (Operateur)",
|
||||
|
||||
"2209"=>"OUSSAMA (Operateur)",
|
||||
|
||||
"0810"=>"TOUHAMI (maintenance)",
|
||||
|
||||
"0788"=>"MAHMOUD (maintenance )",
|
||||
|
||||
"9999"=>"BOUSBA YASMINE (QVM orien lab )",
|
||||
|
||||
"1072"=>"RIMA (MANAGER QA)",
|
||||
|
||||
"2020"=>"GHANEM MANAGER U5",
|
||||
|
||||
"2021"=>"ARKILICHE(QVM orien lab )",
|
||||
|
||||
"1948"=>"ABD EL HADI (MANAGER U4)",
|
||||
|
||||
"2635"=>"GHOMARI YOUNES ( microbiologie)",
|
||||
|
||||
"2631"=>"GRINE MOHAMMED AMINE (microbiologie)",
|
||||
|
||||
"2624"=>"KHELEF IMEN ( microbiologie)",
|
||||
|
||||
"2376"=>"MAZEDA ASSIA ( microbiologie)"];
|
||||
|
||||
|
||||
|
||||
if(is_array($res) && count($res) > 0 ){
|
||||
|
||||
|
||||
|
||||
foreach ($res['sis_smarti'] as $row['sis_smarti']) {
|
||||
|
||||
|
||||
|
||||
//$name = fullname($row['sis_smarti']['uid']);
|
||||
|
||||
//$name = $name==null ? $row['sis_smarti']['uid'] : $name ;
|
||||
|
||||
$name = array_key_exists($row['sis_smarti']['uid'],$users) ? $users[$row['sis_smarti']['uid']] : $row['sis_smarti']['uid'];
|
||||
|
||||
$host = array_key_exists($row['sis_smarti']['host'],$dictionary) ? $dictionary[$row['sis_smarti']['host']] : $row['sis_smarti']['host'];
|
||||
|
||||
echo '
|
||||
|
||||
<tr>
|
||||
|
||||
<td>'.$row['sis_smarti']['date'].'</td>
|
||||
|
||||
<td>'.$row['sis_smarti']['time'].'</td>
|
||||
|
||||
<td>'.$name.'</td>
|
||||
|
||||
<td>'.$host.'</td>
|
||||
|
||||
<td>Unité 01</td>
|
||||
|
||||
</tr> ';
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
foreach ($res['virdi'] as $row['virdi']) {
|
||||
|
||||
|
||||
|
||||
$y = substr($row['virdi']['C_Date'],0,-4);
|
||||
|
||||
$d = substr($row['virdi']['C_Date'],6);
|
||||
|
||||
$m = substr($row['virdi']['C_Date'],4,-2);
|
||||
|
||||
|
||||
|
||||
$hour = substr($row['virdi']['C_Time'],0,-4);
|
||||
|
||||
$minute = substr($row['virdi']['C_Time'],2,-2);
|
||||
|
||||
$second = substr($row['virdi']['C_Time'],4);
|
||||
|
||||
//$name = fullname($row['virdi']['L_UID']);
|
||||
|
||||
//$name = $name==null ? $row['virdi']['L_UID'] : $name ;
|
||||
|
||||
$mat = str_pad($row['virdi']['L_UID'],4,0,STR_PAD_LEFT);
|
||||
|
||||
$name = array_key_exists($mat,$users) ? $users[$mat] : $mat;
|
||||
|
||||
$host = array_key_exists($row['virdi']['L_TID'],$dictionary) ? $dictionary[$row['virdi']['L_TID']] : $row['virdi']['L_TID'];
|
||||
|
||||
echo '
|
||||
|
||||
<tr>
|
||||
|
||||
<td>'.$y.'-'.$m.'-'.$d.'</td>
|
||||
|
||||
<td>'.$hour.':'.$minute.':'.$second.'</td>
|
||||
|
||||
<td>'.$name.'</td>
|
||||
|
||||
<td>'.$host.'</td>
|
||||
|
||||
<td>Unité 01</td>
|
||||
|
||||
</tr> ';
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
echo '</tbody>
|
||||
|
||||
</table>';
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (Session::getCurrentInterface() == "helpdesk") {
|
||||
|
||||
Html::helpFooter();
|
||||
|
||||
} else {
|
||||
|
||||
Html::footer();
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
|
||||
|
||||
var childerns = <?php echo json_encode($res); ?>;
|
||||
|
||||
console.log(childerns);
|
||||
|
||||
|
||||
|
||||
var exportThisWithParameter = (function () {
|
||||
|
||||
var uri = 'data:application/vnd.ms-excel;base64,',
|
||||
|
||||
template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><meta http-equiv=Content-Type content="text/html; charset=utf-8"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets> <x:ExcelWorksheet><x:Name>{worksheet}</x:Name> <x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions> </x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook> </xml><![endif]--></head><body> <table>{table}</table></body></html>',
|
||||
|
||||
base64 = function (s) {
|
||||
|
||||
return window.btoa(unescape(encodeURIComponent(s)))
|
||||
|
||||
},
|
||||
|
||||
format = function (s, c) {
|
||||
|
||||
return s.replace(/{(\w+)}/g, function (m, p) { return c[p]; })
|
||||
|
||||
}
|
||||
|
||||
return function (tableID, excelName) {
|
||||
|
||||
tableID = document.getElementById(tableID)
|
||||
|
||||
var ctx = { worksheet: excelName || 'Worksheet', table: tableID.innerHTML }
|
||||
|
||||
// window.location.href = uri + base64(format(template, ctx))
|
||||
|
||||
var link = document.createElement("a");
|
||||
|
||||
link.download = excelName;
|
||||
|
||||
//link.charset = 'utf-8';
|
||||
|
||||
link.href = uri + base64(format(template, ctx));
|
||||
|
||||
link.click();
|
||||
|
||||
}
|
||||
|
||||
})()
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user