diff --git a/private/lib/gui/DatatablesHelper.php b/private/lib/gui/DatatablesHelper.php
index db078ca..a4d1718 100644
--- a/private/lib/gui/DatatablesHelper.php
+++ b/private/lib/gui/DatatablesHelper.php
@@ -53,7 +53,7 @@ class DatatablesHelper {
}
else {
if ($obj->$key instanceof MongoDate){
- $rval->$key = date("d-m-Y",$obj->$key->sec);
+ $rval->$key = date("d-m-Y H:i",$obj->$key->sec);
}
else {
$rval->$key = $obj->$key;
@@ -83,6 +83,7 @@ class DatatablesHelper {
'useForm.submit();'.
'}'.
'});';
+ $i++;
}
$buttonDiv.='
';
}
@@ -92,10 +93,18 @@ class DatatablesHelper {
$colLabels = "";
$jsCols = array();
+ $i=0;
foreach ($columns as $col){
$colLabels.= '| '.$col["label"].' | ';
$jsCols[]= '{"data":"'.$col["data"].'"}';
+
+ if (array_key_exists("sort",$col)){
+ $defaultOrder[]= '['.$i.',"'.$col["sort"].'"]';
+ }
+
+
+ $i++;
}
$colLabels.= '
';
@@ -114,6 +123,11 @@ class DatatablesHelper {
"type": "POST"
},
"columns": [ ],
+ 0){
+ echo '"order": ['. implode(",", $defaultOrder) . '],';
+ }
+ ?>
"initComplete": function () {
$("div.").prepend('');
diff --git a/private/lib/gui/MenuGenerator.php b/private/lib/gui/MenuGenerator.php
index 34c2845..0f75fb2 100644
--- a/private/lib/gui/MenuGenerator.php
+++ b/private/lib/gui/MenuGenerator.php
@@ -14,7 +14,10 @@ class MenuGenerator {
array("label"=>"Da accettare","page"=>"unacceptedNotizie.php","requires"=>AdminModel::ADMIN_TYPE_EDITORE_SUPERVISOR),
array("label"=>"Respinte","page"=>"rejectedNotizie.php","requires"=>AdminModel::ADMIN_TYPE_EDITORE_SUPERVISOR)
)),
- array("label"=>"Giornalisti","page"=>"listGiornalisti.php","requires"=>AdminModel::ADMIN_TYPE_NORMALADMIN),
+ array("label"=>"Giornalisti", "subvoices"=>array(
+ array("label"=>"Nuovo","page"=>"editGiornalisti.php","requires"=>AdminModel::ADMIN_TYPE_NORMALADMIN),
+ array("label"=>"Lista","page"=>"listGiornalisti.php","requires"=>AdminModel::ADMIN_TYPE_NORMALADMIN),
+ )),
array("label"=>"Commenti","page"=>"unacceptedCommenti.php","requires"=>AdminModel::ADMIN_TYPE_COMMENTI_SUPERVISOR),
diff --git a/public/admin/deleteAmministratori.php b/public/admin/deleteAmministratori.php
new file mode 100644
index 0000000..8f0559c
--- /dev/null
+++ b/public/admin/deleteAmministratori.php
@@ -0,0 +1,64 @@
+hasRole(AdminModel::ADMIN_TYPE_SUPERADMIN)){
+ GUIHandler::redirect("admin/index.php");
+}
+
+MenuGenerator::generateMenu();
+
+HTMLHelper::generateAdminHead();
+
+$id = PostHandler::get("id");
+if (is_null($id) || strcmp("", $id)==0){
+ GUIHandler::redirect("admin/listAmministratori.php");
+}
+
+$giornalista = GlobalVariables::get("dao")->getFirst("AdminModel",array("id"=>$id));
+if (is_null($giornalista)){
+ GUIHandler::redirect("admin/listAmministratori.php");
+}
+
+$confirm = PostHandler::get("confirm");
+if (!is_null($confirm) && strcmp("", $confirm)!=0){
+ if (strcmp("true", $confirm)==0){
+ GlobalVariables::get("dao")->delete($giornalista);
+ }
+ GUIHandler::redirect("admin/listAmministratori.php");
+}
+
+?>
+
+
\ No newline at end of file
diff --git a/public/admin/deleteGiornalisti.php b/public/admin/deleteGiornalisti.php
new file mode 100644
index 0000000..a1a0cd8
--- /dev/null
+++ b/public/admin/deleteGiornalisti.php
@@ -0,0 +1,70 @@
+hasRole(AdminModel::ADMIN_TYPE_EDITORE_SUPERVISOR)){
+ GUIHandler::redirect("admin/index.php");
+}
+
+MenuGenerator::generateMenu();
+
+HTMLHelper::generateAdminHead();
+
+$id = PostHandler::get("id");
+if (is_null($id) || strcmp("", $id)==0){
+ GUIHandler::redirect("admin/listGiornalisti.php");
+}
+
+$giornalista = GlobalVariables::get("dao")->getFirst("AdminModel",array("id"=>$id));
+if (is_null($giornalista)){
+ GUIHandler::redirect("admin/listGiornalisti.php");
+}
+
+$confirm = PostHandler::get("confirm");
+if (!is_null($confirm) && strcmp("", $confirm)!=0){
+ if (strcmp("true", $confirm)==0){
+ $giornalista->removeRole(AdminModel::ADMIN_TYPE_EDITORE);
+ if ( ($giornalista->roles & 0) == $giornalista->roles){
+ GlobalVariables::get("dao")->delete($giornalista);
+ }
+ else {
+ GlobalVariables::get("dao")->save($giornalista);
+ }
+ }
+ GUIHandler::redirect("admin/listGiornalisti.php");
+}
+
+?>
+
+
\ No newline at end of file
diff --git a/public/admin/editAmministratori.php b/public/admin/editAmministratori.php
new file mode 100644
index 0000000..3b90d27
--- /dev/null
+++ b/public/admin/editAmministratori.php
@@ -0,0 +1,88 @@
+hasRole(AdminModel::ADMIN_TYPE_SUPERADMIN)){
+ GUIHandler::redirect("admin/index.php");
+}
+
+MenuGenerator::generateMenu();
+
+HTMLHelper::generateAdminHead();
+
+$id = PostHandler::get("id");
+$giornalista = new AdminModel();
+$giornalista->nome = "";
+$giornalista->cognome = "";
+
+if (!is_null($id) && strcmp("", $id)!=0){
+ $giornalista = GlobalVariables::get("dao")->getFirst("AdminModel",array("id"=>$id));
+ if (is_null($giornalista)){
+ GUIHandler::redirect("admin/listAmministratori.php");
+ }
+}
+
+$action = PostHandler::get("action");
+if (!is_null($action) && strcmp("", $action)!=0){
+ if (strcmp("cancel", $action)==0){
+ GUIHandler::redirect("admin/listAmministratori.php");
+ }
+ else if (strcmp("save", $action)==0){
+ $giornalista->nome = PostHandler::get("nome");
+ $giornalista->cognome = PostHandler::get("cognome");
+ foreach (AdminModel::$ADMIN_TYPES as $maskVal=>$data){
+ if ($data["typeFlags"]!=AdminModel::TYPE_FLAG_HIDDEN){
+ $cur = PostHandler::get($maskVal);
+ if (!is_null($cur) && $cur = $maskVal){
+ $giornalista->addRole($maskVal);
+ }
+ else {
+ $giornalista->removeRole($maskVal);
+ }
+ }
+ }
+ GlobalVariables::get("dao")->save($giornalista);
+ GUIHandler::redirect("admin/listAmministratori.php");
+ }
+}
+
+?>
+
+
\ No newline at end of file
diff --git a/public/admin/editGiornalisti.php b/public/admin/editGiornalisti.php
new file mode 100644
index 0000000..1766f61
--- /dev/null
+++ b/public/admin/editGiornalisti.php
@@ -0,0 +1,71 @@
+hasRole(AdminModel::ADMIN_TYPE_EDITORE_SUPERVISOR)){
+ GUIHandler::redirect("admin/index.php");
+}
+
+MenuGenerator::generateMenu();
+
+HTMLHelper::generateAdminHead();
+
+
+$id = PostHandler::get("id");
+$giornalista = new AdminModel();
+$giornalista->nome = "";
+$giornalista->cognome = "";
+$giornalista->addRole(AdminModel::ADMIN_TYPE_EDITORE);
+
+if (!is_null($id) && strcmp("", $id)!=0){
+ $giornalista = GlobalVariables::get("dao")->getFirst("AdminModel",array("id"=>$id));
+ if (is_null($giornalista)){
+ GUIHandler::redirect("admin/listGiornalisti.php");
+ }
+}
+
+$action = PostHandler::get("action");
+if (!is_null($action) && strcmp("", $action)!=0){
+ if (strcmp("cancel", $action)==0){
+ GUIHandler::redirect("admin/listGiornalisti.php");
+ }
+ else if (strcmp("save", $action)==0){
+ $giornalista->nome = PostHandler::get("nome");
+ $giornalista->cognome = PostHandler::get("cognome");
+ GlobalVariables::get("dao")->save($giornalista);
+ GUIHandler::redirect("admin/listGiornalisti.php");
+ }
+}
+
+?>
+
+
diff --git a/public/admin/listAmministratori.php b/public/admin/listAmministratori.php
new file mode 100644
index 0000000..50c772c
--- /dev/null
+++ b/public/admin/listAmministratori.php
@@ -0,0 +1,39 @@
+hasRole(AdminModel::ADMIN_TYPE_SUPERADMIN)){
+ GUIHandler::redirect("admin/index.php");
+}
+
+MenuGenerator::generateMenu();
+
+HTMLHelper::generateAdminHead();
+$columns = array(
+ array("label"=>"Nome","data"=>"nome","sort"=>"asc"),
+ array("label"=>"Cognome","data"=>"cognome"),
+ array("label"=>"Maschera Permessi","data"=>"roles"),
+ array("label"=>"Ultimo Accesso","data"=>"lastConnection.date")
+);
+
+$buttons = array(
+ array("icon"=>"icon-medium-blue icon-editmed","page"=>"editAmministratori.php"),
+ array("icon"=>"icon-medium-blue icon-remove","page"=>"deleteAmministratori.php")
+);
+
+?>
+
+ $buttons));
+ ?>
+
\ No newline at end of file
diff --git a/public/admin/listGiornalisti.php b/public/admin/listGiornalisti.php
index f8b3538..380b427 100644
--- a/public/admin/listGiornalisti.php
+++ b/public/admin/listGiornalisti.php
@@ -19,12 +19,14 @@ MenuGenerator::generateMenu();
HTMLHelper::generateAdminHead();
$columns = array(
- array("label"=>"Nome","data"=>"nome"),
- array("label"=>"Cognome","data"=>"cognome")
+ array("label"=>"Nome","data"=>"nome","sort"=>"asc"),
+ array("label"=>"Cognome","data"=>"cognome"),
+ array("label"=>"Ultimo Accesso","data"=>"lastConnection.date")
);
$buttons = array(
- array("icon"=>"icon-medium-blue icon-editmed","page"=>"editAdmin.php")
+ array("icon"=>"icon-medium-blue icon-editmed","page"=>"editGiornalisti.php"),
+ array("icon"=>"icon-medium-blue icon-remove","page"=>"deleteGiornalisti.php")
);
?>
diff --git a/public/admin/listNotizie.php b/public/admin/listNotizie.php
index fbcb71b..5e71fcc 100644
--- a/public/admin/listNotizie.php
+++ b/public/admin/listNotizie.php
@@ -22,7 +22,7 @@ $columns = array(
array("label"=>"Titolo","data"=>"titolo"),
array("label"=>"Sottotitolo","data"=>"sottotitolo"),
array("label"=>"Autore","data"=>"about.author"),
- array("label"=>"Data","data"=>"about.data")
+ array("label"=>"Data","data"=>"about.data","sort"=>"desc")
);
$buttons = array(
diff --git a/public/admin/tablesBackends/amministratoriTableBackend.php b/public/admin/tablesBackends/amministratoriTableBackend.php
new file mode 100644
index 0000000..4ccb394
--- /dev/null
+++ b/public/admin/tablesBackends/amministratoriTableBackend.php
@@ -0,0 +1,24 @@
+null,
+ "cognome"=>null,
+ "lastConnection"=>array("date"=>null),
+ "roles"=>null,
+ "id"=>null
+);
+
+$ret = DatatablesHelper::getResult($useModel, $permissionFlagRequired, $exposedFields);
+echo json_encode($ret);
+
+
+?>
\ No newline at end of file
diff --git a/public/admin/tablesBackends/giornalistiTableBackend.php b/public/admin/tablesBackends/giornalistiTableBackend.php
index f89c2a6..501d7fc 100644
--- a/public/admin/tablesBackends/giornalistiTableBackend.php
+++ b/public/admin/tablesBackends/giornalistiTableBackend.php
@@ -11,6 +11,7 @@ $permissionFlagRequired = AdminModel::ADMIN_TYPE_EDITORE_SUPERVISOR;
$exposedFields = array(
"nome"=>null,
"cognome"=>null,
+ "lastConnection"=>array("date"=>null),
"id"=>null
);
diff --git a/public/admin/tablesBackends/notizieTableBackend.php b/public/admin/tablesBackends/notizieTableBackend.php
index de135f2..1c4f8c8 100644
--- a/public/admin/tablesBackends/notizieTableBackend.php
+++ b/public/admin/tablesBackends/notizieTableBackend.php
@@ -6,36 +6,6 @@ Creation Date: 14/gen/2016
require_once(dirname(__FILE__)."/../../load.php");
-// $ret = new stdClass();
-// $ret->draw = $_POST["draw"];
-
-// $arr = array();
-// $ele = new stdClass();
-// $ele->Sottotitolo = print_r($_POST,true);
-// $ele->Titolo = "asd";
-// $ele->about = new stdClass();
-// $ele->about->autore = "autore";
-// $ele->about->data = "data";
-
-// $arr[] = $ele;
-// for ($i=0; $i<9; $i++){
-// $ele = new stdClass();
-// $ele->Sottotitolo = "asd";
-// $ele->Titolo = "asd";
-// $ele->about = new stdClass();
-// $ele->about->autore = "autore";
-// $ele->about->data = "data";
-// $arr[] = $ele;
-// }
-
-// $ret->recordsTotal = 10;
-// $ret->recordsFiltered = 10;
-// $ret->data = $arr;
-// echo json_encode($ret);
-// die();
-
-// OK
-
$useModel = "NotiziaModel";
$permissionFlagRequired = AdminModel::ADMIN_TYPE_EDITORE_SUPERVISOR;
$exposedFields = array(