diff options
-rw-r--r-- | h-source/Application/Controllers/HistoryController.php | 25 | ||||
-rw-r--r-- | h-source/Application/Controllers/LastController.php | 91 | ||||
-rw-r--r-- | h-source/Application/Controllers/ModeratorsController.php | 68 | ||||
-rw-r--r-- | h-source/Application/Controllers/MyController.php | 2 | ||||
-rw-r--r-- | h-source/Application/Include/languages.php | 10 | ||||
-rw-r--r-- | h-source/Application/Include/myFunctions.php | 33 | ||||
-rw-r--r-- | h-source/Application/Views/Last/modactions.php (renamed from h-source/Application/Views/Moderators/index.php) | 8 | ||||
-rw-r--r-- | h-source/Application/Views/Meet/meet.php | 2 | ||||
-rw-r--r-- | h-source/Application/Views/My/panel.php | 14 | ||||
-rw-r--r-- | h-source/Config/Route.php | 3 | ||||
-rw-r--r-- | h-source/Public/Css/main.css | 14 |
11 files changed, 153 insertions, 117 deletions
diff --git a/h-source/Application/Controllers/HistoryController.php b/h-source/Application/Controllers/HistoryController.php index ac1ab1a..e44ce79 100644 --- a/h-source/Application/Controllers/HistoryController.php +++ b/h-source/Application/Controllers/HistoryController.php @@ -23,6 +23,29 @@ if (!defined('EG')) die('Direct access not allowed!'); class HistoryController extends BaseController { + public static $typeTable = array( + 'message' => 'message', + 'talk' => 'talk', + 'user' => 'user', + 'issue' => 'issue', + 'wiki_talk' => 'wiki talk', + 'page' => 'wiki page', + 'page_del' => 'wiki page', + ); + + public static $actionTable = array( + 'hide' => 'hide', + 'show' => 'show', + 'block' => 'block', + 'unblock' => 'unblock', + 'open' => 'open', + 'close' => 'close', + 'pageblock' => 'block', + 'pageunblock' => 'unblock', + 'pagehide' => 'hide', + 'pageshow' => 'show', + ); + protected $strings = array( 'hide' => array( @@ -157,7 +180,7 @@ class HistoryController extends BaseController 'id_name' => 'id_user', 'field_name' => 'blocked', 'actions' => array('block','unblock'), - 'group' => 'moderator', + 'group' => 'admin', ), diff --git a/h-source/Application/Controllers/LastController.php b/h-source/Application/Controllers/LastController.php index 6fe66a2..2050ea7 100644 --- a/h-source/Application/Controllers/LastController.php +++ b/h-source/Application/Controllers/LastController.php @@ -34,32 +34,89 @@ class LastController extends BaseController $this->setArgKeys(array('page:forceNat'=>1)); } - - public function modifications($lang = 'en') + + protected function last($lang = 'en',$action = 'modifications') { - $this->shift(1); - - $whereClauseArray = array( - 'gr' => 'registered', - 'type' => 'hardware', - ); - - $this->helper('Pages','last/modifications/'.$this->lang,'page'); - + switch ($action) + { + case 'modifications': + $data['title'] = 'last modifications - '.Website::$generalName; + + $whereClauseArray = array( + 'gr' => 'registered', + 'type' => 'hardware', + ); + + $viewFile = 'modifications'; + + break; + case 'modactions': + $data['title'] = 'last moderations - '.Website::$generalName; + $data['viewTitle'] = 'List of actions carried out by moderators'; + $data['user_status'] = 'MODERATOR'; + + $whereClauseArray = array( + 'gr' => 'moderator', + ); + + $viewFile = 'modactions'; + + break; + case 'adminactions': + $data['title'] = 'last admin actions - '.Website::$generalName; + $data['viewTitle'] = 'List of actions carried out by administrators'; + $data['user_status'] = 'ADMINISTRATOR'; + + $whereClauseArray = array( + 'gr' => 'admin', + ); + + $viewFile = 'modactions'; + + break; + } + + $this->helper('Pages','last/'.$this->action.'/'.$this->lang,'page'); + $this->m['HistoryModel']->clear()->select()->where($whereClauseArray)->orderBy('id_history desc'); - + $recordNumber = $this->m['HistoryModel']->rowNumber(); $page = $this->viewArgs['page']; - + $this->m['HistoryModel']->limit = $this->h['Pages']->getLimit($page,$recordNumber,30); - + $data['table'] = $this->m['HistoryModel']->send(); - + $data['pageList'] = $this->h['Pages']->render($page-5,11); - + $this->append($data); - $this->load('modifications'); + $this->load($viewFile); $this->right(); } + public function modifications($lang = 'en') + { + $this->shift(1); + + $this->last($lang = 'en','modifications'); + } + + public function modactions($lang = 'en') + { + $this->shift(1); + + $this->s['registered']->check('moderator'); + + $this->last($lang = 'en','modactions'); + } + + public function adminactions($lang = 'en') + { + $this->shift(1); + + $this->s['registered']->check('admin'); + + $this->last($lang = 'en','adminactions'); + } + }
\ No newline at end of file diff --git a/h-source/Application/Controllers/ModeratorsController.php b/h-source/Application/Controllers/ModeratorsController.php deleted file mode 100644 index 2f4123f..0000000 --- a/h-source/Application/Controllers/ModeratorsController.php +++ /dev/null @@ -1,68 +0,0 @@ -<?php - -// h-source, a web software to build a community of people that want to share their hardware information. -// Copyright (C) 2010 Antonio Gallo (h-source-copyright.txt) -// -// This file is part of h-source -// -// h-source is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// h-source is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with h-source. If not, see <http://www.gnu.org/licenses/>. - -if (!defined('EG')) die('Direct access not allowed!'); - -class ModeratorsController extends BaseController -{ - - public function __construct($model, $controller, $queryString) - { - parent::__construct($model, $controller, $queryString); - - $this->model('HistoryModel'); - - $this->modelName = 'HistoryModel'; - - $data['title'] = 'moderators page - '.Website::$generalName; - $this->append($data); - - $this->setArgKeys(array('page:forceNat'=>1)); - } - - public function actions($lang = 'en') - { - $this->shift(1); - - $this->s['registered']->check('moderator'); - - $whereClauseArray = array( - 'gr' => 'moderator', - ); - - $this->helper('Pages','moderators/actions/'.$this->lang,'page'); - - $this->m['HistoryModel']->clear()->select()->where($whereClauseArray)->orderBy('id_history desc'); - - $recordNumber = $this->m['HistoryModel']->rowNumber(); - $page = $this->viewArgs['page']; - - $this->m['HistoryModel']->limit = $this->h['Pages']->getLimit($page,$recordNumber,30); - - $data['table'] = $this->m['HistoryModel']->send(); - - $data['pageList'] = $this->h['Pages']->render($page-4,8); - - $this->append($data); - $this->load('index'); - $this->right(); - } - -}
\ No newline at end of file diff --git a/h-source/Application/Controllers/MyController.php b/h-source/Application/Controllers/MyController.php index d1e346c..69b8da7 100644 --- a/h-source/Application/Controllers/MyController.php +++ b/h-source/Application/Controllers/MyController.php @@ -50,7 +50,7 @@ class MyController extends BaseController $clean['id_user'] = (int)$this->s['registered']->status['id_user']; $data['username'] = $this->m['UsersModel']->getUser($clean['id_user']); - $data['isBlocked'] = $this->m['UsersModel']->isBlocked($clean['id_user']); + $data['userBlocked'] = $this->m['UsersModel']->isBlocked($clean['id_user']); $this->append($data); $this->load('panel'); diff --git a/h-source/Application/Include/languages.php b/h-source/Application/Include/languages.php index d8e6502..ee4fdcc 100644 --- a/h-source/Application/Include/languages.php +++ b/h-source/Application/Include/languages.php @@ -127,8 +127,7 @@ class Lang "confirm the password" => "conferma la password", "write the code above" => "scrivi il codice mostrato sopra", "write your username" => "scrivi il tuo username", - "watch all the" => "guarda tutte le", - "actions carried out by moderators" => "azioni compiute dai moderatori", + "Watch all the actions carried out by moderators" => "Guarda tutte le azioni compiute dai moderatori", "meet" => "conosci", "Public profile of" => "Profilo pubblico di", "See all the contributions of" => "Guarda tutti i contributi di ", @@ -212,6 +211,7 @@ class Lang "delete the wiki page" => "cancella la pagina", "list of blocked pages" => "lista delle pagine bloccate", "special pages" => "pagine speciali", + "Watch all the actions carried out by administrators" => "Guarda tutte le azioni compiute dagli amministratori" ), 'es' => array ( @@ -307,8 +307,7 @@ class Lang "confirm the password" => "confirme la contraseña", "write the code above" => "escriba el código mostrado superior", "write your username" => "escriba su nombre de usuario", - "watch all the" => "ver todas las", - "actions carried out by moderators" => "acciones efectuadas por los moderadores", + "Watch all the actions carried out by moderators" => "Ver todas las acciones efectuadas por los moderadores", "meet" => "conoce", "Public profile of" => "Perfil público de", "See all the contributions of" => "Ver todas las contribuciones de", @@ -489,8 +488,7 @@ class Lang "confirm the password" => "confirmez le mot de passe", "write the code above" => "écrivez le code si-dessous", "write your username" => "écrivez votre nom d'utilisateur", - "watch all the" => "regardez toutes les", - "actions carried out by moderators" => "actions prises par les modérateurs", + "Watch all the actions carried out by moderators" => "Regardez toutes les actions prises par les modérateurs", "meet" => "rencontrer", "Public profile of" => "Profil public de", "See all the contributions of" => "Voir toute les distributions de", diff --git a/h-source/Application/Include/myFunctions.php b/h-source/Application/Include/myFunctions.php index 9e05ed2..ddbc16f 100644 --- a/h-source/Application/Include/myFunctions.php +++ b/h-source/Application/Include/myFunctions.php @@ -484,7 +484,7 @@ function getHardwareInfoFromTalkId($id = 0) $clean['id'] = (int)$id; $talk = new TalkModel(); $res = $talk->select('hardware.type,hardware.id_hard')->from('hardware inner join talk')->using('id_hard')->where(array('id_talk'=>$clean['id']))->send(); - return $res[0]['hardware']; + return count($res) > 0 ? $res[0]['hardware'] : null; } //get the wiki page info from the talk id @@ -493,7 +493,7 @@ function getWikiPageInfoFromTalkId($id = 0) $clean['id'] = (int)$id; $talk = new WikitalkModel(); $res = $talk->select('wiki.id_wiki')->from('wiki inner join wiki_talk')->using('id_wiki')->where(array('id_talk'=>$clean['id']))->send(); - return $res[0]['wiki']['id_wiki']; + return count($res) > 0 ? $res[0]['wiki']['id_wiki'] : ''; } //get the issue info from the message id @@ -502,7 +502,16 @@ function getIssueNumberFromMessageId($id = 0) $clean['id'] = (int)$id; $mess = new MessagesModel(); $res = $mess->select('issues.id_issue')->from('issues inner join messages')->using('id_issue')->where(array('id_mes'=>$clean['id']))->toList('issues.id_issue')->send(); - return $res[0]; + return count($res) > 0 ? $res[0] : ''; +} + +//get thw wiki name from the id +function getWikiNameFromId($id = 0) +{ + $clean['id'] = (int)$id; + $wiki = new WikiModel(); + $name = $wiki->getTheModelName($clean['id']); + return $name; } //return the URL to the moderated object page @@ -517,8 +526,15 @@ function goToModeratedItem( $row = array() ) break; case 'talk': $hardInfo = getHardwareInfoFromTalkId($row['id']); - $controller = Hardware::$typeToController[$hardInfo['type']]; - $url = $controller.'/talk/'.Lang::$current.'/'.$hardInfo['id_hard'].'#talk-'.$row['id']; + if (isset($hardInfo)) + { + $controller = Hardware::$typeToController[$hardInfo['type']]; + $url = $controller.'/talk/'.Lang::$current.'/'.$hardInfo['id_hard'].'#talk-'.$row['id']; + } + else + { + $url = 'last/modactions/'.Lang::$current; + } break; case 'user': $url = 'meet/user/'.Lang::$current.'/'.getUserName($row['id']); @@ -529,7 +545,12 @@ function goToModeratedItem( $row = array() ) case 'wiki_talk': $url = 'wiki/talk/'.Lang::$current.'/'.getWikiPageInfoFromTalkId($row['id']).'#wiki-talk-'.$row['id']; break; - + case 'page': + $url = 'wiki/page/'.Lang::$current.'/'.encodeUrl(getWikiNameFromId($row['id'])); + break; + case 'page_del': + $url = 'wiki/page/'.Lang::$current.'/'.encodeUrl(getWikiNameFromId($row['id'])); + break; } return 'http://'.DOMAIN_NAME.'/'.$url; } diff --git a/h-source/Application/Views/Moderators/index.php b/h-source/Application/Views/Last/modactions.php index dabbf56..fe50223 100644 --- a/h-source/Application/Views/Moderators/index.php +++ b/h-source/Application/Views/Last/modactions.php @@ -27,13 +27,13 @@ </div> <div class="contrib_explain_box"> - List of actions carried out by moderators + <?php echo $viewTitle; ?> </div> <table class="listTable"> <tr class="listHead"> <td class="simpleText">ACTION ID</td> - <td class="simpleText">MODERATOR</td> + <td class="simpleText"><?php echo $user_status;?></td> <td class="simpleText">ACTION</td> <td class="simpleText">TYPE</td> <td class="simpleText">OBJECT ID</td> @@ -49,10 +49,10 @@ <span class='textItem'><?php echo $u->getUser($row['history']['created_by']);?></span> </td> <td class="simpleText"> - <span class='textItem'><?php echo $row['history']['action'];?></span> + <span class='textItem'><?php echo HistoryController::$actionTable[$row['history']['action']];?></span> </td> <td class="simpleText"> - <span class='textItem'><?php echo $row['history']['type'];?></span> + <span class='textItem'><?php echo HistoryController::$typeTable[$row['history']['type']];?></span> </td> <td class="simpleText"> <span class='textItem'><?php echo $row['history']['id'];?></span> diff --git a/h-source/Application/Views/Meet/meet.php b/h-source/Application/Views/Meet/meet.php index e52ef2a..f0e31b3 100644 --- a/h-source/Application/Views/Meet/meet.php +++ b/h-source/Application/Views/Meet/meet.php @@ -26,7 +26,7 @@ <a href="<?php echo $this->baseUrl."/home/index/$lang";?>">Home</a> » <?php echo gtext("meet");?> <b><?php echo $meet_username;?></b> </div> - <?php if ($ismoderator) { ?> + <?php if ($isadmin) { ?> <div class="moderator_box"> <?php if ($isBlocked) { ?> This user has been blocked diff --git a/h-source/Application/Views/My/panel.php b/h-source/Application/Views/My/panel.php index 30e4d24..babf409 100644 --- a/h-source/Application/Views/My/panel.php +++ b/h-source/Application/Views/My/panel.php @@ -26,19 +26,19 @@ <a href="<?php echo $this->baseUrl."/home/index/$lang";?>">Home</a> » <?php echo gtext("control panel");?> </div> - <?php if ($isBlocked) { ?> + <?php if ($userBlocked) { ?> <div class="moderator_box"> Your account has been blocked by a moderator of the website. You can neither insert/modify devices nor submit new issues or messages until some other moderator un-block your account. </div> <?php } ?> - <?php if ($ismoderator) { ?> - <div class="moderator_panel_link"> - <?php echo gtext("watch all the");?> <a href="<?php echo Url::getRoot('moderators/actions/'.$lang);?>"><?php echo gtext("actions carried out by moderators");?></a> - </div> - <?php } ?> - <ul class='panelApplicationList'> + <?php if ($isadmin) { ?> + <li><a href="<?php echo Url::getRoot('last/adminactions/'.$lang);?>"><?php echo gtext("Watch all the actions carried out by administrators");?></a></li> + <?php } ?> + <?php if ($ismoderator) { ?> + <li><a href="<?php echo Url::getRoot('last/modactions/'.$lang);?>"><?php echo gtext("Watch all the actions carried out by moderators");?></a></li> + <?php } ?> <li><a href="<?php echo Url::getRoot('meet/user/'.$lang.'/'.$username);?>"><?php echo gtext("Watch your public profile");?></a></li> <li><a href="<?php echo Url::getRoot('my/profile/'.$lang.'/'.$token);?>"><?php echo gtext("Edit your profile");?></a></li> <li><a href="<?php echo Url::getRoot('my/email/'.$lang.'/'.$token);?>"><?php echo gtext("Change your e-mail address");?></a></li> diff --git a/h-source/Config/Route.php b/h-source/Config/Route.php index c5c4493..6f25cfa 100644 --- a/h-source/Config/Route.php +++ b/h-source/Config/Route.php @@ -120,7 +120,6 @@ class Route 'threegcards,differences', 'threegcards,climb', 'threegcards,talk', - 'moderators,actions', 'soundcards,catalogue', 'soundcards,view', 'soundcards,history', @@ -140,6 +139,8 @@ class Route 'webcams,climb', 'webcams,talk', 'last,modifications', + 'last,modactions', + 'last,adminactions', 'wiki,insert', 'wiki,update', 'wiki,page', diff --git a/h-source/Public/Css/main.css b/h-source/Public/Css/main.css index 77de30d..f37daf9 100644 --- a/h-source/Public/Css/main.css +++ b/h-source/Public/Css/main.css @@ -850,7 +850,7 @@ ins .panelApplicationList li { display:block; - width:250px; + width:450px; height:30px; margin:5px; padding-top:9px; @@ -1538,14 +1538,18 @@ td.text_item_date { width:25%; } -.moderator_panel_link +.moderator_panel_link, .admin_panel_link { margin:5px; padding:10px; - border:1px solid #ED9F4A; - background:#F6EA99; +/* border:1px solid #ED9F4A; */ +/* background:#F6EA99; */ +} +.admin_panel_link +{ +/* border:1px solid #DA70D6; */ +/* background:#F6EA99; */ } - .noscript_notice { margin:10px 5px; |