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

class actionContentWidgetFieldsAjax extends cmsAction {

    public function 
run(){

        if (!
$this->request->isAjax() || !cmsUser::isAdmin()){ return cmsCore::error404(); }

        
$ctype_id $this->request->get('value'0);
        if (!
$ctype_id) { return $this->cms_template->renderJSON(['' => '']); }

        
$ctype $this->model->getContentType($ctype_id);
        if (!
$ctype) { return $this->cms_template->renderJSON(['' => '']); }

        
$excluding_filter $this->request->get('excluding_filter', []);

        
$fields $this->model->getContentFields($ctype['name']);

        
$fields cmsEventsManager::hook('ctype_content_fields'$fields);

        
$list = [];

        if (
$fields){
            
$list[] = ['title'=>'''value'=>''];
            foreach(
$fields as $field){
                
$is_continue false;
                if(
$excluding_filter){
                    foreach (
$excluding_filter as $key => $value) {
                        if(!
is_array($value)){
                            if(isset(
$field[$key]) && $field[$key] == $value){
                                
$is_continue true;
                                continue;
                            }
                        } else {
                            foreach (
$value as $_key => $_value) {
                                if(!
$_value && empty($field[$key][$_key])){
                                    
$is_continue true;
                                    continue;
                                }
                                if(isset(
$field[$key][$_key]) && $field[$key][$_key] == $_value){
                                    
$is_continue true;
                                    continue;
                                }
                            }
                        }
                    }
                }
                if(
$is_continue){
                    continue;
                }
                
$list[] = ['title'=>$field['title'], 'value'=>$field['name']];
            }
        }

        return 
$this->cms_template->renderJSON($list);
    }

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