Главная > Уроки Dle > Описание функций DLE API v.0.09 Часть первая
Описание функций DLE API v.0.09 Часть первая26-05-2011, 20:29. Разместил: Сергей |
Давайте рассмотрим набор функция из версии 0.09 Datalife Engine API. Вкратце об API: Интерфейс прикладного программирования (англ. Application Programming Interface, API [эй-пи-ай]; по-русски чаще произносят [апи́]) — набор готовых констант, структур и функций, используемых при программировании пользовательских приложений и обеспечивающих правильное взаимодействие между пользовательским приложением и операционной системой. В данном случае, под Операционной Системой подразумевается движок DLE. Подготовимся к тестированию DLE API: 1) скачаем последнюю версию API (на момент написания статьи она имела номер 0.09) - api.zip [6.3 Kb] (cкачиваний: 49); 2) распакуем его в папку движка так, чтобы файл api.class.php лежал в папке /engine/api/; 3) создадим файл с именем test.php в папке /engine/modules/. В этом файле мы будем проверять разные функции API. Создадим базовую структуру файла по примеру: <? if(!defined('DATALIFEENGINE')) { die("Hacking attempt!"); } include_once(ENGINE_DIR . '/api/api.class.php'); // тут начинается тестовый код // тут заканчивается тестовый код $tpl->result['test']= $test; $tpl->clear(); ?> * This source code was highlighted with Source Code Highlighter. Теперь, переменная $test сможет выводится на экран. 4) подключим этот файл к движку, открыв файл /engine/init.php и добавив строку require_once ENGINE_DIR . '/modules/test.php'; после строчки require_once ENGINE_DIR . '/modules/gzip.php';. 5) добавим в файл index.php строчку $tpl->set ( '{test}', $tpl->result['test'] ); после строки $tpl->load_template ( 'main.tpl' );. Тем самым, мы добились того, что после вставки в шаблон главной страницы тега {test} мы сможем видеть, что выводит наш тестовый модуль. А теперь, давайте пройдемся по функциям DLE API: take_user_by_id ($id, $select_list = "*") - выводит данные о пользователе по его номеру. Обязательный параметр - $id. Он указывает идентификатор пользователя, информацию о котором мы хотим получить. Необязательный параметр - $select_list. Может принимать значения: email - адрес электронной почты password - хеш пароля (спасибо paha за исправление опечатки, тут почти полгода было записано "шех" ) name - имя user_id - номер пользователя news_num - кол-во новостей comm_num - кол-во комментариев user_group - номер группы пользователя lastdate - дата последнего посещения reg_date - дата регистрации banned - является ли за баненным allow_mail - может ли получать сообщения по почте info - его информация "о себе" signature - подпись foto - файл фотографии fullname - полное имя land - страна icq - номер ICQ favorites - список избранного pm_all - сколько имеет ЛС pm_unread - сколько непрочтенных сообщений имеет time_limit xfields allowed_ip hash logged_ip restricted restricted_days restricted_date Пример использования функции (просто скопируйте этот код в файл test.php, вставив его между комментариями о начале тестового кода и о его конце) : $data=$dle_api->take_user_by_id(1); $test=$data['name']; Этот код выведет информацию о имени пользователя с номером 1. Переменная $data является массивом. В этом примере мы обращаемся к ее элементу "name". Мы модем обращаться к любому из элементов, указанных в списке выше. take_user_by_name($name, $select_list = "*") - то же, что и выбор пользовтеля по его номеру, но пользователь выбирается по имени take_user_by_email($email, $select_list = "*") - то же, что и выбор пользовтеля по его номеру, но пользователь выбирается по и-мейлу take_users_by_group ($group, $select_list = "*", $limit = 0) - выбор пользователей из определенной группы. Выводит список всех пользователей из определенной группы. Параметр $limit указывает максимальное число пользователей, которое скрипт может отобразить. Если установленно 0 - возвращает список пользователей группы без ограничений. Пример использования функции (просто скопируйте этот код в файл test.php, вставив его между комментариями о начале тестового кода и о его конце) : $data=$dle_api->take_users_by_group(1); $count=count($data); for ($c=0;$c<=$count;$c++) { $test.=$data[$c]['name'].' '; }Этот код выведет имена всех пользователей группы "1", тоесть администраторов. Вернуться назад |