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

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

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

        
$viewParams = array(
            
'users' => $this->_getPermissionModel()->getUsersWithGlobalUserPermissions()
        );

        return 
$this->responseView('XenForo_ViewAdmin_Permission_UserList''permission_user_list'$viewParams);
    }

    
/**
     * Redirects to the correct page to add permissions for the specified user.
     *
     * @return XenForo_ControllerResponse_Abstract
     */
    
public function actionAdd()
    {
        
$userName $this->_input->filterSingle('username'XenForo_Input::STRING);
        
$user $this->_getUserModel()->getUserByName($userName);
        if (!
$user)
        {
            return 
$this->responseError(new XenForo_Phrase('requested_user_not_found'), 404);
        }

        return 
$this->responseRedirect(
            
XenForo_ControllerResponse_Redirect::RESOURCE_CANONICAL_PERMANENT,
            
XenForo_Link::buildAdminLink('user-permissions'$user)
        );
    }

    
/**
     * Displays a form to edit permissions for a particular user.
     *
     * @return XenForo_ControllerResponse_Abstract
     */
    
public function actionEdit()
    {
        
$userId $this->_input->filterSingle('user_id'XenForo_Input::UINT);
        
$user $this->_getValidUserOrError($userId);

        
$permissionModel $this->_getPermissionModel();

        
$viewParams = array(
            
'user' => $user,
            
'permissions' => $permissionModel->getUserCollectionPermissionsForInterface(0$user['user_id']),
            
'permissionChoices' => $permissionModel->getPermissionChoices('user'false)
        );

        return 
$this->responseView('XenForo_ViewAdmin_Permission_UserEdit''permission_user_edit'$viewParams);
    }

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

        
$userId $this->_input->filterSingle('user_id'XenForo_Input::UINT);
        
$user $this->_getValidUserOrError($userId);

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

        
$this->_getPermissionModel()->updateGlobalPermissionsForUserCollection($permissions0$userId);

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