Phpbb3 - auth api 1

ініціалізація

Для використання методів, що містяться в класі auth. необхідно спочатку визначити метод. Найкраще зробити це на початку вашого скрипта в наступній манері:

Відразу після створення класу ви можете використовувати будь-які методи, які він в собі містить. Майте на увазі, що якщо ви бажаєте використовувати auth_admin. то ви повинні зробити визначення методу окремо, але все в тій же манері.

Нижче перераховані методи, які ви можете використовувати.

Метод acl - це рутинна ініціалізація для всіх функцій acl. Якщо ви хочете викликати будь-acl-метод, то повинні спочатку викликати його. Цей метод має тільки один, але обов'язковий параметр - асоційований масив інформації про користувача, що міститься в БД. Цей масив повинен містити принаймні таку інформацію: user_id, user_permissions і user_type. Метод потрібно використовувати в такий спосіб:

Де userdata - масив, що містить вищезгадані дані.

2.ii. acl_get

Це первинний метод для визначення може або не може користувач призвести дана дія глобально або для окремого форуму. Цей метод використовується в такий спосіб:

Де option - рядок представляє список необхідних дій, наприклад 'f_list', 'm_edit', 'a_adduser' і т.д. Додаючи. перед дією (наприклад, '! f_list') повернутий результат буде інвертований для цього дії. Додатковий параметр цього методу forum - це ціле число виражає forum_id.

Метод повертає позитивне ціле число, коли користувачеві дозволено дію, і нуль, коли заборонено. Або навпаки, якщо перед дією був доданий знак оклику.

Якщо ви визначите можливість дії для форуму, але буде так само існувати і глобальне визначення можливості дії, то цей метод поверне позитивне ціле число в разі, коли можливість дії існує, не має значення для форуму або глобально. Наприклад, можливість дії m_approve може бути встановлена ​​як для окремого форуму, так і глобально. Якщо користувач матиме глобальну можливість дії m_approve, то він автоматично отримає можливість цієї дії в кожному форумі.

Існують спеціальні параметри або прапори. які використовуються як префікси для інших параметрів, наприклад 'f_' або 'm_'. Ці прапори дозволяють об'єднувати кілька параметрів із загальним префіксом і в результаті повертати позитивне ціле число, якщо хоча б один (або декілька) з цих параметрів повертає позитивне ціле число. Локальні установки will result in the flag будуть встановлені тільки локально (таким чином це вимагає повернення id форуму). Якщо користувач має одну (або кілька) глобальних можливостей дії, а всі можливості дії об'єднані префіксом, то метод acl_get поверне позитивне ціле число незалежно від заданого форуму.

2.iii. acl_gets

Цей метод функціонально дуже схожий на acl_get тим, що повертає інформацію про возмоджності виконання дії користувачем. Різниця полягає в можливості перевірити кілька різних параметрів за один крок. Це може бути корисно, щоб перевірити чи є користувач виключно модератори та адміністратори за один виклик. Замість того, що б двічі визначати і перевіряти, використовуючи acl_get.

Метод потрібно використовувати в такий спосіб:

Як і в acl_get як option використовується рядок, що представляє список необхідних для перевірки прав доступу. forum - знову ж таки, ціле число виражає forum_id.

Метод повертає позитивне ціле число, якщо acl_get for one of the options evaluates to a positive integer (combines permissions with OR).

2.iv. acl_getf

Цей метод використовується, щоб визначити в яких форумах користувачеві дозволено або заборонено виконувати будь-яку дію. Цей метод використовується в такий спосіб:

Точно так само як в методі acl_get як option використовується рядок, що представляє список необхідних для перевірки прав доступу (можливе використання. Для заперечення). Другий параметр логічний. If it is set to false this method returns all forums with either zero or a positive integer. If it is set to true only those forums with a positive integer as the result will be returned.

Метод повертає асоціативний масив такого вигляду:

Where option is the option passed to the method and integer is either zero or a positive integer and the same acl_get (option, forum_id) would return.

2.v. acl_getf_global

Цей метод використовується, щоб визначити чи має користувач можливість дії хоча б в одному форумі або глобально. Цей метод схожий на перевірку acl_getf (option, true) повертає один або кілька значень форумів, але діє більш швидко. Його слід використовувати так:

Як і в попередньому методі option - це рядок визначає права, які необхідно перевірити.

Метод повертає нуль або додатне ціле число.

2.vi. acl_cache

3. Функції, використовувані для адміністраторів

A number of additional methods are available related to auth. These handle more basic functions such as adding user and group permissions, new options and clearing the user cache. These methods are contained within a separate class, auth_admin. Вони можуть бути знайдені в файлі includes / acp / auth.php.

To use any methods this class contains it first needs to be instantiated separately from auth. This is achieved in the same way as auth:

Цей метод дає вам доступ і до цього спеціального методу, і до перерахованих вище методів auth.