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

class actionAdminUsersGroupPermsSave extends cmsAction {

    public function 
run() {

        
$new_values $this->request->get('value', array());
        
$group_id   $this->request->get('group_id'0);

        if (!
$new_values || !$group_id) {
            
cmsCore::error404();
        }

        
$controllers cmsPermissions::getControllersWithRules();

        
$owners = array();

        foreach (
$controllers as $controller_name) {

            if (!
cmsCore::isControllerExists($controller_name)) {
                continue;
            }

            
$controller cmsCore::getController($controller_name);

            
$subjects $controller->getPermissionsSubjects();
            
$rules    cmsPermissions::getRulesList($controller_name);
            
$values   = array();

            foreach (
$subjects as $subject) {
                
$values[$subject['name']] = cmsPermissions::getPermissions($subject['name']);
            }

            
$owners[$controller_name] = array(
                
'subjects' => $subjects,
                
'rules'    => $rules,
                
'values'   => $values
            
);
        }

        foreach (
$owners as $controller_name => $controller) {
            foreach (
$controller['subjects'] as $subject) {

                
$formatted_values = array();

                foreach (
$controller['rules'] as $rule) {

                    
$value = isset($new_values[$rule['id']][$subject['name']]) ?
                            
$new_values[$rule['id']][$subject['name']] :
                            
null;

                    
$formatted_values[$rule['id']][$group_id] = $value;
                }

                
cmsPermissions::savePermissions($subject['name'], $formatted_values);
            }
        }

        
cmsUser::addSessionMessage(LANG_CP_PERMISSIONS_SUCCESS'success');

        
$this->redirectBack();
    }

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