Навигация в личных сообщениях

PheRum

Разработчик
#1
Мод добавляет панель для перехода к пред. или след. сообщению

PHP:
#
#-----[ Открыть ]------------------------------------------
#

privmsg.php

#
#-----[ Найти ]------------------------------------------
#

        default:
            message_die(GENERAL_ERROR, $lang['NO_SUCH_FOLDER']);
            break;
    }

#
#-----[ После добавить ]------------------------------------------
#

    // BEGIN PM Navigation MOD
    if (isset($_GET['view']) && ($_GET['view']=='next' || $_GET['view']=='prev'))
    {
        $sql_condition = ( $_GET['view'] == 'next' ) ? '>' : '<';
        $sql_ordering  = ( $_GET['view'] == 'next' ) ? 'ASC' : 'DESC';

        $sql_nav = "SELECT SQL_CACHE pm.privmsgs_id FROM bb_privmsgs pm, bb_privmsgs p2
            WHERE p2.privmsgs_id = $privmsgs_id
            $pm_sql_user
            AND pm.privmsgs_date $sql_condition p2.privmsgs_date
            ORDER BY pm.privmsgs_date $sql_ordering LIMIT 1" ;

        if ( !($result2 = DB()->sql_query($sql_nav)) )
        {
            message_die(GENERAL_ERROR, 'Could not query private message post information', '', __LINE__, __FILE__, $sql);
        }
        if ( $row = DB()->sql_fetchrow($result2) )
        {
            $privmsgs_id = intval($row['privmsgs_id']);
        }
        else
        {
            $message = ( $_GET['view'] == 'next' ) ? $lang['NO_NEWER_PM'] : $lang['NO_OLDER_PM'];
            $mes = '<b>' . $message . '</b><br /><br />' . sprintf($lang['CLICK_RETURN_INBOX'], '<a href="' . append_sid("privmsg.php?folder=inbox") . '">', '</a> ') . sprintf($lang['CLICK_RETURN_SENTBOX'], '<a href="' . append_sid("privmsg.php?folder=sentbox") . '">', '</a> ') . sprintf($lang['CLICK_RETURN_OUTBOX'], '<a href="' . append_sid("privmsg.php?folder=outbox") . '">', '</a> ') . sprintf($lang['CLICK_RETURN_SAVEBOX'], '<a href="' . append_sid("privmsg.php?folder=savebox") . '">', '</a> ') . '<br /><br />' . sprintf($lang['CLICK_RETURN_INDEX'], '<a href="' . append_sid("index.php") . '">', '</a>');
            message_die(GENERAL_MESSAGE, $mes);
        }
    }
    // END PM Navigation MOD

#
#-----[ Найти ]------------------------------------------
#

        'S_PRIVMSGS_ACTION' => append_sid("privmsg.php?folder=$folder"),

#
#-----[ После добавить ]------------------------------------------
#

        // BEGIN PM Navigation MOD
        'U_PRIVMSG_NEXT' => append_sid("privmsg.php?folder=$folder&mode=$mode&" . POST_POST_URL . "=$privmsgs_id&view=next", true),
        'U_PRIVMSG_PREVIOUS' => append_sid("privmsg.php?folder=$folder&mode=$mode&" . POST_POST_URL . "=$privmsgs_id&view=prev", true),
        // END PM Navigation MOD

#
#-----[ Открыть ]------------------------------------------
#

lang_russian/lang_main.php

#
#-----[ добавить в конец ]------------------------------------------
#

// BEGIN PM Navigation MOD
$lang['NEXT_PRIVMSG'] = 'Следующее сообщение';
$lang['PREVIOUS_PRIVMSG'] = 'Предыдущее сообщение';
$lang['NO_NEWER_PM'] = 'Нет более новых сообщений чем это';
$lang['NO_OLDER_PM'] = 'Нет более старых сообщений чем это';
// END PM Navigation MOD

#
#-----[ Открыть ]------------------------------------------
#

templates/default/privmsgs_read.tpl

#
#-----[ Найти ]------------------------------------------
#

<tr>
    <td colspan="2" class="row4 gen pad_4">
        <div class="post_wrap"><div class="post_body">{PM_MESSAGE}</div></div>
        <div class="clearB tRight">{QUOTE_PM_IMG} {EDIT_PM_IMG} {REPORT_PM_IMG}</div>
    </td>
</tr>

#
#-----[ После добавить ]------------------------------------------
#

<tr>
    <td class="row2" colspan="3" align="center">
        <span class="nav"><a href="{U_PRIVMSG_PREVIOUS}">{L_PREVIOUS_PRIVMSG}</a>&nbsp;&nbsp; ::&nbsp;&nbsp; <a href="{U_PRIVMSG_NEXT}">{L_NEXT_PRIVMSG}</a></span>
    </td>
</tr>

#
#-----[ Сохранить и закрыть всё файлы ]------------------------------------------
#

Please Login or Register to view hidden text.

 
Сверху