Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Хаки » Вывод аватарки в списке личных сообщений

Вывод аватарки в списке личных сообщений


     09.04.2013    ЛС аватарка    Все вопросы » Хаки    3199

вопрос
Помогите решить проблему: взялся делать для списка личных сообщений вывод аватарки. Частично реализовал: аватарка корректно отображается в исходящих сообщениях, но не работает в входящих.
Вот как я делал

Открываем файл /engine/modules/pm.php
Ищем

    if( $_GET['folder'] == "outbox" ) {

        $lang['pm_from'] = $lang['pm_to'];
        $sql = "SELECT SQL_CALC_FOUND_ROWS id, subj, name as user_from, date, pm_read FROM " . USERPREFIX . "_pm LEFT JOIN " . USERPREFIX . "_users ON " . USERPREFIX . "_pm.user=" . USERPREFIX . "_users.user_id WHERE user_from = '{$member_id['name']}' AND folder = 'outbox' ORDER BY date DESC LIMIT " . $cstart . "," . $pm_per_page;
        $user_query = "do=pm&folder=outbox";

    } else {

        $sql = "SELECT SQL_CALC_FOUND_ROWS id, subj, user_from, date, pm_read, reply FROM " . USERPREFIX . "_pm where user = '{$member_id['user_id']}' AND folder = 'inbox' ORDER BY pm_read ASC, date DESC LIMIT " . $cstart . "," . $pm_per_page;
        $user_query = "do=pm";
    }

Заменяем на

    if( $_GET['folder'] == "outbox" ) {

        $lang['pm_from'] = $lang['pm_to'];
        $sql = "SELECT SQL_CALC_FOUND_ROWS id, subj, foto, text, name as user_from, date, pm_read FROM " . USERPREFIX . "_pm LEFT JOIN " . USERPREFIX . "_users ON " . USERPREFIX . "_pm.user=" . USERPREFIX . "_users.user_id WHERE user_from = '{$member_id['name']}' AND folder = 'outbox' ORDER BY date DESC LIMIT " . $cstart . "," . $pm_per_page;
        $user_query = "do=pm&folder=outbox";

    } else {

        $sql = "SELECT SQL_CALC_FOUND_ROWS id, subj, text, user_from, date, pm_read, reply FROM " . USERPREFIX . "_pm where user = '{$member_id['user_id']}' AND folder = 'inbox' ORDER BY pm_read ASC, date DESC LIMIT " . $cstart . "," . $pm_per_page;
        $user_query = "do=pm";
    }

Ищем
$pmlist .= "<tr><td><img src=\"{$icon}\" border=\"0\" alt=\"\" /></td><td class=\"pm_list\">{$subj}</td><td class=\"pm_list\">{$user_from}</td><td class=\"pm_list\" align=\"center\">" . langdate( "j.m.Y H:i", $row['date'] ) . "</td><td class=\"pm_list\" align=\"center\"><input name=\"selected_pm[]\" value=\"{$row['id']}\" type=\"checkbox\" /></td></tr>";

заменяем на
$pmlist .= "<tr><td><img src=\"{$icon}\" border=\"0\" alt=\"\" /></td><td class=\"pm_list\">{$subj}<br />{$text}</td><td class=\"pm_list\"><img src=\"{$avatar}\" alt=\"\" style=\"display: table;float:left;margin-top:2px;margin-right:5px;margin-bottom:2px;margin-left:2px;width:35px;height:35px;\" /><span style=\"display: table-cell;margin-right:2px;margin-bottom:2px;margin-left:3px;padding-top:12px;\">{$user_from}</span></td><td class=\"pm_list\" align=\"center\">" . langdate( "j.m.Y H:i", $row['date'] ) . "</td><td class=\"pm_list\" align=\"center\"><input name=\"selected_pm[]\" value=\"{$row['id']}\" type=\"checkbox\" /></td></tr>";


Ищем
            $icon = "{THEME}/dleimages/unread.gif";
        
        }


после вставляем
        if( $row['foto'] !== "" ) {
            $avatar = $config['http_home_url'] . "uploads/fotos/" . $row['foto'];
        } else {
            $avatar = $config['http_home_url'] . "templates/" . $config['skin'] . "/dleimages/noavatar.png";
        }

Помогите верно составить запрос для входящих сообщений, пробовал править запрос по аналогии с исходящими сообщениями, но тогда аватарка выводится одна одинаковая у всех. Заранее благодарен!

Ответил: repz4317


The Error returned was: 
Unknown column 'foto' in 'field list'

Выдает чет такой ошибки???

5 комментариев

vitnet
PHP-developer

vitnet - 11 апреля 2013 00:26 -

shadow6630, скоро будет решение

vitnet
PHP-developer

vitnet - 2 февраля 2014 18:41 -

$sql = "SELECT SQL_CALC_FOUND_ROWS id, subj, text, user_from, date, pm_read, reply FROM " . USERPREFIX . "_pm WHERE user = '{$member_id['user_id']}' AND folder = 'inbox' ORDER BY pm_read ASC, date DESC LIMIT " . $cstart . "," . $pm_per_page;

Заменить на
        $sql = "SELECT SQL_CALC_FOUND_ROWS id, subj, text, foto, user_from, date, pm_read, reply FROM " . PREFIX . "_pm pm LEFT JOIN " . USERPREFIX . "_users u ON u.name=pm.user_from WHERE user='{$member_id['user_id']}' AND folder='inbox' ORDER BY pm_read ASC, date DESC LIMIT " . $cstart . "," . $pm_per_page;

repz4317
Юзер

repz4317 - 2 февраля 2014 16:36 -

дамаю могу помощь если надо правда не мастер только учусь))

Yarik
Юзер

Yarik - 28 апреля 2016 13:01 -


подскажите как сделать теги [online][/online] [offline][/offline] в списке личных сообщений

kolumb
Юзер

kolumb - 28 апреля 2016 14:12 -

if ( ($row['lastdate'] + 1200) > $_TIME ) {

        $tpl->set( '[online]', "" );
        $tpl->set( '[/online]', "" );
        $tpl->set_block( "'\\[offline\\](.*?)\\[/offline\\]'si", "" );

    } else {
        $tpl->set( '[offline]', "" );
        $tpl->set( '[/offline]', "" );
        $tpl->set_block( "'\\[online\\](.*?)\\[/online\\]'si", "" );
    }

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

 10.10.2012 lexa21reg  Хаки
наверх