Inserito sistema di log grafico con codice di errore e tabella

consultabile via web
This commit is contained in:
Riccardo Di Dato
2016-01-27 13:14:48 +01:00
parent d5975df693
commit d9895b18a6
7 changed files with 104 additions and 3 deletions
+1
View File
@@ -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);
+36
View File
@@ -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);
}
}
?>
+1 -1
View File
@@ -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);
}
}
}
+5 -2
View File
@@ -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()."'";
}
?>
+36
View File
@@ -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);
?>