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

class actionGroupsGroupEdit extends cmsAction {

    public 
$lock_explicit_call true;

    public function 
run($group$do false){

        if(!
$group['access']['is_can_edit']){
            
cmsCore::error404();
        }

        
// если нужно, передаем управление другому экшену
        
if ($do){

            
$this->current_params = array($group) + array_slice($this->params2);

            
$this->runExternalAction('group_edit_'.$do$this->current_params);

            return;

        }

        
$form $this->getGroupForm($group'edit');

        if (!
$group['access']['is_owner'] && !$group['access']['is_moderator']){
            
$form->removeFieldset('group_options');
        }

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

            
$group array_merge($group$form->parse($this->requesttrue$group));

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

            if (!
$errors){

                
$this->model->updateGroup($group['id'], $group);

                
$this->model->fieldsAfterStore($group$this->getGroupsFields());

                
cmsUser::addSessionMessage(LANG_SUCCESS_MSG'success');

                
$group $this->model->getGroup($group['id']);

                
$content cmsCore::getController('content'$this->request);

                
$parents $content->model->getContentTypeParents(null$this->name);

                if(
$parents){
                    
$content->bindItemToParents(array('id' => null'name' => $this->name'controller' => $this->name), $group$parents);
                }

                
$this->redirectToAction($group['slug']);

            }

            if (
$errors){

                
cmsUser::addSessionMessage(LANG_FORM_ERRORS'error');

            }

        }

        
$page_title LANG_GROUPS_EDIT;

        
$this->cms_template->setPageTitle($page_title);

        
$this->cms_template->addBreadcrumb(LANG_GROUPShref_to('groups'));
        
$this->cms_template->addBreadcrumb($group['title'], href_to('groups'$group['id']));
        
$this->cms_template->addBreadcrumb($page_title);

        return 
$this->cms_template->render('group_edit', array(
            
'do'         => 'edit',
            
'is_premoderation' => false,
            
'page_title' => $page_title,
            
'group'      => $group,
            
'form'       => $form,
            
'errors'     => isset($errors) ? $errors false
        
));

    }

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