Вход Регистрация
Файл: 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();
    }

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