Вход Регистрация
Файл: system/controllers/moderation/backend/actions/delete_log.php
Строк: 52
<?php

class actionModerationDeleteLog extends cmsAction {

    public function 
run($target_controller = null, $target_subject = null, $target_id = null, $moderator_id = null){

        
$model = cmsCore::getModel('content');

        
$sub_url      = array();
        
$delete_title = '';

        
$model->filterEqual('1', 1);

        
$action = $this->request->get('action', -1);
        
$only_to_delete = $this->request->get('only_to_delete', 0);
        if(
$action > -1){

            
$model->filterEqual('action', $action);

            if(
$only_to_delete){
                
$model->filterNotNull('date_expired');
            }

            
$delete_title = string_lang('LANG_MODERATION_ACTION_'.$action);

        }

        if(!empty(
$target_controller)){

            
$model->filterEqual('target_controller', $target_controller);

            
$sub_url[] = $target_controller;

            if(!empty(
$target_subject)){

                if(
is_numeric($target_subject) && $target_controller == 'content'){
                    
$ctype = $model->getContentType($target_subject);
                    if(
$ctype){
                        
$target_subject = $ctype['name'];
                    }
                } else {
                    
$ctype = $model->getContentTypeByName($target_subject);
                }

                
$model->filterEqual('target_subject', $target_subject);

                
$sub_url[] = $target_subject;

                if(
$ctype){
                    
$delete_title = $ctype['title'];
                }

                if(!empty(
$target_id)){

                    
$model->filterEqual('target_id', $target_id);

                    
$sub_url[] = $target_id;

                    
$model->lockFilters();

                        
$item = $model->getItem('moderators_logs', function ($item, $model){
                            
$item['data'] = cmsModel::yamlToArray($item['data']);
                            return 
$item;
                        });

                        if(
$item){
                            
$delete_title = $item['data']['title'];
                        }

                    
$model->unlockFilters();

                }

            }

        }

        if(!empty(
$moderator_id)){

            
$model->filterEqual('moderator_id', $moderator_id);

            if(
count($sub_url) == 3){
                
$sub_url[] = $moderator_id;
            } elseif(
count($sub_url) == 2){
                
$sub_url[] = 0;
                
$sub_url[] = $moderator_id;
            } elseif(
count($sub_url) == 1){
                
$sub_url[] = 0;
                
$sub_url[] = 0;
                
$sub_url[] = $moderator_id;
            } else {
                
$sub_url[] = 0;
                
$sub_url[] = 0;
                
$sub_url[] = 0;
                
$sub_url[] = $moderator_id;
            }

            
$user = cmsCore::getModel('users')->getuser($moderator_id);

            if(
$user){
                
$delete_title = $user['nickname'];
            }

        }

        
$model->deleteFiltered('moderators_logs');

        if(
$delete_title){
            
cmsUser::addSessionMessage(sprintf(LANG_MODERATION_DELETE_CUSTOM, $delete_title), 'success');
        } else {
            
cmsUser::addSessionMessage(LANG_MODERATION_DELETE_ALL, 'success');
        }

        
$this->redirectToAction('logs');

    }

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