Просмотр файла mc-2.7.0/libraries/access.php

Размер файла: 1.69Kb
  1. <?php
  2.  
  3. /**
  4. * MobileCMS
  5. *
  6. * Open source content management system for mobile sites
  7. *
  8. * @author MobileCMS Team <support@mobilecms.pro>
  9. * @copyright Copyright (c) 2011-2019, MobileCMS Team
  10. * @link https://mobilecms.pro Official site
  11. * @license MIT license
  12. */
  13. defined('IN_SYSTEM') or die('<b>403<br />Запрет доступа!</b>');
  14.  
  15. /**
  16. * Простенький класс управления доступом
  17. */
  18. class Access {
  19.  
  20. /**
  21. * Роли и права
  22. */
  23. public $levels = array(
  24. 'admin' => 10,
  25. 'moder' => 8,
  26. 'user' => 5,
  27. 'banned' => 2,
  28. 'guest' => 1,
  29. );
  30.  
  31. /**
  32. * Русские названия ролей
  33. */
  34. public $ru_roles = array(
  35. 'admin' => 'Администратор',
  36. 'moder' => 'Модератор',
  37. 'user' => 'Пользователь',
  38. 'banned' => 'Забаненый',
  39. 'guest' => 'Гость',
  40. );
  41.  
  42. /**
  43. * Назначение прав
  44. */
  45. function set_levels($levels) {
  46. $this->levels = $levels;
  47. }
  48.  
  49. /**
  50. * Получить уровень по роли
  51. */
  52. function get_level($status) {
  53. return $this->levels[$status];
  54. }
  55.  
  56. /**
  57. * Проверка доступа
  58. */
  59. function check_access($level) {
  60. if ($level >= $this->get_level($GLOBALS['USER']['status']))
  61. return TRUE;
  62. return FALSE;
  63. }
  64.  
  65. /**
  66. * Проверка уровня доступа и сообщение об ошибке, если доступ запрещен
  67. */
  68. function check($level) {
  69. if ($level > ACCESS_LEVEL) {
  70. a_error('Доступ запрещен!');
  71. }
  72. }
  73.  
  74. }