From 913f3e43414202b6c5debc29fb3698aa3f0d79e2 Mon Sep 17 00:00:00 2001 From: Lorenzo Giacomelli Date: Thu, 21 Jan 2016 17:48:24 +0100 Subject: [PATCH] Funzione di Delete di Notizie Pagina Home di notizia stilata da finire di implemetare le funzioni Pagina di Home dei media giusto creata --- private/lib/dao/models/NotiziaModel.php | 9 ++ public/admin/deleteNotizie.php | 64 ++++++++++++++ public/admin/editNotizie.php | 8 +- public/admin/homeMultimedia.php | 82 ++++++++++++++++++ public/admin/homeNotizie.php | 110 ++++++++++++++++++++++++ public/admin/listNotizie.php | 4 +- public/admin/myNotizie.php | 34 ++++++++ public/index.php | 7 +- public/style/admin.css | 20 ++++- 9 files changed, 330 insertions(+), 8 deletions(-) create mode 100644 public/admin/deleteNotizie.php create mode 100644 public/admin/homeMultimedia.php create mode 100644 public/admin/homeNotizie.php create mode 100644 public/admin/myNotizie.php diff --git a/private/lib/dao/models/NotiziaModel.php b/private/lib/dao/models/NotiziaModel.php index 6084a30..2480ed7 100644 --- a/private/lib/dao/models/NotiziaModel.php +++ b/private/lib/dao/models/NotiziaModel.php @@ -17,6 +17,15 @@ Creation Date: 07/gen/2016 * */ class NotiziaModel extends HasMediaModel{ + const STATUS_PENDING = 1; + const STATUS_ACCEPTED = 2; + const STATUS_REJECTED = 3; + + public static $NOTIZIA_STATUS = array( + self::STATUS_PENDING=>array("label"=>"In attesa"), + self::STATUS_ACCEPTED=>array("label"=>"Accettata"), + self::STATUS_REJECTED=>array("label"=>"Respinta") + ); public static function getCollectionName(){ return "notizia"; diff --git a/public/admin/deleteNotizie.php b/public/admin/deleteNotizie.php new file mode 100644 index 0000000..ee38fe0 --- /dev/null +++ b/public/admin/deleteNotizie.php @@ -0,0 +1,64 @@ +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/listNotizie.php"); +} + +$notizia = GlobalVariables::get("dao")->getFirst("NotiziaModel",array("id"=>$id)); +if (is_null($notizia)){ + GUIHandler::redirect("admin/listNotizie.php"); +} + +$confirm = PostHandler::get("confirm"); +if (!is_null($confirm) && strcmp("", $confirm)!=0){ + if (strcmp("true", $confirm)==0){ + GlobalVariables::get("dao")->delete($notizia); + } + GUIHandler::redirect("admin/listNotizie.php"); +} + +?> +
+".$notizia->titolo." ?"; +?> +
+ + +
+ Conferma + Annulla +
+ \ No newline at end of file diff --git a/public/admin/editNotizie.php b/public/admin/editNotizie.php index ba5071a..9c3c488 100644 --- a/public/admin/editNotizie.php +++ b/public/admin/editNotizie.php @@ -31,6 +31,10 @@ try{ if (!AdminLoginManager::getLogged()->hasRole(AdminModel::ADMIN_TYPE_EDITORE_SUPERVISOR) && AdminLoginManager::getLogged()->hasRole(AdminModel::ADMIN_TYPE_EDITORE)){ + if($notizia->status == NotiziaModel::STATUS_ACCEPTED){ + GUIHandler::redirect("admin/myNotizie.php"); + } + if(strcmp($notizia->about->owner, AdminLoginManager::getLogged()->id) != 0){ GUIHandler::redirect("admin/myNotizie.php"); } @@ -60,6 +64,7 @@ try{ $notizia->about->data = $mongoDate; if(!$edit){ + $notizia->status = NotiziaModel::STATUS_PENDING; $notizia->about->author = AdminLoginManager::getLogged()->nome." ".AdminLoginManager::getLogged()->cognome; $notizia->about->owner = AdminLoginManager::getLogged()->id; } @@ -68,9 +73,6 @@ try{ GlobalVariables::get("dao")->save($notizia); GUIHandler::redirect("admin/listNotizie.php"); } - else{ - echo "non salvo"; - } } else{ echo "post nullo"; diff --git a/public/admin/homeMultimedia.php b/public/admin/homeMultimedia.php new file mode 100644 index 0000000..9bc6659 --- /dev/null +++ b/public/admin/homeMultimedia.php @@ -0,0 +1,82 @@ +hasRole(AdminModel::ADMIN_TYPE_EDITORE_SUPERVISOR) && + !AdminLoginManager::getLogged()->hasRole(AdminModel::ADMIN_TYPE_EDITORE)){ + GUIHandler::redirect("admin/index.php"); +} + +try{ + $error = ""; + $notiziaId = PostHandler::get("id"); + + $notizia = ""; + $medias = array(); + // var_dump($notizia); + if(!is_null($notiziaId) && strcmp($notiziaId, "")!=0){ +// $notizia = "Pene"; +// $notizia = GlobalVariables::get("dao")->getFirst("NotiziaModel",array("id"=>$notiziaId)); + $medias = GlobalVariables::get("dao")->query("MediaModel",array('owner.id'=>$notiziaId)); +// // echo "pene"; +// if(is_null($notizia)){ +// GUIHandler::redirect("admin/myNotizie.php"); +// } + +// if (!AdminLoginManager::getLogged()->hasRole(AdminModel::ADMIN_TYPE_EDITORE_SUPERVISOR) && +// AdminLoginManager::getLogged()->hasRole(AdminModel::ADMIN_TYPE_EDITORE)){ +// if(strcmp($notizia->about->owner, AdminLoginManager::getLogged()->id) != 0){ +// GUIHandler::redirect("admin/myNotizie.php"); +// } +// } + } + + + +}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."; +} + +MenuGenerator::generateMenu(); +HTMLHelper::generateAdminHead(); + +?> +
+ +
+ +
+ renderMedia();}?> +
+
+ +
+ +
+
+ + \ No newline at end of file diff --git a/public/admin/homeNotizie.php b/public/admin/homeNotizie.php new file mode 100644 index 0000000..6380d9a --- /dev/null +++ b/public/admin/homeNotizie.php @@ -0,0 +1,110 @@ +hasRole(AdminModel::ADMIN_TYPE_EDITORE_SUPERVISOR) && + !AdminLoginManager::getLogged()->hasRole(AdminModel::ADMIN_TYPE_EDITORE)){ + GUIHandler::redirect("admin/index.php"); +} + +try{ + $error = ""; + $notiziaId = PostHandler::get("id"); + + $notizia = new NotiziaModel(); +// $ansa = false; + // var_dump($notizia); + if(!is_null($notiziaId) && strcmp($notiziaId, "")!=0){ + + $notizia = GlobalVariables::get("dao")->getFirst("NotiziaModel",array("id"=>$notiziaId)); + + // echo "pene"; + if(is_null($notizia)){ + GUIHandler::redirect("admin/myNotizie.php"); + } + + if (!AdminLoginManager::getLogged()->hasRole(AdminModel::ADMIN_TYPE_EDITORE_SUPERVISOR) && + AdminLoginManager::getLogged()->hasRole(AdminModel::ADMIN_TYPE_EDITORE)){ + if(strcmp($notizia->about->owner, AdminLoginManager::getLogged()->id) != 0){ + GUIHandler::redirect("admin/myNotizie.php"); + } + } + if(array_key_exists("ansa", $_POST)){ + if(strcmp(PostHandler::get("ansa"), "true")==0){ + $notizia->ansa = true; + } + else{ + $notizia->ansa = false; + } + GlobalVariables::get("dao")->save($notizia); + $ansa = $notizia->ansa; + } + $ansa = $notizia->ansa; + } + + + MenuGenerator::generateMenu(); + HTMLHelper::generateAdminHead(); + +}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."; +} + +?> + +
+
+

titolo;?>

+

sottotitolo;?>

+

testo;?>

+
+ +
+ + +
+
+ + \ No newline at end of file diff --git a/public/admin/listNotizie.php b/public/admin/listNotizie.php index 5e71fcc..4ee4b6c 100644 --- a/public/admin/listNotizie.php +++ b/public/admin/listNotizie.php @@ -26,7 +26,9 @@ $columns = array( ); $buttons = array( - array("icon"=>"icon-medium-blue icon-editmed","page"=>"editNotizie.php") + array("icon"=>"icon-medium-blue icon-home","page"=>"homeNotizie.php"), + array("icon"=>"icon-medium-blue icon-editmed","page"=>"editNotizie.php"), + array("icon"=>"icon-medium-blue icon-remove","page"=>"deleteNotizie.php") ); ?> diff --git a/public/admin/myNotizie.php b/public/admin/myNotizie.php new file mode 100644 index 0000000..cb29786 --- /dev/null +++ b/public/admin/myNotizie.php @@ -0,0 +1,34 @@ +hasRole(AdminModel::ADMIN_TYPE_EDITORE_SUPERVISOR)){ + GUIHandler::redirect("admin/index.php"); +} + +MenuGenerator::generateMenu(); + +HTMLHelper::generateAdminHead(); +$columns = array( + array("label"=>"Titolo","data"=>"titolo"), + array("label"=>"Sottotitolo","data"=>"sottotitolo"), + array("label"=>"Autore","data"=>"about.author"), + array("label"=>"Data","data"=>"about.data") +); + +$buttons = array( + array("icon"=>"icon-medium-blue icon-editmed","page"=>"editNotizie.php") +); + +?> +
+ $buttons)); + ?> +
+ +?> \ No newline at end of file diff --git a/public/index.php b/public/index.php index 2106bfc..a47ca73 100644 --- a/public/index.php +++ b/public/index.php @@ -9,7 +9,8 @@ require_once(dirname(__FILE__)."/load.php"); try { -// $media = GlobalVariables::get("dao")->getFirst("MediaModel",array("id"=>"569914c30b860ea20d8b4568")); +// $notizia = GlobalVariables::get("dao")->getFirst("NotiziaModel",array("id"=>"569fa7e40b860e35138b4567")); +// $media = GlobalVariables::get("dao")->getFirst("MediaModel",array("id"=>"5697c0dcb040a5602d8b457b")); // $saveable = new stdClass(); @@ -28,8 +29,10 @@ try { // $news = new NotiziaModel(); + +// DaoMediaHandler::addMedia($notizia, $media); -// GlobalVariables::get("dao")->save($news); +// GlobalVariables::get("dao")->save($notizia); // GlobalVariables::get("dao")->save($media); // GlobalVariables::get("dao")->save($media2); diff --git a/public/style/admin.css b/public/style/admin.css index 53b5450..665cc7a 100644 --- a/public/style/admin.css +++ b/public/style/admin.css @@ -13,7 +13,7 @@ #admin_menu ul ul{height:0px;} .admin_head{margin-left:300px;} -.admin_head + div{margin-left:300px; padding: 20px;} +.admin_head + div{margin-left:300px; padding: 20px; position:relative;} table.dataTable th{text-align:left; } @@ -21,4 +21,20 @@ table.dataTable tr .lastVisible{text-align:right; } table.dataTable tr.odd td{background-color:rgba(126, 151, 214, 0.3); } table.dataTable tr.even td{background-color:rgba(126, 151, 214, 0.4); } .dataTables_wrapper .toolbar{float:right;} -.dataTables_wrapper .toolbar > *{vertical-align:middle;} \ No newline at end of file +.dataTables_wrapper .toolbar > *{vertical-align:middle;} + + +/* + _ _ _ _ _ +| \ | | ___ | |_(_)___(_) ___ +| \| |/ _ \| __| |_ / |/ _ \ +| |\ | (_) | |_| |/ /| | __/ +|_| \_|\___/ \__|_/___|_|\___| + +*/ + +.notiziaContainer{margin-right:255px;background-color:#f2f2f2;overflow:auto;} +.notiziaContainer h1,.notiziaContainer h2,.notiziaContainer h3{padding:10px;} +.notiziaMenu{display:inline-block;background-color:#33ccff;position:absolute; width:250px;right:20px;top:20px;} +.notiziaMenu a{text-decoration:none;color:black;cursor:pointer;} +.notiziaMenu a:hover{text-decoration:underline;} \ No newline at end of file