- Все для CMS | Joomla, Drupal, phpBB, Wordpress, DLE, IPB - http://cmsart.ru -

API для разработки модулей

Posted By Archi On 22.05.2012 @ 8:10 пп In Разработчикам | No Comments

API предназначен для написания модификаций совместимых со старыми и будущими версиями скрипта. В случае использования API для получения данных из базы, вы можете быть уверенными что данный код будет работать и в будущих версиям, тем самым вы облегчается проверка и адаптация кода при выходе новой версии. Также при использовании API вам нет необходимости писать собственные функции для выборки данных, нет необходимости подключать и объявлять необходимые для работы с БД классы. Достаточно просто подключить файл API, и начать использовать его функции, все остальное он берет на себя.

 

Для использования API в своем модуле вы должны его подключить строчкой:

 

include (‘engine/api/api.class.php’);

 

При этом вам нет необходимости задумываться есть ли подключение к БД или нет, подключены или нет необходимые классы. Данный код вы можете использовать как внутри файлов самого скрипта DLE, так и просто в других скриптах, не имеющих отношения к DLE. Тем самым вы можете организовывать стандартизированные интеграции скрипта DLE, с другими скриптами. Например форумами.

 

Список функций API:

 

$dle_api->take_user_by_id( int $id [, string $select_list] );

получение массива с информацией о пользователе по его ID. Необязательный параметр $select_list указывает на перечень полей  БД которые необходимо получить или * для всех. Возвращает массив с информацией о пользователе либо false, если пользователь не найден.

 

$dle_api->take_user_by_name( string $name [, string $select_list]);

получение массива с информацией о пользователе по его логину. Необязательный параметр $select_list указывает на перечень полей  БД которые необходимо получить или * для всех. Возвращает массив с информацией либо false, если пользователь не найден.

 

$dle_api->take_user_by_email( string $email [, string $select_list]);

получение массива с информацией о пользователе по его E-Mail. Необязательный параметр $select_list указывает на перечень полей  БД которые необходимо получить или * для всех. Возвращает массив с информацией либо false, если пользователь не найден.

 

$dle_api->take_users_by_group( int $group_id [, string $select_list [, int $limit]]);

получение массива с информацией о пользователях по номеру группы. Необязательный параметр $select_list указывает на перечень полей  БД которые необходимо получить. Необязательный параметр $limit указывает на лимит количества возращаемых пользователей. Возвращает массив с информацией либо false, если пользователи не найдены.

 

$dle_api->take_users_by_ip( string $ip, [, bool $like [, string $select_list [, int $limit]]]);

Получение списка пользователей по IP, второй параметр $like указывает использовать точное совпадение при поиске, либо неточное. Необязательный параметр $select_list указывает на перечень полей  БД которые необходимо получить. Необязательный параметр $limit указывает на лимит количества возращаемых пользователей. Возвращает массив с информацией либо false, если пользователи не найдены.

 

$dle_api->change_user_name( int $user_id, string $new_name);

Изменение логина пользователя. user_id ID пользователя, логин которого необходимо заменить. new_name новый логин пользователя. Возвращаемые значения: true если успешно выполнено, false если новое имя уже занято другим пользователем.

 

$dle_api->change_user_pass( int $user_id, string $new_pass);

Изменение пароля пользователя. user_id ID пользователя, пароль которого необходимо заменить. new_pass новый пароль пользователя.

 

$dle_api->change_user_email( int $user_id, string $new_email);

Изменение E-Mail пользователя. user_id ID пользователя, E-Mail которого необходимо заменить. new_email новый E-Mail пользователя. Возвращаемые значения: 1 — успешно выполнено, -1 — новый E-Mail уже существует, -2 — некорректный E-mail.

 

$dle_api->change_user_group( int $user_id, int $new_group);

Изменение группы пользователя. user_id ID пользователя, группу которого необходимо заменить. new_group ID новой группы пользователя. Возвращаемые значения: true если успешно выполнено, false если указан ID несуществующей группы.

 

$dle_api->external_auth( string $login, string $password);

Авторизация по логину и паролю. Возвращаемые значения: true — авторизация успешна, false — логин или пароль не верны.

 

$dle_api->external_register( string $login, string $password, string $email, int $group);

Регистрация пользователя в базе данных. В функцию передаются: Логин, Пароль, E-mail и номер группы в которой зарегистрировать пользователя. Возвращаемые значения: 1 — успешно выполнено, -1 — новый логин уже существует, -2 — новый E-Mail уже существует, -3 — некорректный E-Mail,  -4 — задана несуществующая группа.

 

$dle_api->send_pm_to_user ( int $user_id, string $subject, string $text, string $from);

Отправка персонального сообщения пользователю. $user_id ID получателя. $subject тема сообщения. $text текст сообщения. $from логин отправителя. Возвращаемые значения: 1 — успешно выполнено, -1 — получатель не найден, 0 — ошибка БД.

 

