Inserito sistema di log grafico con codice di errore e tabella
consultabile via web
This commit is contained in:
@@ -28,6 +28,7 @@ require_once(dirname(__FILE__)."/models/MailModel.php");
|
||||
require_once(dirname(__FILE__)."/models/MailTemplateModel.php");
|
||||
|
||||
require_once(dirname(__FILE__)."/models/AccessModel.php");
|
||||
require_once(dirname(__FILE__)."/models/LogModel.php");
|
||||
|
||||
$dao = new GenericDao($database->dbName,$database->connectionString);
|
||||
GlobalVariables::set("dao", $dao);
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
/*
|
||||
Author: Riccardo Di Dato
|
||||
Creation Date: 27/gen/2016
|
||||
*/
|
||||
|
||||
|
||||
class LogModel extends Model {
|
||||
|
||||
public function __construct($saveableObject = null){
|
||||
parent::__construct($saveableObject);
|
||||
|
||||
if (!$this->hasProperty("date")){
|
||||
$this->date = new MongoDate();
|
||||
}
|
||||
}
|
||||
|
||||
public function getCode(){
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
public static function getCollectionName(){
|
||||
return "guiLog";
|
||||
}
|
||||
|
||||
public static function fromException(Exception $ex){
|
||||
$tmp = new stdClass();
|
||||
$tmp->message = $ex->getMessage();
|
||||
$tmp->trace = strval($ex);
|
||||
|
||||
return new self($tmp);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -59,7 +59,7 @@ class DatatablesHelper {
|
||||
$rval->$key = $obj->$key;
|
||||
}
|
||||
if (is_callable($val)){
|
||||
$rval->$key = $val($rval->$key);
|
||||
$rval->$key = $val($rval->$key,$obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,8 +65,11 @@ try{
|
||||
}catch(GUIException $ex){
|
||||
$error = $ex->getMessage();
|
||||
}catch (Exception $exec){
|
||||
LoggingFacilityManager::getLogger("gui")->log(LoggingFacility::$LEVEL_ERROR, $exec->getMessage());
|
||||
$error = "Si è verificato un errore inaspettato durante l'esecuzione della pagina. Se l'errore persiste contattare il supporto tecnico.";
|
||||
$msg = LogModel::fromException($exec);
|
||||
GlobalVariables::get("dao")->save($msg);
|
||||
|
||||
// LoggingFacilityManager::getLogger("gui")->log(LoggingFacility::$LEVEL_ERROR, $exec->getMessage());
|
||||
$error = "Si è verificato un errore inatteso durante l'esecuzione della pagina. Contattare il supporto tecnico comunicando il seguente codice di erore '".$msg->getCode()."'";
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
/*
|
||||
Author: Riccardo Di Dato
|
||||
Creation Date: 27/gen/2016
|
||||
*/
|
||||
|
||||
|
||||
|
||||
require_once(dirname(__FILE__)."/../load.php");
|
||||
|
||||
GUIHandler::generateHtmlHeaders(array(),true);
|
||||
|
||||
if (!AdminLoginManager::isLogged()){
|
||||
GUIHandler::redirect("admin/login.php");
|
||||
}
|
||||
else if (!AdminLoginManager::getLogged()->hasRole(AdminModel::ADMIN_TYPE_SUPERADMIN)){
|
||||
GUIHandler::redirect("admin/index.php");
|
||||
}
|
||||
|
||||
MenuGenerator::generateMenu();
|
||||
|
||||
HTMLHelper::generateAdminHead();
|
||||
$columns = array(
|
||||
array("label"=>"Codice","data"=>"code"),
|
||||
array("label"=>"Messaggio","data"=>"message"),
|
||||
array("label"=>"Data","data"=>"date","sort"=>"desc")
|
||||
);
|
||||
|
||||
$buttons = array();
|
||||
|
||||
?>
|
||||
<div>
|
||||
<?php
|
||||
$details = DatatablesHelper::generateTable("logsTableBackend.php",$columns,array("buttons"=>$buttons));
|
||||
?>
|
||||
</div>
|
||||
@@ -24,3 +24,5 @@ $exposedFields = array(
|
||||
|
||||
$ret = DatatablesHelper::getResult($useModel, $permissionFlagRequired, $exposedFields);
|
||||
echo json_encode($ret);
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
/*
|
||||
Author: Riccardo Di Dato
|
||||
Creation Date: 27/gen/2016
|
||||
*/
|
||||
|
||||
require_once(dirname(__FILE__)."/../../load.php");
|
||||
|
||||
$useModel = "LogModel";
|
||||
$permissionFlagRequired = AdminModel::ADMIN_TYPE_SUPERADMIN;
|
||||
$exposedFields = array(
|
||||
"code"=>function($data, $obj){
|
||||
return $obj->getCode();
|
||||
},
|
||||
"message"=>null,
|
||||
"date"=>null,
|
||||
"id"=>null
|
||||
);
|
||||
|
||||
$ret = DatatablesHelper::getResult($useModel, $permissionFlagRequired, $exposedFields);
|
||||
echo json_encode($ret);
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user