From 9a5338f565e600e618cc4546abbf18d30d942b3a Mon Sep 17 00:00:00 2001 From: Antonio Gallo Date: Sun, 5 Jun 2011 11:09:40 +0000 Subject: improved the way deleted devices are managed --- .../Application/Controllers/GenericController.php | 42 +++-- .../Application/Controllers/HistoryController.php | 71 ++++++-- .../Application/Controllers/WikiController.php | 2 +- h-source/Application/Models/HardwareModel.php | 16 ++ h-source/Application/Views/Notebooks/page.php | 2 +- h-source/Application/Views/climb.php | 2 +- h-source/Application/Views/differences.php | 38 ++-- h-source/Application/Views/history.php | 10 +- h-source/Application/Views/if_page_deleted.php | 2 +- h-source/Application/Views/page.php | 2 +- h-source/Application/Views/talk.php | 198 +++++++++++---------- h-source/Application/Views/top_left.php | 8 +- 12 files changed, 242 insertions(+), 151 deletions(-) (limited to 'h-source/Application') diff --git a/h-source/Application/Controllers/GenericController.php b/h-source/Application/Controllers/GenericController.php index 9cbaeee..da2f87a 100644 --- a/h-source/Application/Controllers/GenericController.php +++ b/h-source/Application/Controllers/GenericController.php @@ -470,8 +470,10 @@ class GenericController extends BaseController $data['ne_name'] = null; $data['name'] = null; $data['tree'] = null; - $data['isDeleted'] = 'no'; + $data['isDeleted'] = false; + $data['md_javascript'] = "moderator_dialog(\"devicehide\",\"device\");moderator_dialog(\"deviceshow\",\"device\");"; + if ($this->mod->checkType($clean['id_hard'])) { $this->mod->setWhereQueryClause(array("id_hard" => $clean['id_hard'])); @@ -486,9 +488,9 @@ class GenericController extends BaseController $data['name'] = encodeUrl($data['ne_name']); $data['title'] = $data['ne_name'].' - '.Website::$generalName; $data['tree'] = $this->getSpecHardLink() . " » ".$data['ne_name'].""; - $data['isDeleted'] = $data['table'][0]['hardware']['deleted']; + $data['isDeleted'] = $this->m['HardwareModel']->isDeleted($clean['id_hard']); - if (strcmp($data['isDeleted'],'yes') === 0) + if ($data['isDeleted']) { $deletion = new DeletionModel(); $data['deletion'] = $deletion->select()->where(array('id_hard'=>$clean['id_hard']))->send(); @@ -527,6 +529,8 @@ class GenericController extends BaseController $data['tree'] = $this->getSpecHardLink() . " » " . $this->getViewLink($clean['id'],$data['ne_name'])." » history"; $data['title'] = 'history - '.Website::$generalName; + + $data['isDeleted'] = $this->m['HardwareModel']->isDeleted($clean['id']); //get the first revision $res = $this->m['RevisionsModel']->db->select('revisions','id_rev','id_hard='.$clean['id'],null,'id_rev',1); @@ -572,7 +576,7 @@ class GenericController extends BaseController $data['name'] = null; $data['ne_name'] = null; $data['tree'] = null; - $data['isDeleted'] = 'no'; + $data['isDeleted'] = false; $data['title'] = 'revision - '.Website::$generalName; if (count($data['table']) > 0) @@ -584,6 +588,8 @@ class GenericController extends BaseController $data['updated_by'] = $data['table'][0]['revisions']['updated_by']; $data['update_date'] = $data['table'][0]['revisions']['update_date']; + + $data['isDeleted'] = $this->m['HardwareModel']->isDeleted($data['id_hard']); } $this->append($data); @@ -603,7 +609,8 @@ class GenericController extends BaseController $ne_name = $this->m['HardwareModel']->getTheModelName((int)$data['id_hard']); $data['name'] = encodeUrl($ne_name); $data['tree'] = $this->getSpecHardLink() . " » " . $this->getViewLink($data['id_hard'],$ne_name)." » " . $this->getHistoryLink($clean['id_hard']) . " » differences"; - + + $data['isDeleted'] = $this->m['HardwareModel']->isDeleted($clean['id_hard']); $data['showDiff'] = false; $diffArray = array(); @@ -677,7 +684,7 @@ class GenericController extends BaseController { $deleted = $this->m['HardwareModel']->select("hardware.deleted")->where(array("id_hard"=>$clean['id_hard']))->limit(1)->toList('deleted')->send(); - $data['isDeleted'] = $deleted[0]; + $data['isDeleted'] = $this->m['HardwareModel']->isDeleted($clean['id_hard']); $data['id_rev'] = $clean['id_rev']; $data['id_hard'] = $clean['id_hard']; @@ -693,21 +700,16 @@ class GenericController extends BaseController if (!$this->s['registered']->checkCsrf($clean['token'])) $this->redirect($this->controller.'/catalogue/'.$this->lang,2,'wrong token..'); if ($this->m['UsersModel']->isBlocked($this->s['registered']->status['id_user'])) $this->redirect('my/home/'.$this->lang,2,'your account has been blocked..'); + + if ($this->m['HardwareModel']->isDeleted($clean['id_hard'])) $this->redirect($this->controller.'/catalogue/'.$this->lang,2,'this device page has been deleted..'); if (isset($_POST['confirmAction'])) { - if (strcmp($deleted[0],'no') === 0) - { - $this->m['HardwareModel']->makeCurrent($clean['id_rev']); - - $this->viewRedirect($this->m['HardwareModel']->lastId); - - $data['notice'] = $this->m['HardwareModel']->notice; - } - else - { - $this->redirect($this->controller.'/catalogue/'.$this->lang,2,'deleted..'); - } + $this->m['HardwareModel']->makeCurrent($clean['id_rev']); + + $this->viewRedirect($this->m['HardwareModel']->lastId); + + $data['notice'] = $this->m['HardwareModel']->notice; } $this->append($data); @@ -734,6 +736,8 @@ class GenericController extends BaseController $data['ne_name'] = $this->m['HardwareModel']->getTheModelName($clean['id_hard']); $data['name'] = encodeUrl($data['ne_name']); $data['tree'] = $this->getSpecHardLink() . " » " . $this->getViewLink($clean['id_hard'],$data['ne_name'])." » talk"; + + $data['isDeleted'] = $this->m['HardwareModel']->isDeleted($clean['id_hard']); if (isset($_POST['insertAction'])) { @@ -742,6 +746,8 @@ class GenericController extends BaseController if (!$this->s['registered']->checkCsrf($clean['token'])) $this->redirect($this->controller.'/catalogue/'.$this->lang,2,'wrong token..'); if ($this->m['UsersModel']->isBlocked($this->s['registered']->status['id_user'])) $this->redirect('my/home/'.$this->lang,2,'your account has been blocked..'); + + if ($this->m['HardwareModel']->isDeleted($clean['id_hard'])) $this->redirect($this->controller.'/catalogue/'.$this->lang,2,'this device page has been deleted..'); $this->m['TalkModel']->values['created_by'] = $this->s['registered']->status['id_user']; $this->m['TalkModel']->values['id_hard'] = $clean['id_hard']; diff --git a/h-source/Application/Controllers/HistoryController.php b/h-source/Application/Controllers/HistoryController.php index e44ce79..71055fc 100644 --- a/h-source/Application/Controllers/HistoryController.php +++ b/h-source/Application/Controllers/HistoryController.php @@ -31,6 +31,7 @@ class HistoryController extends BaseController 'wiki_talk' => 'wiki talk', 'page' => 'wiki page', 'page_del' => 'wiki page', + 'device' => 'device page', ); public static $actionTable = array( @@ -44,6 +45,8 @@ class HistoryController extends BaseController 'pageunblock' => 'unblock', 'pagehide' => 'hide', 'pageshow' => 'show', + 'devicehide' => 'hide', + 'deviceshow' => 'show', ); protected $strings = array( @@ -147,6 +150,26 @@ class HistoryController extends BaseController 'error_string' => 'Error: the wiki page is already visible', ), + + 'devicehide' => array( + + 'action' => 'devicehide', + 'check_status' => 'no', + 'to_status' => 'yes', + 'exec_string' => 'The device page has been hidden. Just reload the page', + 'error_string' => 'Error: the device page is already hidden', + + ), + + 'deviceshow' => array( + + 'action' => 'deviceshow', + 'check_status' => 'yes', + 'to_status' => 'no', + 'exec_string' => 'The device page is no more hidden. Just reload the page', + 'error_string' => 'Error: the device page is already visible', + + ), ); protected $types = array( @@ -229,6 +252,18 @@ class HistoryController extends BaseController 'group' => 'admin', ), + + //page blocked or not + 'device' => array( + + 'clean_type' => 'device', + 'model_name' => 'HardwareModel', + 'id_name' => 'id_hard', + 'field_name' => '-deleted', + 'actions' => array('devicehide','deviceshow'), + 'group' => 'moderator', + + ), ); public function __construct($model, $controller, $queryString) @@ -289,6 +324,16 @@ class HistoryController extends BaseController { $this->generic($lang, $token, 'pageshow'); } + + public function devicehide($lang = 'en', $token = '') + { + $this->generic($lang, $token, 'devicehide'); + } + + public function deviceshow($lang = 'en', $token = '') + { + $this->generic($lang, $token, 'deviceshow'); + } protected function generic($lang = 'en', $token = '', $action = 'hide') { @@ -401,6 +446,10 @@ class HistoryController extends BaseController $data['object'] = 'wiki page'; $data['box_class'] = 'details_of_actions_inner_user'; break; + case 'device': + $data['object'] = 'device page'; + $data['box_class'] = 'details_of_actions_inner_user'; + break; case 'page_del': $data['object'] = 'wiki page'; $data['box_class'] = 'details_of_actions_inner_user'; @@ -418,16 +467,18 @@ class HistoryController extends BaseController $data['res'] = $this->m['HistoryModel']->select()->where(array('id'=>$clean['id'],'type'=>$clean['type'],'gr'=>$clean['group']))->send(); $data['md_action'] = array( - 'hide' => 'hidden', - 'show' => 'restored', - 'block' => 'blocked', - 'unblock' => 'un-blocked', - 'open' => 'opened again', - 'close' => 'closed', - 'pageblock' => 'blocked', - 'pageunblock' => 'un-blocked', - 'pagehide' => 'hidden', - 'pageshow' => 'restored', + 'hide' => 'hidden', + 'show' => 'restored', + 'block' => 'blocked', + 'unblock' => 'un-blocked', + 'open' => 'opened again', + 'close' => 'closed', + 'pageblock' => 'blocked', + 'pageunblock' => 'un-blocked', + 'pagehide' => 'hidden', + 'pageshow' => 'restored', + 'devicehide' => 'hidden', + 'deviceshow' => 'restored', ); $this->append($data); diff --git a/h-source/Application/Controllers/WikiController.php b/h-source/Application/Controllers/WikiController.php index 9815055..7b5c7ba 100644 --- a/h-source/Application/Controllers/WikiController.php +++ b/h-source/Application/Controllers/WikiController.php @@ -189,7 +189,7 @@ class WikiController extends BaseController $data['table'] = $res; $data['tree_name'] = $res[0]['wiki']['title']; $data['title'] = $res[0]['wiki']['title'] . ' - ' . Website::$generalName; - $data['isDeleted'] = $this->m['WikiModel']->isDeleted($res[0]['wiki']['id_wiki']);; + $data['isDeleted'] = $this->m['WikiModel']->isDeleted($res[0]['wiki']['id_wiki']); $data['isBlocked'] = $this->m['WikiModel']->isBlocked($res[0]['wiki']['id_wiki']); if ( count($res) < 2 ) diff --git a/h-source/Application/Models/HardwareModel.php b/h-source/Application/Models/HardwareModel.php index 9633eac..a3745cf 100644 --- a/h-source/Application/Models/HardwareModel.php +++ b/h-source/Application/Models/HardwareModel.php @@ -72,6 +72,11 @@ class HardwareModel extends Model_Map { parent::__construct(); } + public function pUpdate($id) + { + return parent::update($id); + } + public function insert() { $this->values['created_by'] = (int)$this->id_user; @@ -241,4 +246,15 @@ class HardwareModel extends Model_Map { } } + public function isDeleted($id) + { + $clean['id'] = (int)$id; + $res = $this->select('hardware.deleted')->where(array('id_hard'=>$clean['id']))->send(); + if ( count($res) > 0 ) + { + return strcmp($res[0]['hardware']['deleted'],'no') === 0 ? false : true; + } + return false; + } + } \ No newline at end of file diff --git a/h-source/Application/Views/Notebooks/page.php b/h-source/Application/Views/Notebooks/page.php index 2af4468..fd8389a 100644 --- a/h-source/Application/Views/Notebooks/page.php +++ b/h-source/Application/Views/Notebooks/page.php @@ -20,7 +20,7 @@ // along with h-source. If not, see . ?> - + action,'view') === 0) ? 'hardware' : 'revisions'; diff --git a/h-source/Application/Views/climb.php b/h-source/Application/Views/climb.php index ff898dc..ffcae52 100644 --- a/h-source/Application/Views/climb.php +++ b/h-source/Application/Views/climb.php @@ -26,7 +26,7 @@
- +
viewStatus;?>" method="POST"> I want to make this revision the current revision:
diff --git a/h-source/Application/Views/differences.php b/h-source/Application/Views/differences.php index 3ec5235..b3bb292 100644 --- a/h-source/Application/Views/differences.php +++ b/h-source/Application/Views/differences.php @@ -21,25 +21,29 @@ ?>
- -
- Notice: the text in red has been deleted from the previous revision, the text in green has been added in this revision and the text in gray has not been changed. -
+ + - $text) { ?> - -
- -
- : +
+ Notice: the text in red has been deleted from the previous revision, the text in green has been added in this revision and the text in gray has not been changed.
- -
- + + $text) { ?> + +
+ +
+ : +
+ +
+ +
+
- -
- + + + - +
diff --git a/h-source/Application/Views/history.php b/h-source/Application/Views/history.php index 55032f0..0dea6a6 100644 --- a/h-source/Application/Views/history.php +++ b/h-source/Application/Views/history.php @@ -20,6 +20,8 @@ // along with h-source. If not, see . ?> + +
    @@ -52,4 +54,10 @@
    : -
    \ No newline at end of file +
+ + + +
+ + \ No newline at end of file diff --git a/h-source/Application/Views/if_page_deleted.php b/h-source/Application/Views/if_page_deleted.php index 2d90632..1e2ab2d 100644 --- a/h-source/Application/Views/if_page_deleted.php +++ b/h-source/Application/Views/if_page_deleted.php @@ -20,7 +20,7 @@ // along with h-source. If not, see . ?> - +
diff --git a/h-source/Application/Views/page.php b/h-source/Application/Views/page.php index 703f401..ef8b3a2 100644 --- a/h-source/Application/Views/page.php +++ b/h-source/Application/Views/page.php @@ -20,7 +20,7 @@ // along with h-source. If not, see . ?> - + action,'view') === 0) ? 'hardware' : 'revisions'; diff --git a/h-source/Application/Views/talk.php b/h-source/Application/Views/talk.php index f578f8e..6197e24 100644 --- a/h-source/Application/Views/talk.php +++ b/h-source/Application/Views/talk.php @@ -29,118 +29,122 @@ }); + + -
- - - - - - -
- -
- - ">hide - - -
- -
- -
- by getUser($message['talk']['created_by']));?>, +
+ + + + + + +
+ +
+ + ">hide + + +
+ +
+ +
+ by getUser($message['talk']['created_by']));?>, +
-
- -
- -
- - - -
-
talk
- ">view details -
+ +
+
- - -
- - - - - -
- this message has been deleted - - ">make visible - + +
talk
- ">view details - -
-
-
- submitted by getUser($message['talk']['created_by']));?>, -
-
- +
+
+ + +
+ + + + + +
+ this message has been deleted + + ">make visible + + +
+
talk
+ + ">view details + +
+
+
+ submitted by getUser($message['talk']['created_by']));?>, +
+
+ +
+
-
-
- - -
+ + +
+ + - + - - -
+
+ + + +
+ + + + +
+
controller."/talk/$lang/$id_hard/$token".$this->viewStatus;?>#form" method="POST"> + +
+ +
+ + +
+ +
+ + +
+ + - - -
- - - - -
- controller."/talk/$lang/$id_hard/$token".$this->viewStatus;?>#form" method="POST"> - -
- -
- - -
- -
- -
- - - -
- + +
-
- - - - + + + + + + \ No newline at end of file diff --git a/h-source/Application/Views/top_left.php b/h-source/Application/Views/top_left.php index 2f67c3d..07f3ad3 100644 --- a/h-source/Application/Views/top_left.php +++ b/h-source/Application/Views/top_left.php @@ -36,7 +36,8 @@ - + + @@ -44,8 +45,7 @@ - - +
controller."/update/$lang/$token".$this->viewStatus;?>" method="POST"> @@ -58,6 +58,8 @@ + + action,'catalogue') === 0) { ?> -- cgit v1.2.3