Вход Регистрация
Файл: system/controllers/content/hooks/moderation_list.php
Строк: 79
<?php

class onContentModerationList extends cmsAction {

    public function 
run($data){

        list(
$counts$ctype_name$page_url$action) = $data;

        
$ctypes_list array_keys($counts);

        
$ctypes $this->model->filterIn('name'$ctypes_list)->getContentTypesFiltered();
        if(!
$ctypes){ return false; }

        
$ctypes array_collection_to_list($ctypes'name''title');

        
$list_html '';

        if(isset(
$ctypes[$ctype_name])){

            
$ctype $this->model->getContentTypeByName($ctype_name);

            
$this->cms_template->addMenuItems('list_actions_menu'$this->getToolButtons($ctype$action));

            if(
$action == 'index'){
                
$this->model->filterByModeratorTask($this->cms_user->id$ctype_name$this->cms_user->is_admin);
            } else
            if(
$action == 'waiting_list'){

                
$this->model->filterEqual('user_id'$this->cms_user->id);

                
$this->model->filterByModeratorTask($this->cms_user->id$ctype_nametrue);

            } else
            if(
$action == 'draft'){

                
$this->model->filterEqual('user_id'$this->cms_user->id);
                
$this->model->filterEqual('is_approved'0);

                
$this->model->select('IF(t.id IS NULL AND i.is_approved < 1, 1, NULL)''is_draft');

                
$this->model->joinExcludingLeft('moderators_tasks''t''t.item_id''i.id'"t.ctype_name = '{$ctype_name}'");

            }

            
$this->model->disableApprovedFilter()->disablePubFilter()->disablePrivacyFilter()->disableDeleteFilter();

            
$list_html $this->disableCheckListPerm()->setListContext('moderation_list')->renderItemsList($ctype$page_url);

        }

        return array(
            
'name'      => $this->name,
            
'titles'    => $ctypes,
            
'list_html' => $list_html
        
);

    }

    private function 
getToolButtons($ctype$action) {

        
$tool_buttons = array();

        if (
$action == 'index'){
            
$tool_buttons['accept'] = array(
                
'title'   => LANG_MODERATION_APPROVE,
                
'options' => array('class' => 'accept'),
                
'url'     => href_to($ctype['name'], 'approve''{id}')
            );
            
$tool_buttons['edit'] = array(
                
'title'   => sprintf(LANG_CONTENT_EDIT_ITEM$ctype['labels']['create']),
                
'options' => array('class' => 'edit'),
                
'url'     => href_to($ctype['name'], 'edit''{id}')
            );
            
$tool_buttons['return_for_revision'] = array(
                
'title'   => LANG_MODERATION_RETURN_FOR_REVISION,
                
'options' => array('class' => 'return_for_revision ajax-modal'),
                
'url'     => href_to($ctype['name'], 'return_for_revision''{id}')
            );
            
$tool_buttons['refuse'] = array(
                
'title'   => sprintf(LANG_MODERATION_REFUSE$ctype['labels']['create']),
                
'options' => array('class' => 'delete ajax-modal'),
                
'url'     => href_to($ctype['name'], 'delete''{id}').'?csrf_token='.cmsForm::getCSRFToken()
            );
        }

        return 
$tool_buttons;

    }

}
Онлайн: 2
Реклама