1. PHP / Говнокод #15352

    +130

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    public static function checkUserRights($project, $user, $action, $allowView = false)
        {
    
            $action_id = Actions::getActionIdByName($action);
            $user_role = ProjectsRoles::getUserRoleInProject($project, $user);
    
            if(is_null($user_role))
                HUtils::Exception(403);
    
            $roles = Roles::getRolesOrderedByWeight();
    
            $user_role = $user_role->role;
    
            foreach($roles as $role)
            {
    
                if($role->weight <= $user_role)
                {
                    $user_role -= $role->weight;
                    if(in_array($action_id,HUtils::Parse($role->actions)))
                        return 1;
                }
    
            }
    
            if(!$allowView)
                HUtils::Exception(403);
        }

    Функция проверки прав.

    $allowView в конце функции намекает, что доступ получен не будет. Никогда. Вроде бы.

    Запостил: nulreferense, 04 Марта 2014

    Комментарии (10) RSS

    Добавить комментарий