$dle_api->load_table ( string $table [, string $fields [, string $where [, bool $multirow [, int $start [, int $limit [, string $sort [, string $sort_order]]]]]]]);

 

Получение информации из таблицы БД.

$table — название таблицы

$fields — необходимые поля через запятую или * для всех

$where — условие выборки

$multirow — забирать ли один ряд или несколько

$start — начальное значение выборки

$limit — количество записей для выборки, 0 — выбрать все

$sort — поле, по которому осуществляется сортировка

$sort_order — направление сортировки

 

Возвращается массив с данными, либо false если в БД по указанным параметрам ничего не найдено.

 

$dle_api->save_to_cache ( string $fname, mixed $vars);

Запись данных в файл кеша. Параметр $fname указывает имя файла кеша без указания его расширения. $vars — данные для записи в кеш.

 

$dle_api->load_from_cache ( string $fname,  [, int $timeout [, string $type]]);

Чтение данных из файла кеша. Параметр $fname указывает имя файла кеша без указания его расширения. Необязательный параметр $timeout указывает количество секунд, в течении которых информацию из кеша считать актуальной. Если файл кеша будет устаревшим, то функция возвращает false.   Необязательный параметр $type указывает на тип данных который хранится в кеше,  если не ‘text’ — считаем, что хранился массив и возвращается массив данных.

 

$dle_api->clean_cache (  [string $name] );

Удаление кеша. Необязательный параметр $name указывает на конкретное имя файла без расширения который нужно удалить

 

$dle_api->get_cached_files();

Получение массива содержащего названия файлов кеша.

 

$dle_api->edit_config ( mixed $key,  [, string $new_value]);

Изменение и сохранение настроек скрипта.

 

Параметр  $key string или array

string: Название параметра

array: ассоциативный массив параметров

 

Параметр $new_value — значение параметра. Не используется, если $key массив

 

$dle_api->take_news ( string $cat,  [, string $fields [, int $start [, int $limit [, string $sort [, string $sort_order]]]]]);

Получение новостей

$cat  - категории новостей, через запятую

$fields — перечень получаемых полей новостей или * для всех

$start  - начальное значение выборки

$limit — количество новостей для выборки, 0 — выбрать все новости

$sort — поле, по которому осуществляется сортировка

$sort_order — направление сортировки

 

Возвращает ассоциативный 2-х мерный массив с новостями

 

$dle_api->checkGroup ( int $group );

Проверяет существует ли указанная группа или нет. Возвращаемые значения: true если группа существует, false если группа не существует.

 

$dle_api->install_admin_module ( string $name, string $title, string $descr, string $icon [, string $perm] );

Установка стороннего модуля в админпанель скрипта.

 

$name — название модуля, а именно файла .php находящегося в папке engine/inc/, но без расширения файла

$title — заголовок модуля

$descr — описание модуля

$icon — имя иконки для модуля, без указания пути. Иконка обязательно при этом должна находится в папке engine/skins/images/

$perm — информация о группах которым разрешен показ данного модуля. Данное поле может принимать следующие значения: all или ID групп через запятую. Например: 1,2,3. если указано значение all то модуль будет показываться всем пользователям имеющим доступ в админпанель

 

$dle_api->uninstall_admin_module ( string $name );

Удаление стороннего модуля из админпанели скрипта.

 

$name — название удаляемого модуля

 

$dle_api->change_admin_module_perms ( string $name, string $perm );

Изменение группы пользователей которым разрешен показ стороннего модуля в админпанели скрипта.

 

$name — название модуля

$perm — информация о группах которым разрешен показ данного модуля. Данное поле может принимать следующие значения: all или ID групп через запятую. Например: 1,2,3. если указано значение all то модуль будет показываться всем пользователям имеющим доступ в админпанель

 

 

Разработка полноценного API, только начата и на данный момент API имеет пока ограниченный набор функций. Поэтому мы просим всех заинтересованных в данном API разработчиков посетить специально созданную для этого тему на форуме [1] и оставить свои пожелания о том какие новые функции вы хотите видеть в новых версиях. Потому что только опираясь на ваши потребности можно создать полноценный API, охватывающий все аспекты взаимодействия с скриптом.

Источник:  dle-news.ru [2]


Article printed from Все для CMS | Joomla, Drupal, phpBB, Wordpress, DLE, IPB: http://cmsart.ru

URL to article: http://cmsart.ru/dle/dle-docs/dle-docs-dev/api-dlya-razrabotki-moduley

URLs in this post:

[1] специально созданную для этого тему на форуме: http://cmsart.ru/goto/http://forum.dle-news.ru/index.php?showtopic=45367

[2] dle-news.ru: http://cmsart.ru/?goto=http%3A%2F%2Fdle-news.ru

Copyright © 2012 Поддержка CMS | Документация, статьи по Joomla, Drupal, phpBB. All rights reserved.