Файл: system/controllers/comments/hooks/moderation_list.php
Строк: 42
<?php
class onCommentsModerationList extends cmsAction {
public function run($data){
list($counts, $ctype_name, $page_url, $action) = $data;
$ctypes_list = array_keys($counts);
$exists = array_search($this->name, $ctypes_list);
if($exists === false){ return false; }
$list_html = ''; $is_moderator = false;
if($ctype_name == $ctypes_list[$exists]){
if($action == 'index'){
$this->model->filterByModeratorTask($this->cms_user->id, $ctype_name, $this->cms_user->is_admin);
$is_moderator = true;
} else
if($action == 'waiting_list'){
$this->model->filterEqual('user_id', $this->cms_user->id);
$this->model->filterByModeratorTask($this->cms_user->id, $ctype_name, true);
}
$this->model->disableApprovedFilter();
$page = $this->cms_core->request->get('page', 1);
$perpage = (empty($this->options['limit']) ? 15 : $this->options['limit']);
$this->model->orderBy('date_pub', 'desc');
$this->model->limitPage($page, $perpage);
cmsEventsManager::hook('comments_list_filter', $this->model);
// Получаем количество и список записей
$total = $this->model->getCommentsCount();
$items = $this->model->getComments();
if(!$items && $page > 1){ cmsCore::error404(); }
$items = cmsEventsManager::hook('comments_before_list', $items);
$list_html = $this->cms_template->renderInternal($this, 'list_moderation', array(
'page_url' => $page_url,
'is_moderator' => $is_moderator,
'page' => $page,
'perpage' => $perpage,
'total' => $total,
'items' => $items,
'user' => $this->cms_user
));
}
return array(
'name' => $this->name,
'titles' => array(
$this->name => LANG_COMMENTS
),
'list_html' => $list_html
);
}
}