Вход Регистрация
Файл: library/XenForo/ControllerAdmin/Permission/UserGroup.php
Строк: 104
<?php

/**
 * Controller to manage user group permissions.
 *
 * @package XenForo_Permissions
 */
class XenForo_ControllerAdmin_Permission_UserGroup extends XenForo_ControllerAdmin_Permission_Abstract
{
    protected function 
_preDispatch($action)
    {
        
parent::_preDispatch($action);
        
$this->assertAdminPermission('userGroup');
    }

    
/**
     * Displays a list of user groups.
     *
     * @return XenForo_ControllerResponse_Abstract
     */
    
public function actionIndex()
    {
        if (
$this->_input->filterSingle('user_group_id', XenForo_Input::UINT))
        {
            return 
$this->responseReroute(__CLASS__, 'edit');
        }

        
$viewParams = array(
            
'userGroups' => $this->getModelFromCache('XenForo_Model_UserGroup')->getAllUserGroups()
        );

        return 
$this->responseView('XenForo_ViewAdmin_Permission_UserGroupList', 'permission_user_group_list', $viewParams);
    }

    
/**
     * Displays a form to edit permissions for a particular user group.
     *
     * @return XenForo_ControllerResponse_Abstract
     */
    
public function actionEdit()
    {
        
$userGroupId = $this->_input->filterSingle('user_group_id', XenForo_Input::UINT);
        
$userGroup = $this->_getValidUserGroupOrError($userGroupId);

        
$permissionModel = $this->_getPermissionModel();

        
$viewParams = array(
            
'userGroup' => $userGroup,
            
'permissions' => $permissionModel->getUserCollectionPermissionsForInterface($userGroup['user_group_id']),
            
'permissionChoices' => $permissionModel->getPermissionChoices('userGroup', false)
        );

        return 
$this->responseView('XenForo_ViewAdmin_Permission_UserGroupEdit', 'permission_user_group_edit', $viewParams);
    }

    
/**
     * Updates permissions for a particular user group.
     *
     * @return XenForo_ControllerResponse_Abstract
     */
    
public function actionSave()
    {
        
$this->_assertPostOnly();

        
$userGroupId = $this->_input->filterSingle('user_group_id', XenForo_Input::UINT);
        
$userGroup = $this->_getValidUserGroupOrError($userGroupId);

        
$permissions = $this->_input->filterSingle('permissions', XenForo_Input::ARRAY_SIMPLE);

        
$this->_getPermissionModel()->updateGlobalPermissionsForUserCollection($permissions, $userGroupId, 0);

        return 
$this->responseRedirect(
            
XenForo_ControllerResponse_Redirect::SUCCESS,
            
XenForo_Link::buildAdminLink('user-group-permissions') . $this->getLastHash($userGroupId)
        );
    }
}
Онлайн: 2
Реклама