Главная > Уроки Dle > Пример модуля с использованием API. Вывод информации о зарегистрированных пользователях.
Пример модуля с использованием API. Вывод информации о зарегистрированных пользователях.26-05-2011, 20:31. Разместил: Сергей |
Сегодня я покажу простой пример написания модуля, который будет выводить информацию о зарегистрированных пользователях. Он использует DLE API. Это позволит уменьшить кол-во строк кода, который будет в конкретно этом случае отвечать за получение информации о пользователе из базы. Сразу к делу - вот код модуля. Модуль будет называться "users" Код файла users.php: <? if( ! defined( 'DATALIFEENGINE' ) ) { die( "Hacking attempt!" ); } include_once ('engine/api/api.class.php'); $tpl->result['content'] = dle_cache( "users", $config['skin'] );//пробуем взять значения из кеша if( ! $tpl->result['content'] ) {//если в кеше пусто, $tpl->load_template( 'users.tpl' );//открываем шаблон вывода инфы $row = $db->super_query( "SELECT COUNT(*) as count FROM " . USERPREFIX . "_users" );//получаем кол-во юзеров из БД $stats_users = $row['count']; $toprint=null;//инициализируем переменную, которая будет содержать инфу о пользователях if ($is_logged AND $user_group[$member_id['user_group']]['allow_all_edit']) //даем доступ к просмотру и-мейлов только тем, кто залогинен, и имеет права редактора/админа { $data='<table border="0px" style="border-bottom:1px solid #EEEEEE"><tr><td><b>ID</b></td><td width="150px"><b>Имя:</b></td><td><b>E-mail:</b></td><td><b>регистрация:</b></td></tr>'; for($i=1;$i<=$stats_users;$i++) { $info = $dle_api->take_user_by_id($i);//а вот и использование API. получаем информацию о юзере по его идентификатору. $data=$data.'<tr><td>'.$i.'</td><td>'.$info[name].' </td><td> '.$info[email].'</td><td>'.date("d m y",$info[reg_date]).'</td></tr>';//выводим данные о юзере в } $data=$data.'</table>'; } else//эту инфу могут видеть все остальные { $data='<table border="0px" style="border-bottom:1px solid #EEEEEE"><tr><td><b>ID</b></td><td width="150px"><b>Имя:</b></td><td><b>регистрация:</b></td></tr>'; for($i=1;$i<=$stats_users;$i++) { $info = $dle_api->take_user_by_id($i);//аналогично, используя API получаем инфу о юзерах $data=$data.'<tr><td>'.$i.'</td><td>'.$info[name].' </td><td>'.date("d m y",$info[reg_date]).'</td></tr>'; } $data=$data.'</table>'; } } $tpl->set( '{users}', $data );//заменяем в шаблоне тег "{users}" на информацию, полученную из БД $tpl->compile( 'content' );//"компилируем" информацию из шаблона $tpl->clear();//удаляем мусор create_cache( "users", $tpl->result['content'], $config['skin'] );//создаем кеш ?> * This source code was highlighted with Source Code Highlighter. Этот файл надо положить в папку /engine/modules , и дописать в файле engine/engine.php такие строки: case "users" : include ENGINE_DIR . '/modules/users.php'; break; после такого кода: switch ($do) { Также, требуется создать файл users.tpl в папке текущего шаблона, и поместить в него тег "{users}". Остальное оформление - по вашему вкусу. Модуль вызывается по ссылке http://имя-вашего-сайта/?do=users Вернуться назад |