Помощь Объединить мод. "друзья" и "стена"

Тема в разделе "DLE", создана пользователем laursen, 27 фев 2012.

Информация :
Актуальная версия DataLife Engine 11.1
( Final Release v.11.1 | Скачать DataLife Engine | Скачать 11.1 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 10.0 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Модераторы: killoff
  1. laursen

    laursen Постоялец

    Регистр.:
    7 мар 2008
    Сообщения:
    104
    Симпатии:
    19
    Здравствуйте, дорогие пользователи!

    Помогите объединить модуль "Друзья 1.5" с модулем "Profile Reviews 1.2 (стена)". А точнее вот что: в модуле "Друзья 1.5" есть такая кнопка - "новости друзей", в ней показываются последние опубликованные новости твоих друзей, то есть идёт вывод с таблицы dle_post. Помогите сделать так, чтобы при нажатии кнопки "новости друзей", выводились последние записи со стены друзей.

    Допустим, у меня в друзьях есть 3 друга, у всех троих на стене были добавлены записи, но я этого не знаю и чтобы не идти к каждому в профиль и смотреть стену, я нажимаю кнопку "новости друзей" и вижу последние записи с их стен.

    То есть в модуле "Друзья 1.5" нужно поменять с вывода последних новостей друзей на вывод последних записей со стены друзей. С таблицы dle_post сменить на dle_user_reviews.

    На стене записи формируются скриптом user.reviews.php. В модуле "Друзья 1.5" за последние новости отвечают файлы friends_feed_include.php и friends_feed.php.
     
  2. laursen

    laursen Постоялец

    Регистр.:
    7 мар 2008
    Сообщения:
    104
    Симпатии:
    19
    В общем вывод "Новости друзей" сделал - выводятся последние записи со стен друзей.
    Но вот проблема появилась: вв-коды отображаются текстом, то есть не парсятся и не преобразовываются.
    Модуль "Стена" заносит в базу текст не html, а с вв-кодами, а в модуле "Друзья" вывод новостей происходит вот так:
    Код:
    $tpl->set( '{short-story}', stripslashes( $row['text'] ) );
    Подскажите пожалуйста, как добавить использование парсера, чтобы из базы брал текст с вв-кодами и преобразовывал их и выводил верно.

    Вот файл вывода новостей друзей, который не парсит вв-коды:
    Код:
    <?php
    
    if( ! defined( 'DATALIFEENGINE' ) ) {
        die( "Hacking attempt!" );
    }
    
        $feed_found = FALSE;
        
        $tpl->load_template( 'friends_feed.tpl' );
    
        $sql_result = $db->query( $sql_select );
        
        while ( $row = $db->get_row( $sql_result ) ) {
            
            $feed_found = TRUE;
            $row['date'] = strtotime( $row['date'] );
            
            // date
            $ho = explode(",", $lang['fr_timeago']);
            
            $time = time() + ($config['date_adjust'] * 60);
            $d = intval($time - $row['date']);
             
            if ($d < 59) $tpl->set( '{date}', $d . $ho[6]); // sec
            elseif ($d < 3540) $tpl->set( '{date}', round($d / 60) . $ho[7]); // min
            elseif ($d < 21600) $tpl->set( '{date}', $ho[round($d / 3600) - 1] . $ho[8]); //hour
            else {
                if( date( 'Ymd', $row['date'] ) == date( 'Ymd', $time ) ) {
                    $tpl->set( '{date}', langdate( $ho[9] . " H:i", $row['date'] ) );
                } elseif( date( 'Ymd', $row['date'] ) == date( 'Ymd', ($time - 86400) ) ) {
                    $tpl->set( '{date}', langdate( $ho[10] . " H:i", $row['date'] ) );
                } else {
                    $tpl->set( '{date}', langdate("j F Y " . $ho[11] . " H:i", $row['date'] ) );
                }
            }
    
            $tpl->copy_template = preg_replace ( "#\{date=(.+?)\}#ie", "langdate('\\1', '{$row['date']}')", $tpl->copy_template );
            
            // user profile link
            if( $config['allow_alt_url'] == "yes" ) $go_page = $config['http_home_url'] . "user/" . urlencode( $row['author'] ) . "/";
            else $go_page = "$PHP_SELF?subaction=userinfo&amp;user=" . urlencode( $row['author'] );
            
            $tpl->set( '{author}', "<a onclick=\"ShowProfile('" . urlencode( $row['author'] ) . "', '" . $go_page . "', '" . $user_group[$member_id['user_group']]['admin_editusers'] . "'); return false;\" href=\"" . $go_page . "\">" . $row['author'] . "</a>" );
            $tpl->set( '[profile]', "<a href=\"" . $go_page . "\">" );
            $tpl->set( '[/profile]', "</a>" );
            $tpl->set( '{login}', $row['author'] );
            
            // avatar
            if( $avatar[$row['author']]['avatar'] ) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $avatar[$row['author']]['avatar'] );
            else $tpl->set( '{foto}', "{THEME}/images/noavatar.png" );
            
            // short story
    
            $tpl->set( '{short-story}', stripslashes( $row['text'] ) );
            $tpl->compile( 'content' );
    
            if( $user_group[$member_id['user_group']]['allow_hide'] ) $tpl->result['content'] = str_ireplace( "[hide]", "", str_ireplace( "[/hide]", "", $tpl->result['content']) );
            else $tpl->result['content'] = preg_replace ( "#\[hide\](.+?)\[/hide\]#ims", "", $tpl->result['content'] );
            
        }
    
    ?>