- 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
Пожелания, замечания и багрепорты принимаются на [email protected]


