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

/**
 * Permission accessor helper.
 *
 * @package XenForo_Permissions
 */
class XenForo_Permission
{
    
/**
     * Private constructor. Use statically.
     */
    
private function __construct()
    {
    }

    
/**
     * Gets the value (true, false, or int) of the specified permission if it exists.
     * Used for global permissions which have a group and an individual permission.
     *
     * @param array $permissions Grouped permissions ([group][permission] => value)
     * @param string $group Permission group
     * @param string $permission Permission ID
     *
     * @return true|false|int False if the permission isn't found; the value of the permission otherwise
     */
    
public static function hasPermission(array $permissions$group$permission)
    {
        if (isset(
$permissions[$group], $permissions[$group][$permission]))
        {
            return 
$permissions[$group][$permission];
        }
        else
        {
            return 
false;
        }
    }

    
/**
     * Gets the value (true, false, or int) of the specified content permission,
     * if it exists. This differs from {@link hasPermission()} in that there is no group
     * specified. The first dimension has the permissions.
     *
     * If the specified permission exists but is an array, an exception will be thrown.
     *
     * @param array $contentPermissions Format: [permission] => value
     * @param string $permission Permission ID
     *
     * @return true|false|int False if the permission isn't found; the value of the permission otherwise
     */
    
public static function hasContentPermission(array $contentPermissions$permission)
    {
        if (isset(
$contentPermissions[$permission]))
        {
            if (
is_array($contentPermissions[$permission]))
            {
                throw new 
XenForo_Exception('Unexpected sub-array found in content permissions; looks more like global permissions');
            }

            return 
$contentPermissions[$permission];
        }
        else
        {
            return 
false;
        }
    }

    
/**
     * Unserialize permissions from their format in the database to the array format
     * that the other helper functions expect.
     *
     * @param string $permissionString
     *
     * @return array
     */
    
public static function unserializePermissions($permissionString)
    {
        if (
$permissionString && !is_array($permissionString))
        {
            
$permissions unserialize($permissionString);
            if (
is_array($permissions))
            {
                return 
$permissions;
            }
        }

        return array();
    }
}
Онлайн: 1
Реклама