%PDF- %PDF-
| Direktori : /home/bitrix/www/bitrix/modules/orion.infinitescroll/lang/ru/admin/ |
| Current File : //home/bitrix/www/bitrix/modules/orion.infinitescroll/lang/ru/admin/settings.php |
<?
$MESS['INFSCROLL_PAGE_TITLE'] = 'Бесконечный скроллинг 3.0';
$MESS['INFSCROLL_INFO_TITLE'] = 'Инструкция по настройке';
$MESS['INFSCROLL_INFO_TITLE1'] = 'Настрока шаблона компонента постраничной навигации system.pagenavigation';
$MESS['INFSCROLL_SETTINGS'] = 'Настройка';
$MESS['INFSCROLL_BTN_SAVE'] = 'Сохранить';
$MESS['INFSCROLL_INC_JQUERY'] = 'Подключение библиотеки JQuery';
$MESS['INFSCROLL_INC_JQUERY_1'] = 'Не использовать. Библиотека уже подключена.';
$MESS['INFSCROLL_INC_JQUERY_2'] = 'Использовать встроенную в 1C-Битрикс библиотеку';
$MESS['INFSCROLL_INC_JQUERY_3'] = 'Использовать встроенную в 1C-Битрикс библиотеку';
$MESS['INFSCROLL_INSTRCT_FAST'] = 'Настройка';
$MESS['INFSCROLL_INSTRCT_FAST_TITLE'] = 'Быстрая настройка';
$MESS['INFSCROLL_INSTRCT_FAST_1'] = 'Настройка для таблиц';
$MESS['INFSCROLL_INSTRCT_FAST_1_TITLE'] = 'Быстрая настройка для таблиц';
$MESS['INFSCROLL_INSTRCT_OPTIONS'] = 'Параметры';
$MESS['INFSCROLL_INSTRCT_OPTIONS_TITLE'] = 'Параметры';
$MESS['INFSCROLL_INSTRCT_OPTION_LIST'] = 'Список параметров';
$MESS['INFSCROLL_INSTRCT_OPTION_LIST_TITLE'] = 'Список параметров';
$MESS['INFSCROLL_INSTRCT_AJAX'] = 'Ajax';
$MESS['INFSCROLL_INSTRCT_AJAX_TITLE'] = 'Своя страница обработки Ajax';
$MESS['INFSCROLL_INSTRCT_VER1'] = 'ver 1.x';
$MESS['INFSCROLL_INSTRCT_VER1_TITLE'] = 'Версия 1.x (не использовать)';
/*------------------------------------------------------*/
$MESS['INFSCROLL_INSTRCT_AJAX_TEXT'] = "
Для обработки Ajax запроса можно использовать собственную страницу. Это позволит уменьшить нагрузку на сервер, т.к. будет формироваться не вся страница целиком, а только ее часть - конкретный список.<br/>
<br/>
Для этого в шаблоне в вызове функции COrionInfiniteScroll::SetOptions() укажите параметр self_ajax_url:
<pre><b>
<?
COrionInfiniteScroll::SetOptions(
array( <span class='gray'>//массив параметров</span>
...
'self_ajax_url'=>'/inc/page_ajax.php', <span class='gray'>//путь до страницы</span>
...
),
\$arResult['NAV_RESULT']->NavNum
);
?>
</b></pre>
<br/>
На странице обработки ajax-запроса в начале обязательно пропишите вызов функции COrionInfiniteScroll::ProcessAjaxParams(). Это позволит корректно обработать url-основной страницы и номер постраничной навигации.<br/>
<br/>
У Вас должно получиться следующее:<br/>
<pre>
--------------- пример файла page_ajax.php ----------------------
<?require(\$_SERVER[\"DOCUMENT_ROOT\"].\"/bitrix/modules/main/include/prolog_before.php\");?>
<span style=\"background-color: #84FC84\">
<? COrionInfiniteScroll::ProcessAjaxParams(); ?>
</span>
<?\$APPLICATION->IncludeComponent(\"bitrix:news.list\", \"\", array(
...
),
false
);?>
<?require(\$_SERVER[\"DOCUMENT_ROOT\"].\"/bitrix/modules/main/include/epilog_after.php\");?>
--------------------------------------------------------------------------------
</pre>
Ajax-запрос возвращает данные в html формате с маркерами для вырезания требуемых элементов списка. Как следствие рекомендуется в файле-обработчике ajax-запроса разместить код вызова компонента с шаблоном, где указаны маркеры (см. вкладку \"Настройка\").
";
/*------------------------------------------------------*/
$MESS['INFSCROLL_INSTRCT_OPTION_LIST_TEXT'] = "
<ul>
<li>
<b>btn_more_results</b> - если определен, то подгрузка страниц будет выполнятся по кнопке<br/>
'btn_more_results' => array('label' => 'Надпись на кнопке', 'class' => 'имя класса для кастомизации')<br/>
<br/>
</li>
<li>
<b>in_window</b> - если определен, то вывод списка будет происходить в ограниченной области на странице<br/>
'in_window' => array('id' => 'идентификатор', 'class' => 'имя класса для кастомизации', 'style' => 'стили явно')<br/>
В стилях(style) можно явно указать width, height, position, а можно опредить класс(class) с этими параметрами<br/>
<br/>
</li>
<li>
<b>smooth_scroll</b> - плавный скроллинг при переходе к странице внутри списка<br/>
'smooth_scroll' => (0 | 1) //0-моментально, 1-плавно<br/>
<br/>
</li>
<li>
<b>float_bar_show</b> - отображение плавающей панельки навигации<br/>
'float_bar_show' => (0 | 1) //0-скрыть, 1-показать<br/>
<br/>
</li>
<li>
<b>nav_bar_show</b> - отображение основной навигации<br/>
'nav_bar_show' => (0 | 1) //0-скрыть, 1-показать<br/>
<br/>
</li>
<li>
<b>margin_from_begin</b> - отступ от верхнего блока навигации или от начала списка (сигнал на отображение плавающей панели навигации)<br/>
'margin_from_begin' => 40 //смещение указывается в px
<br/>
<br/>
</li>
<li>
<b>margin_from_end</b> - отступ от конца списка (сигнал на подгрузку новой страницы)<br/>
'margin_from_end' => -100 //смещение указывается в px
<br/>
<br/>
</li>
<li>
<b>margin_from_post</b> - отступ от поста (сигнал на переход на другую страницу)<br/>
'margin_from_post' => -10 //смещение указывается в px
<br/>
<br/>
</li>
<li>
<b>self_ajax_url</b> - url страницы внутри сайта для обработки ajax-запроса<br/>
'self_ajax_url' => '/inc/page_ajax.php'
</li>
</ul>
События:
<ul>
<li>
<b>on_ajax_before</b> - Событие перед ajax-запросом новой страницы<br/>
'on_ajax_before'=> 'имя js-функции'<br/>
Функция принимает 1 параметр - n (номер подгружаемой страницы)
<br/>
<br/>
</li>
<li>
<b>on_ajax_success</b> - Событие при удачном завершении ajax-запроса<br/>
'on_ajax_success'=> 'имя js-функции'<br/>
Функция принимает 2 параметра - data, textStatus
<br/>
<br/>
</li>
<li>
<b>on_ajax_complete</b> - Событие при завершении ajax-запроса и вставки результата на страницу<br/>
'on_ajax_complete'=> 'имя js-функции'<br/>
Функция принимает 2 параметра - XMLHttpRequest, textStatus
<br/>
<br/>
</li>
<li>
<b>on_ajax_error</b> - Событие при неудачном завершении ajax-запроса<br/>
'on_ajax_error'=> 'имя js-функции'<br/>
Функция принимает 3 параметра - XMLHttpRequest, textStatus, errorThrown
<br/>
<br/>
</li>
<li>
<b>on_scroll</b> - Событие возникающее при прокрутке окна<br/>
'on_scroll'=> 'имя js-функции'<br/>
Функция принимает 1 параметр - s (величину скроллинга)
<br/>
<br/>
</li>
<li>
<b>on_page_click_before</b> - Событие возникающее при клике по номеру страницы (перед прокруткой списка до страницы)<br/>
'on_page_click_before'=> 'имя js-функции'<br/>
Функция принимает 1 параметр - n (номер страницы)
<br/>
<br/>
</li>
<li>
<b>on_page_click_after</b> - Событие возникающее при клике по номеру страницы (после прокруткой списка до страницы)<br/>
'on_page_click_after'=> 'имя js-функции'<br/>
Функция принимает 1 параметр - n (номер страницы)
<br/>
<br/>
</li>
</ul>
";
/*------------------------------------------------------*/
$MESS['INFSCROLL_INSTRCT_OPTIONS_TEXT'] = "
Поведением скроллинга на странице можно управлять, задав первичные параметры. <br/>
Для этого в начало шаблона добавьте вызов функции COrionInfiniteScroll::SetOptions():
<pre><b>
<?
COrionInfiniteScroll::SetOptions(
array( <span class='gray'>//массив параметров</span>
...
'btn_more_results'=>array('label' => 'Еще результаты'),
...
),
\$arResult['NAV_RESULT']->NavNum
);
?>
</b></pre>
<br/>
У Вас должно получиться следующее:<br/>
<pre>
--------------- пример файла шаблона компонента news.list ----------------------
<?if(!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED!==true)die();?>
<b>
<?
if(CModule::IncludeModule('orion.infinitescroll')){
<span style=\"background-color: #84FC84\">
COrionInfiniteScroll::SetOptions(
array(
...
'btn_more_results'=>array('label' => 'Еще результаты'),
...
),
\$arResult['NAV_RESULT']->NavNum
);
</span>
\$sBeginMark = COrionInfiniteScroll::GetBeginMark(\$arResult['NAV_RESULT']->NavNum);
\$sEndMark = COrionInfiniteScroll::GetEndMark(\$arResult['NAV_RESULT']->NavNum);
}
?>
</b>
<span class='gray'>здесь блок вывода верхней постраничной навигации</span>
<b><?=\$sBeginMark;?></b>
<span class='gray'>здесь возможно <ul> или <table></span>
<?foreach(\$arResult['ITEMS'] as \$arItem):?>
<span class='gray'>здесь вывод элемента списка</span>
<?endforeach;?>
<span class='gray'>здесь возможно </ul> или </table></span>
<b><?=\$sEndMark;?></b>
<span class='gray'>здесь блок вывода нижней постраничной навигации</span>
--------------------------------------------------------------------------------
</pre>
";
/*------------------------------------------------------*/
$MESS['INFSCROLL_INSTRCT_FAST_TEXT'] = "
После установки модуль добавляет к компоненту постраничной навигации system.pagenavigation шаблоны, адаптированные для организации бесконечного скроллинга.
Наименования шаблонов следующие:
<ol>
<li><a href='/bitrix/admin/fileman_admin.php?lang=ru&path=/bitrix/components/bitrix/system.pagenavigation/templates/scroll2_def/'><b>scroll2_def</b></a> - аналог стандартного .default,</li>
<li><a href='/bitrix/admin/fileman_admin.php?lang=ru&path=/bitrix/components/bitrix/system.pagenavigation/templates/scroll2_arrows/'><b>scroll2_arrows</b></a> - аналог стандартного arrows,</li>
<li><a href='/bitrix/admin/fileman_admin.php?lang=ru&path=/bitrix/components/bitrix/system.pagenavigation/templates/scroll2_arrows_adm/'><b>scroll2_arrows_adm</b></a> - аналог стандартного arrows_adm,</li>
<li><a href='/bitrix/admin/fileman_admin.php?lang=ru&path=/bitrix/components/bitrix/system.pagenavigation/templates/scroll2_modern/'><b>scroll2_modern</b></a> - аналог стандартного modern,</li>
<li><a href='/bitrix/admin/fileman_admin.php?lang=ru&path=/bitrix/components/bitrix/system.pagenavigation/templates/scroll2_orange/'><b>scroll2_orange</b></a> - аналог стандартного orange.</li>
</ol>
<br/>
Последовательность действий (на примере компонента news.list):
<ol>
<li>В параметрах компонента, где предусмотрена постраничная навигация в разделе <b>'Настройки постраничной навигации'</b> <br/>
для параметра <b>'Название шаблона:'</b> укажите один из адаптированных шаблонов (<b>scroll2_*</b>),<br/>
для параметра <b>'Выводить над списком:'</b> поставьте флажек,<br/>
для параметра <b>'Выводить под списком:'</b> снимите флажек.<br/>
</li>
<li>Откройте на редактирование шаблон компонента и внестите в код следующие правки:
<br/>
В начало шаблона разместите код
<pre><b>
<?
if(CModule::IncludeModule('orion.infinitescroll')){
\$sBeginMark = COrionInfiniteScroll::GetBeginMark(\$arResult['NAV_RESULT']->NavNum);
\$sEndMark = COrionInfiniteScroll::GetEndMark(\$arResult['NAV_RESULT']->NavNum);
}
?>
</b></pre>
<br/>
Добавьте строку маркера начала списка <pre><b><?=\$sBeginMark;?></b></pre> перед циклом вывода данных (<b><?foreach(\$arResult['ITEMS'] as \$arItem):?></b>)
и строку маркера конца списка <pre><b><?=\$sEndMark;?></b></pre> после цикла вывода данных (<b><?endforeach;?></b>)
</li>
<li>
Если в цикле вывода данных выводятся элемнеты <li> списка <ul> или строки <tr> таблицы <table>, то строки с маркерами должны располагаться за пределами <ul></ul> и <table></table> соответсвенно
</li>
</ol>
<br/>
У Вас должно получиться следующее:<br/>
<pre>
--------------- пример файла шаблона компонента news.list ----------------------
<?if(!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED!==true)die();?>
<span style=\"background-color: #84FC84\">
<?
if(CModule::IncludeModule('orion.infinitescroll')){
\$sBeginMark = COrionInfiniteScroll::GetBeginMark(\$arResult['NAV_RESULT']->NavNum);
\$sEndMark = COrionInfiniteScroll::GetEndMark(\$arResult['NAV_RESULT']->NavNum);
}
?>
</span>
<span class='gray'>здесь блок вывода верхней постраничной навигации</span>
<span style=\"background-color: #84FC84\"><b><?=\$sBeginMark;?></b></span>
<span class='gray'>здесь возможно <ul> или <table></span>
<?foreach(\$arResult['ITEMS'] as \$arItem):?>
<span class='gray'>здесь вывод элемента списка</span>
<?endforeach;?>
<span class='gray'>здесь возможно </ul> или </table></span>
<span style=\"background-color: #84FC84\"><b><?=\$sEndMark;?></b></span>
<span class='gray'>здесь блок вывода нижней постраничной навигации</span>
--------------------------------------------------------------------------------
</pre>
Все. На данном этапе модуль уже работает.
<br/>
<br/>
";
/*------------------------------------------------------*/
$MESS['INFSCROLL_INSTRCT_FAST_1_TEXT'] = "
После установки модуль добавляет к компоненту постраничной навигации system.pagenavigation шаблоны, адаптированные для организации бесконечного скроллинга.
Наименования шаблонов следующие:
<ol>
<li><a href='/bitrix/admin/fileman_admin.php?lang=ru&path=/bitrix/components/bitrix/system.pagenavigation/templates/scroll2_def/'><b>scroll2_def</b></a> - аналог стандартного .default,</li>
<li><a href='/bitrix/admin/fileman_admin.php?lang=ru&path=/bitrix/components/bitrix/system.pagenavigation/templates/scroll2_arrows/'><b>scroll2_arrows</b></a> - аналог стандартного arrows,</li>
<li><a href='/bitrix/admin/fileman_admin.php?lang=ru&path=/bitrix/components/bitrix/system.pagenavigation/templates/scroll2_arrows_adm/'><b>scroll2_arrows_adm</b></a> - аналог стандартного arrows_adm,</li>
<li><a href='/bitrix/admin/fileman_admin.php?lang=ru&path=/bitrix/components/bitrix/system.pagenavigation/templates/scroll2_modern/'><b>scroll2_modern</b></a> - аналог стандартного modern,</li>
<li><a href='/bitrix/admin/fileman_admin.php?lang=ru&path=/bitrix/components/bitrix/system.pagenavigation/templates/scroll2_orange/'><b>scroll2_orange</b></a> - аналог стандартного orange.</li>
</ol>
<br/>
Последовательность действий (на примере компонента news.list):
<ol>
<li>В параметрах компонента, где предусмотрена постраничная навигация в разделе <b>'Настройки постраничной навигации'</b> <br/>
для параметра <b>'Название шаблона:'</b> укажите один из адаптированных шаблонов (<b>scroll2_*</b>),<br/>
для параметра <b>'Выводить над списком:'</b> поставьте флажек,<br/>
для параметра <b>'Выводить под списком:'</b> снимите флажек.<br/>
<br/>
</li>
<li>Откройте на редактирование шаблон компонента и внестите в код следующие правки:
<br/>
В начало шаблона разместите код
<pre><b>
<?
if(CModule::IncludeModule('orion.infinitescroll')){
\$sTableClassMark = COrionInfiniteScroll::GetTableClassMark(\$arResult['NAV_RESULT']->NavNum);
\$btnMoreResults = COrionInfiniteScroll::GetButtonHtml('Еще результаты', '',
\$arResult['NAV_RESULT']->NavNum);
}
?>
</b></pre>
<br/>
Добавьте класс-маркер <b><?=\$sTableClassMark;?></b> к таблице <table class=\"<b><?=\$sTableClassMark;?></b>\">
<br/><br/>
</li>
<li>
Если вы хотите, чтобы строки таблицы подгружались по нажатию на кнопку, то после таблицы разместите <b><?=\$btnMoreResults?></b>
</li>
</ol>
<br/>
У Вас должно получиться следующее:<br/>
<pre>
--------------- пример файла шаблона компонента news.list c таблицей ----------------------
<?if(!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED!==true)die();?>
<span style=\"background-color: #84FC84\">
<?
if(CModule::IncludeModule('orion.infinitescroll')){
\$sTableClassMark = COrionInfiniteScroll::GetTableClassMark(\$arResult['NAV_RESULT']->NavNum);
\$btnMoreResults = COrionInfiniteScroll::GetButtonHtml('Еще результаты', '',
\$arResult['NAV_RESULT']->NavNum);
}
?>
</span>
<span class='gray'>здесь блок вывода верхней постраничной навигации</span>
<table class=\"<span style=\"background-color: #84FC84\"><b><?=\$sTableClassMark;?></b></span>\">
<span class='gray'>
<tr>
<th>Заголовок</th>
<th>...</th>
<th>Заголовок N</th>
</tr>
</span>
<?foreach(\$arResult['ITEMS'] as \$arItem):?>
<span class='gray'>
<td>Данные элемента</td>
<td>...</td>
<td>Данные элемента</td>
</span>
<?endforeach;?>
</table>
<span class='gray'>при необходимости разместите кнопку</span>
<span style=\"background-color: #84FC84\"><b><?=\$btnMoreResults?></b></span>
<span class='gray'>здесь блок вывода нижней постраничной навигации</span>
--------------------------------------------------------------------------------
</pre>
Все. На данном этапе модуль уже работает.
<br/>
<br/>
";
/*------------------------------------------------------*/
$MESS['INFSCROLL_INSTRUCT_VER1_TEXT'] = "
После установки модуль добавляет к компоненту постраничной навигации system.pagenavigation шаблоны, адаптированные для организации бесконечного скроллинга.
Наименования шаблонов следующие:
<ol>
<li><a href='/bitrix/admin/fileman_admin.php?lang=ru&path=/bitrix/components/bitrix/system.pagenavigation/templates/scroll_def/'><b>scroll_def</b></a> - аналог стандартного .default,</li>
<li><a href='/bitrix/admin/fileman_admin.php?lang=ru&path=/bitrix/components/bitrix/system.pagenavigation/templates/scroll_arrows/'><b>scroll_arrows</b></a> - аналог стандартного arrows,</li>
<li><a href='/bitrix/admin/fileman_admin.php?lang=ru&path=/bitrix/components/bitrix/system.pagenavigation/templates/scroll_arrows_adm/'><b>scroll_arrows_adm</b></a> - аналог стандартного arrows_adm,</li>
<li><a href='/bitrix/admin/fileman_admin.php?lang=ru&path=/bitrix/components/bitrix/system.pagenavigation/templates/scroll_modern/'><b>scroll_modern</b></a> - аналог стандартного modern,</li>
<li><a href='/bitrix/admin/fileman_admin.php?lang=ru&path=/bitrix/components/bitrix/system.pagenavigation/templates/scroll_orange/'><b>scroll_orange</b></a> - аналог стандартного orange.</li>
</ol>
<br/>
Последовательность действий (на примере компонента news.list):
<ol>
<li>В параметрах компонента, где предусмотрена постраничная навигация в разделе <b>'Настройки постраничной навигации'</b> <br/>
для параметра <b>'Название шаблона:'</b> укажите один из адаптированных шаблонов (<b>scroll_*</b>),<br/>
для параметра <b>'Выводить над списком:'</b> поставьте флажек,<br/>
для параметра <b>'Выводить под списком:'</b> снимите флажек.<br/>
</li>
<li>Откройте на редактирование шаблон компонента и внестите в код следующие правки:<br/>
Добавьте строку <b><span class='orion_isp_list_begin'></span></b> перед циклом вывода данных (<b><?foreach(\$arResult['ITEMS'] as \$arItem):?></b>)
и строку <b><span class='orion_isp_list_end'></span></b> после цикла вывода данных (<b><?endforeach;?></b>)
</li>
<li>Для возможности подгружать страницы по клику на кнопке после строки <b><span class='orion_isp_list_end'></span></b> добавьте кнопку с id='orion-isp-btn', например, так <b><a href=\"#\" id='orion-isp-btn'>Еще результаты</a></b>
</li>
</ol>
<br/>
У Вас должно получиться следующее:<br/>
<pre>
--------------- пример файла шаблона компонента news.list ----------------------
<?if(!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED!==true)die();?>
<span class='gray'>здесь блок вывода верхней постраничной навигации</span>
<span style=\"background-color: #84FC84\"><b><span class='orion_isp_list_begin'></span></b></span>
<?foreach(\$arResult['ITEMS'] as \$arItem):?>
<span class='gray'>здесь вывод элемента списка</span>
<?endforeach;?>
<span style=\"background-color: #84FC84\"><b><span class='orion_isp_list_end'></span></b></span>
<span style=\"background-color: yellow\"><a href=\"#\" id='orion-isp-btn'>Еще результаты</a></span>
<span class='gray'>здесь блок вывода нижней постраничной навигации</span>
--------------------------------------------------------------------------------
</pre>
Все. На данном этапе модуль уже работает.
<br/>
<br/>
";
$MESS['INFSCROLL_INSTRUCT_VER1_TEXT1'] = "
<ol>
<li>Содержимое всплывающего блока постраничной навигации польностью идентично выводимому над списком за исключением класса.
Класс плавающего блока <b>'orion-isp-fixed'</b>.
Класс основного блока <b>'orion-isp'</b>.
</li>
<li>Для адаптации кастомизированного шаблона постраничной навигации следует внести следующие правки:
<ol>
<li>обернуть код в блок с классом <b>'orion-isp'</b></li>
<li>внутри блока добавить комментарии :<br/>
в начало блока <b><!--orion_isp_begin : do not edit or remove this comment! --></b> <br/>
в конец блока <b><!--orion_isp_end : do not edit or remove this comment! --></b> <br/>
</li>
<li>в конце шаблона прописать код инициализации</li>
</ol>
</li>
</ol>
<pre>
<?
if(CModule::IncludeModule('orion.infinitescroll'))
COrionInfiniteScroll::Init(\$arResult['NavPageNomer'], \$arResult['NavPageCount'], array(
'PAGEN_NAME'=>'PAGEN_1',
'SHOWALL_NAME'=>'SHOWALL_1',
));
?>
</pre>
У Вас должно получиться следующее:<br/>
<pre>
------ пример файла шаблона scroll_def компонента system.pagenavigation ------
<?if(!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED!==true)die();?>
<b><div class='navigation orion_isp'>
<!--orion_isp_begin : do not edit or remove this comment! --> </b>
<span class='gray'>здесь блок вывода постраничной навигации</span>
<b><!--orion_isp_end : do not edit or remove this comment! -->
</div>
<?
if(CModule::IncludeModule('orion.infinitescroll'))
COrionInfiniteScroll::Init(\$arResult['NavPageNomer'], \$arResult['NavPageCount'], array(
'PAGEN_NAME'=>'PAGEN_1',
'SHOWALL_NAME'=>'SHOWALL_1',
));
?></b>
-------------------------------------------------------------------------------
</pre>
";
?>