• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь Как вывести количество новых ПС в userinfo.tpl ?

stanislavsss

Постоялец
Регистрация
28 Ноя 2012
Сообщения
87
Реакции
3
Уважаемые мастера! Смысл в том, что нужно вывести кликабельную ссылку в профиле пользователя на его входящие сообщения, то есть количество новых ПМ в userinfo.tpl (но чтобы другие пользователи не смогли их просматривать), что-то не могу найти нигде информацию на эту тему. Кто знает какой код нужно прописать? Пытался мудрить с кодом из этого совета: Для просмотра ссылки Войди или Зарегистрируйся , но что-то всё "не о чём"...

Версия Dle 10.1 (Денвер)
 
Последнее редактирование:
Что мешает использовать нечто подобное Для просмотра ссылки Войди или Зарегистрируйся ???
Этот модуль недоработан, пробовал его уже, да и не в этом дело, мне не нужны всплывающие окна и прочие фишки, нужно просто сделать дополнительный пункт количество новых сообщений в профиле пользователя как к примеру сделано вконтакте или в одноклассниках...

Для просмотра ссылки Войди или Зарегистрируйся - список всех тегов данного шаблона. Как видите, о ЛС там ни слова...
Ну да о ЛС там ни слова, так это что получается нет вариантов?

Как то целсофтом недоработан профиль, по идее это вообще должна быть стандартная функция в dle, что бы человек (как и во всех соцсетях) войдя в свой профиль увидел количество новых сообщений с момента его отсутствия на сайте.

stanislavsss, всегда есть вариант - правка кода... Вечером распишу подробнее как, если реально
Посмотрите пожалуйста это правильный вариант? Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование модератором:
Нет, конечно... Там же написано "отключать уведомление"...
 
Написал на скорую руку. Но всё должно работать нормально. Для версии 10.2
В файле engine/modules/profile.php
после или до))) кода
PHP:
    if( $row['icq'] ) {
        $tpl->set( '[icq]', "" );
        $tpl->set( '[/icq]', "" );
        $tpl->set( '{icq}', stripslashes( $row['icq'] ) );
        $tpl->set_block( "'\\[not-icq\\](.*?)\\[/not-icq\\]'si", "" );
    } else {
        $tpl->set_block( "'\\[icq\\](.*?)\\[/icq\\]'si", "" );
        $tpl->set( '{icq}', "" );
        $tpl->set( '[not-icq]', "" );
        $tpl->set( '[/not-icq]', "" );
    }
Вставить
PHP:
    if($member_id['name'] == $user and $member_id['pm_unread']){
        $tpl->set( '[pm_unread]', "" );
        $tpl->set( '[/pm_unread]', "" );
        $tpl->set( '{pm_unread}', intval( $member_id['pm_unread'] ) );
        $tpl->set( '[inbox]', "<a href=\"$PHP_SELF?do=pm\">" );
        $tpl->set( '[/inbox]', "</a>" );
    } else {
        $tpl->set_block( "'\\[pm_unread\\](.*?)\\[/pm_unread\\]'si", "" );
        $tpl->set( '{pm_unread}', "" );
    }
В в шаблоне по дефолту userinfo.tpl
Вставляем перед
<li><span class="grey">ICQ:</span> <b>{icq}</b></li>
или в другом месте, но соответственно отредактировав
[pm_unread]<li><span class="grey">Новых персональных сообщений:</span> <b>[inbox]{pm_unread}[/inbox]</b></li>[/pm_unread]

Есть ещё вариант. Тоже для 10.2
Как следует не проверял, но на первый взгляд всё работает как надо.
В конце файла engine/engine.php добавить строчку

PHP:
if($subaction == 'userinfo' and $member_id['name'] == $user){
    include ENGINE_DIR . '/modules/pm.php';
}
Зашедший на свой профиль, в самом низу увидит все входящие сообщения.
 
Последнее редактирование:
Назад
Сверху