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

class actionWysiwygsPresetsAdd extends cmsAction {

    public function 
run($id null$is_copy null){

        
$preset = [];

        
$do 'add';

        if(
$id){

            
$do $is_copy 'add' 'edit';

            
$preset $this->model->getPreset($id);

            if (!
$preset) {
                return 
cmsCore::error404();
            }

            if(
$is_copy){
                
$preset['title'] .= ' (1)';
            }

        }

        
$form $this->getForm('preset', array($do));

        if(
$do == 'edit'){

            
$form->hideField('basic''wysiwyg_name');

            
$this->cms_template->setPageH1(ucfirst($preset['wysiwyg_name']));

        }

        
$errors = [];

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

            
$wysiwyg_name $this->request->get('wysiwyg_name''');

            if(!
$wysiwyg_name){
                
$errors['wysiwyg_name'] = ERR_VALIDATE_REQUIRED;
            }

            if (!
$errors){

                
$form_options $this->getWysiwygOptionsForm($wysiwyg_name, [$do]);

                
$structure $form_options->getStructure();

                foreach(
$structure as $key => $fieldset){
                    
$form->addFieldset($fieldset['title'], $key$fieldset);
                }

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

                
$errors $form->validate($this,  $preset);

                if (!
$errors){

                    if(
$do == 'add'){
                        
$this->model->addPreset($preset);
                    } else {
                        
$this->model->updatePreset($id$preset);
                    }

                    
cmsUser::addSessionMessage(LANG_SUCCESS_MSG'success');

                    
$this->redirectToAction('presets');

                }

            }

            if (
$errors){

                if(
$do == 'edit'){
                    
$preset['id'] = $id;
                }

                
cmsUser::addSessionMessage(LANG_FORM_ERRORS'error');
            }

        }

        return 
$this->cms_template->render('backend/preset', array(
            
'do'     => $do,
            
'preset' => $preset,
            
'form'   => $form,
            
'errors' => $errors
        
));

    }

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