- 2.1. Загрузите директорию lastusers в /engine/modules/.
- 2.2. Загрузите пиктограмму lastusers.png в директорию /engine/skins/images/.
- 2.3. Загрузите файлы шаблонов lastusers_full.tpl и lastusers_min.tpl в папку используемого шаблона.
- 2.4. Загрузите файл стилей lastusers.css в любую папку и подключите его в main.tpl
- 2.5. Загрузите JS-файл lastusers.js в любую папку и подключите его в main.tpl
- 2.6. Загрузите noavatar.png в папку dleimages используемого шаблона (если отсутствует).
3.1. Правки index.php
Найти:
if (stripos ( $tpl->copy_template, "{custom" ) !== false) {
$tpl->copy_template = preg_replace_callback ( "#\\{custom(.+?)\\}#i", "custom_print", $tpl->copy_template );
}
ниже добавить:
if (stripos($tpl->copy_template, '{lastusers') !== false) $tpl->copy_template = preg_replace_callback("#\\{lastusers(.+?)\\}#i", 'lastusers', $tpl->copy_template);
- NOTE: Если до актуальной версии (2.0) использовались предыдущие (1.0 или 1.1), то в файле index.php необходимо удалить строку:
$tpl->set ( '{lastusers}', $tpl->result['lastusers'] );
3.2. Правки init.php
Найти:
?>
выше добавить:
include_once ENGINE_DIR . '/modules/lastusers/functions.php';
3.3. Правки engine.php
Найти:
switch ( $do ) {
ниже добавить:
case 'lastusers':
include ENGINE_DIR . '/modules/lastusers/lastusers.php';
break;
3.4. Правки .htaccess
Найти:
RewriteRule ^page/(.*)$ index.php?cstart=$1 [L]
ниже добавить:
# Lastusers
RewriteRule ^lastusers(/?)+$ ?do=lastusers [L]
RewriteRule ^lastusers/page/([0-9]+)(/?)+$ ?do=lastusers&page=$1 [L]
3.5. Правки /engine/inc/options.php
Найти:
document.getElementById('smartphone').style.display = "none";
ниже добавить:
document.getElementById('lastusers').style.display = "none";
Далее найти:
<td class=tableborder><a href="javascript:ChangeOption('rss');"><img title="$lang[opt_rsssys]" src="engine/skins/images/rss.gif" border="0"></a>
ниже добавить:
<td class=tableborder><a href="javascript:ChangeOption('lastusers');"><img title="Настройки Lastusers v2.0" src="engine/skins/images/lastusers.png" /></a>
Далее найти:
showRow( $lang['opt_sys_frss'], $lang['opt_sys_frssd'], makeDropDown( array ("0" => $lang['opt_sys_rss_type_2'], "1" => $lang['opt_sys_rss_type_3'], "2" => $lang['opt_sys_rss_type_4'] ), "save_con[rss_format]", "{$config['rss_format']}" ) );
echo "</table></td></tr>";
ниже добваить:
echo <<<HTML
<tr style="display:none" id="lastusers">
<td>
<table width="100%">
<tr>
<td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">Настройки дополнения <b>Lastusers v2.0</b></div></td>
</tr>
</table>
<div class="unterline"></div>
<table width="100%">
HTML;
showRow('Title страницы пользователей:', 'Введите название страницы дополнения. По-умолчанию: "Последние зарегистрированные".', "<input class=\"edit bk\" style=\"width:350px;\" name=\"save_con[lastusers_title]\" value=\"{$config['lastusers_title']}\" placeholder=\"Метатег title для страницы дополнения\" />");
showRow('Description страницы пользователей:', 'По-умолчанию: "Список зарегистрированных пользователей на '. $config['home_title'] .'".', "<input class=\"edit bk\" style=\"width:350px;\" name=\"save_con[lastusers_descr]\" value=\"{$config['lastusers_descr']}\" placeholder=\"Метатег description для страницы дополнения\" />");
showRow('Кол-во записей на страницу:', 'Укажите какое кол-во пользователей отображать на одной странице. По-умолчанию: 10.', "<input class=\"edit bk\" size=\"15\" style=\"text-align:center\" name=\"save_con[lastusers_perpage]\" value=\"{$config['lastusers_perpage']}\" placeholder=\"10\" />");
showRow('Название кнопки "Назад":', 'Если необходимо, то укажите произвольное имя для этой кнопки.', "<input class=\"edit bk\" size=\"15\" style=\"text-align:center\" name=\"save_con[lastusers_next]\" value=\"{$config['lastusers_next']}\" placeholder=\"Вперед\" />");
showRow('Название кнопки "Вперед":', 'Если необходимо, то укажите произвольное имя для этой кнопки.', "<input class=\"edit bk\" size=\"15\" style=\"text-align:center\" name=\"save_con[lastusers_prev]\" value=\"{$config['lastusers_prev']}\" placeholder=\"Назад\" />");
showRow('Формат времени для записей в полном режиме:', 'Укажите формат даты для полного режима. По-умолчанию: "j F Y в H:i".<br /> <a onClick="javascript:Help(\'date\'); return false;" class="main" href="#">'. $lang['opt_sys_and'] .'</a>', "<input class=\"edit bk\" type=text style=\"text-align: center;\" name=\"save_con[lastusers_fulldatemask]\" value=\"{$config['lastusers_fulldatemask']}\" size=40 placeholder=\"j F Y в H:i\" />");
showRow('Формат времени для записей в режиме "блока":', 'Укажите формат даты для режима вывода макросом. По-умолчанию: "j F Y в H:i".<br /> <a onClick="javascript:Help(\'date\'); return false;" class="main" href="#">'. $lang['opt_sys_and'] .'</a>', "<input class=\"edit bk\" type=text style=\"text-align: center;\" name=\"save_con[lastusers_mindatemask]\" value=\"{$config['lastusers_mindatemask']}\" size=40 placeholder=\"j F Y в H:i\" />");
showRow('Запретить индексацию страницы?', 'Если "Да", то на страницу дополнения будет встроен метатег <b>robots</b> с параметрами <b>noindex,nofollow</b>.', makeDropDown(array('0' => 'Нет', '1' => 'Да'), "save_con[lastusers_index]", "{$config['lastusers_index']}"));
echo "</table></td></tr>";
- NOTE: Пункты 3.3 и 3.4 можно пропустить если не нужна отдельная страница с модулем по адресу http://example.com/lastusers
- NOTE: Пункт 3.5 можно пропустить если нет необходимости изменять настройки дополнения в админцентре. 99% настроек связано с отдельной страницей дополнения и никак не влияют на режим вывода макросом.
- 4.1. Назначение макроса
{lastusers *}
, для вывода блока пользователей, полностью переработано. Теперь ему можно задавать параметры и, тем самым, производить более точную выборку пользователей. - 4.2. В полном режиме появилась постраничная навигация, использующая технологию AJAX. Таким образом решается проблема большого кол-ва пользователей, которые ранее выводились на одной странице.
- 4.3. Добавлено четыре новых макроса для использования в шаблонах дополнения.
- 4.4. Добавлена возможность управлять некоторыми настройками из админпанели.
-
- NOTE: Список параметров для макроса
{lastusers *}
: - 5.1.
users="login-1,login-2"
- позволяет вывести в блоке пользователей с логинами login-1 и login-2. - 5.2.
groups="4,1"
- выведет пользователей из групп с ID 4 (пользователей) и 1 (даминистраторов). - NOTE: Следует использовать один из вышеприведенных параметров, т.к. вместе они работать не будут. Если не указать ни один из них, то вместо блока пользователей отобразится соответствующая ошибка.
- 5.3.
cache="yes"
- принимает значения yes или no и влияет на кэширование. - 5.4.
sort="id+"
- влияет на сортировку результатов. Доступные значения для параметра:
5.4.1.name
- по имени пользователя.- 5.4.2.
id
- по ID пользователя. - 5.4.3.
news
- по кол-ву новостей пользователя. - 5.4.4.
comments
- по кол-ву комментариев пользователя. - 5.4.5.
lastvisit
- по дате последнего визита пользователя. - 5.4.6.
random
- в случайном порядке. - 5.4.7.
+
- знак "плюс" в конце значения указывает на то, что записи будут сортироваться от старых к новым. Если опустить этот знак - наоборот. - NOTE: При указании значения random для параметра
sort=""
знак + работать не будет.
- 5.5.
from="10"
- числовое значение указывает на то, с какой позиции начинать выборку. - 5.6.
limit="10"
- числовое значение позволяет регулировать кол-во отображаемых в блоке пользователей. - NOTE: Не указывая дополнению как сортировать пользователей, система сделает это по user_id в порядке убывания.
- NOTE: Несколько примеров строк подключения:
{lastusers groups="1" cache="no" from="0" limit="4" sort="id-"}
{lastusers users="BR0kEN,Malevich" cache="yes" sort="random"}
{lastusers groups="4,3" cache="yes" from="10" limit="10"}
- NOTE: Список параметров для макроса
- 6.1.
[userlink]текст[/userlink]
- выведет гиперссылку на профиль с анкором "текст". - 6.2.
{userphoto}
- выведет ссылку на аватар. - 6.3.
{login}
- выведет логин пользователя. - 6.4.
[online]текст[/online]
- выведет "текст" если пользователь онлайн. - 6.5.
[offline]текст[/offline]
- выведет "текст" если пользователь офлайн. - 6.6.
{registration}
- выведет дату регистрации в формате "01 января 2013 в 00:00". - 6.7.
{lastvisit}
- выведет дату последнего посещения в формате "01 января 2013 в 00:00". - 6.8.
{name}
- выведет имя пользователя если оно заполнено. - 6.9.
[name]текст[/name]
- выведет "текст" если указано имя пользователя. - 6.10.
[not-name]текст[/not-name]
- выведет "текст" если не указано имя пользователя. - 6.11.
{icq}
- выведет номер ICQ если он указан. - 6.12.
[icq]текст[/icq]
- выведет "текст" если указан ICQ номер. - 6.13.
[not-icq]текст[/not-icq]
- выведет "текст" если не указан номер ICQ. - 6.14.
{news}
- выведет количество новостей пользователя. - 6.15.
[news]текст[/news]
- выведет "текст" если у пользователя есть новости. - 6.16.
[not-news]текст[/not-news]
- выведет "текст" если у пользователя нет новостей. - 6.17.
{comments}
- выведет количество комментариев пользователя. - 6.18.
[comments]текст[/comments]
- выведет "текст" если у пользователя есть комментарии. - 6.19.
[not-comments]текст[/not-comments]
- выведет "текст" если у пользователя нет комментариев. -
- NOTE: Если в настройках выключенна поддержка статуса online\offline, то соответствующие макросы и информация в них не отобразятся. Рекомендуется убирать их из шаблона по-ненадобности.
- NOTE: Макросы
[aviable=][/aviable]
могут прнимать значение lastusers:[aviable=lastusers]текст[/aviable]
- выведет "текст" на странице http://example.com/lastusers.
- Lastusers - двухрежимное, кэшируемое расширение для DataLife Engine предназначенное для вывода необходимого кол-ва последних зарегистрированных пользователей.
-
- 7.1. Два независимых режима работы дополнения: отдельная страница и макрос
{lastusers *}
выводящий последних зарегистрированных пользователей в любом месте на любой странице. - 7.2. В режиме отдельной страницы дополнение делает два запроса, один из которых уходит в кэш, а второй выполняеться лишь единожды - при загрузке страницы. Далее, при пагинации, используются быстрые XHR запросы.
- 7.3. При использовании макроса для вывода блока с пользователями система совершает один запрос на который администратор вправе самостоятельно влиять при помощи параметра
cache=""
. - 7.4. В связи с двухрежимностью было предусмотрено два шаблона для визуального отображения результатов.
lastusers_full.tpl
отвечает за вывод на отдельной странице, аlastusers_min.tpl
- за вывод макросом. - 7.5. Предусмотрена возможность вывода разного количества записей для разных режимов.
- 7.6. Полностью независимая структура шаблонов. Макросы предусматривают любые варианты верстки, а CSS классы ни к чему не привязаны. Благодаря этому вы можете создать любой внешний вид результатов.
- 7.7. Дополнение предназначено для любой версии движка, но макросы
[online][/online]
и[offline][/offline]
появились с выходом 9.6, по-этому в более ранних они ряботать не будут. - 7.8. Актуальная версия: 2.0 от 25 марта 2013 года.
- 7.1. Два независимых режима работы дополнения: отдельная страница и макрос
Демонстрация отдельной страницы: http://alexandrmalevich.com/lastusers
Демонстрация блока с настройками: http://alexandrmalevich.com
Пожелания, замечания и багрепорты принимаются на support@firstvector.org