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

class actionContentItemPropsFields extends cmsAction {

    public function 
run() {

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

        
$ctype_name  $this->request->get('ctype_name''');
        
$category_id $this->request->get('category_id'0);
        
$item_id     $this->request->get('item_id'0);
        
$add_cats    $this->request->get('add_cats', []);
        if (
$add_cats){
            foreach(
$add_cats as $index=>$cat_id){
                if (!
is_numeric($cat_id) || !$cat_id){
                    unset(
$add_cats[$index]);
                }
            }
        }

        if (!
$ctype_name || (!$category_id && !$add_cats)) {
            return 
cmsCore::error404();
        }

        
$ctype $this->model->getContentTypeByName($ctype_name);
        if (!
$ctype) {
            return 
cmsCore::error404();
        }

        
$add_cats[] = $category_id;

        
$values $item_id ? ['props' => $this->model->getPropsValues($ctype['name'], $item_id)] : [];

        
$form = new cmsForm();

        
// Добавляется после набора props
        
$form->addFieldset('''props', array(
            
'is_empty' => true,
            
'is_hidden' => true
        
));

        
$form $this->addFormPropsFields($form$ctype$add_cats);

        
// Набор props уже есть в форме, удаляем его тут
        
$form->removeFieldset('props');

        
ob_start();

        
$this->cms_template->renderForm($form$values, [
            
'form_tpl_file' => 'form_fields'
        
]);

        return 
$this->cms_template->renderJSON(array(
            
'success' => true,
            
'html'    => ob_get_clean()
        ));
    }

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