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

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