C помощью данной модификации выводим картинку статуса ICQ в профиле и модальном окне предпросмотра профиля пользователя DLE.
в зависимости от статуса ICQ: ON/OFF меняется цвет логотипа ICQ
Реализация данной функции ввиде HTML-вставки существует давно, теперь подключим её к DLE.
На авторство не претендуем, нас попросили реализовать, мы реализовали при использовании общедоступной HTML-вставки картинки статуса.
Установка элементарна:
Подключаем к профилю:
Открыть engine/modules/profile.php
найти:
$tpl->set( '{icq}', stripslashes( $row['icq'] ) );
и заменить на:
if( $row['icq'] ) $tpl->set( '{icq}', stripslashes( $row['icq'] ) );
else $tpl->set( '{icq}', 'неуказано' );
if( $row['icq'] ) {
$tpl->set_block( "'\\[icq\\](.*?)\\[/icq\\]'si", "\\1" );
$tpl->set( '{icq_stat}', "<img src=http://web.icq.com/whitepages/online?icq=" . stripslashes( $row['icq'] ) . "&img=5/>" );
} else {
$tpl->set_block( "'\\[icq\\](.*?)\\[/icq\\]'si", "" );
}
else $tpl->set( '{icq}', 'неуказано' );
if( $row['icq'] ) {
$tpl->set_block( "'\\[icq\\](.*?)\\[/icq\\]'si", "\\1" );
$tpl->set( '{icq_stat}', "<img src=http://web.icq.com/whitepages/online?icq=" . stripslashes( $row['icq'] ) . "&img=5/>" );
} else {
$tpl->set_block( "'\\[icq\\](.*?)\\[/icq\\]'si", "" );
}
Открыть templates/ваш шаблон/userinfo.tpl (можно через редактор в Админке)
найти примерно следующее(зависит от вашего шаблона и стилей):
<li><span class="prof">ICQ:</span> {icq}</li>
заменить на примерно(зависит от вашего шаблона и стилей):
<li><span class="prof">ICQ:</span> [icq]{icq_stat}[/icq] {icq}</li>
Подключаем к модальному окну предпросмотра профиля(для DLE 9.*):
Открыть engine/ajax/profile.php
найти:
$tpl->set( '{icq}', stripslashes( $row['icq'] ) );
и заменить на:
if( $row['icq'] ) $tpl->set( '{icq}', stripslashes( $row['icq'] ) );
else $tpl->set( '{icq}', 'неуказано' );
if( $row['icq'] ) {
$tpl->set_block( "'\\[icq\\](.*?)\\[/icq\\]'si", "\\1" );
$tpl->set( '{icq_stat}', "<img src=http://web.icq.com/whitepages/online?icq=" . stripslashes( $row['icq'] ) . "&img=5/>" );
} else {
$tpl->set_block( "'\\[icq\\](.*?)\\[/icq\\]'si", "" );
}
else $tpl->set( '{icq}', 'неуказано' );
if( $row['icq'] ) {
$tpl->set_block( "'\\[icq\\](.*?)\\[/icq\\]'si", "\\1" );
$tpl->set( '{icq_stat}', "<img src=http://web.icq.com/whitepages/online?icq=" . stripslashes( $row['icq'] ) . "&img=5/>" );
} else {
$tpl->set_block( "'\\[icq\\](.*?)\\[/icq\\]'si", "" );
}
Открыть templates/ваш шаблон/profile_popup.tpl (можно через редактор в Админке)
найти примерно следующее(зависит от вашего шаблона и стилей):
<li><span class="prof">ICQ:</span> {icq}</li>
заменить на примерно(зависит от вашего шаблона и стилей):
<li><span class="prof">ICQ:</span> [icq]{icq_stat}[/icq] {icq}</li>
если пользователь не указал номер ICQ, об этом выводится сообщение, а не пустое поле
и самое важное для того, чтобы ваш статус отображался на сайте необходимо в настройках программы ICQ на вкладке Приватность должен быть активен чекбокс - Показывать мой статус когда меня ищут или добавляют
Автор Yeti (dlepro.com)