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

class actionAdminWidgetsRowAddNs extends cmsAction {

    public function 
run($col_id){

        
$col $this->model_widgets->getLayoutCol($col_id);
        if (!
$col) { cmsCore::error404(); }

        
$row $this->model_widgets->getLayoutRow($col['row_id']);
        if (!
$row) { cmsCore::error404(); }

        
$row_data = ['template' => $row['template']];

        
$form $this->getSchemeRowForm('add_ns'$row_data$col);

        if (
$this->request->has('title')){

            
$_row $form->parse($this->requesttrue);

            
$errors $form->validate($this$_row);

            if (!
$errors){

                
$_row['parent_id'] = $col['id'];

                
// Для заполнения дефолтными настройками
                
$default_col $this->getSchemeColForm('add'$row)->parse(new cmsRequest([]), false);

                
$this->model_widgets->addLayoutRow($_row$default_col);

                return 
$this->cms_template->renderJSON(array(
                    
'errors' => false,
                    
'redirect_uri' => href_to('admin''widgets').'?template_name='.$row['template']
                ));

            }

            if (
$errors){
                return 
$this->cms_template->renderJSON(array(
                    
'errors' => $errors
                
));
            }

        }

        return 
$this->cms_template->render('widgets_rows', array(
            
'action' => href_to('admin''widgets', ['row_add_ns'$col['id']]),
            
'data'   => $row_data,
            
'form'   => $form,
            
'errors' => false
        
));

    }

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