예제 #1
0
 if (isset($_REQUEST['new_right'])) {
     $_REQUEST['group_rights'] = get_request('group_rights', array());
     foreach ($_REQUEST['new_right'] as $id => $right) {
         $_REQUEST['group_rights'][$id] = array('name' => $right['name'], 'permission' => $right['permission'], 'id' => $id);
     }
 } else {
     if (isset($_REQUEST['save'])) {
         $usrgrp = array('name' => $_REQUEST['gname'], 'users_status' => $_REQUEST['users_status'], 'gui_access' => $_REQUEST['gui_access'], 'api_access' => $_REQUEST['api_access'], 'debug_mode' => $_REQUEST['debug_mode'], 'userids' => get_request('group_users', array()), 'rights' => array_values(get_request('group_rights', array())));
         if (isset($_REQUEST['usrgrpid'])) {
             $action = AUDIT_ACTION_UPDATE;
             $usrgrp['usrgrpid'] = $_REQUEST['usrgrpid'];
             $result = CUserGroup::update($usrgrp);
             show_messages($result, S_GROUP_UPDATED, S_CANNOT_UPDATE_GROUP);
         } else {
             $action = AUDIT_ACTION_ADD;
             $result = CUserGroup::create($usrgrp);
             show_messages($result, S_GROUP_ADDED, S_CANNOT_ADD_GROUP);
         }
         if ($result) {
             add_audit($action, AUDIT_RESOURCE_USER_GROUP, 'Group name [' . $_REQUEST['gname'] . ']');
             unset($_REQUEST['form']);
         }
     } else {
         if (isset($_REQUEST['delete'])) {
             $group = CUserGroup::get(array('usrgrpids' => $_REQUEST['usrgrpid'], 'extendoutput' => 1));
             $group = reset($group);
             $result = CUserGroup::delete($_REQUEST['usrgrpid']);
             show_messages($result, S_GROUP_DELETED, S_CANNOT_DELETE_GROUP);
             if ($result) {
                 add_audit(AUDIT_ACTION_DELETE, AUDIT_RESOURCE_USER_GROUP, 'Group name [' . $group['name'] . ']');
                 unset($_REQUEST['usrgrpid']);