Bookmarks / Закладки

Lion18

Пользователь
#21
Nul, Поставил.Работает, пока все ок...спасибо.)
Еще добавил ссылку в профиле и в выпадающее меню "Будущие скачки,прошлые и тд"

PHP:
#
#-----[ ОТКРЫТЬ ]------------------------------------------
#

includes/ucp/usercp_viewprofile.php

#
#-----[ НАЙТИ ]------------------------------------------
#
    'USERNAME' => $profiledata['username'],
#
#-----[ ПОСЛЕ ВСТАВИТЬ ]------------------------------------------
#
    // Bookmarks
    'L_BOOK' => $lang['BOOKMARKS'],
    'U_BOOK' => append_sid('bookmarks.php'),
    // Bookmarks [END]
#
#-----[ ОТКРЫТЬ ]------------------------------------------
#

templates/default/usercp_viewprofile.tpl

#
#-----[ НАЙТИ ]------------------------------------------
#
    <a href="{U_MANAGE}">{L_PROFILE}</a> &middot;
#
#-----[ ПЕРЕД ВСТАВИТЬ ]------------------------------------------
#
            <!-- Bookmarks -->
            <a href="{U_BOOK}">{L_BOOK}</a> &middot;
            <!-- Bookmarks [END] -->
#
#-----[ НАЙТИ ]------------------------------------------
#
            <a class="med" href="{U_SEARCH}?dlu={SESSION_USER_ID}&dlw=1">{L_SEARCH_DL_WILL_DOWNLOADS}</a>
#
#-----[ ПОСЛЕ ВСТАВИТЬ ]------------------------------------------
#
            <a class="med" href="{U_BOOK}">{L_BOOK}</a>
 

Lion18

Пользователь
#23
Выскакивает ошибка в логах:

PHP:
[11-Jan-2012 01:12:41] PHP Notice:  Undefined variable: phpbb_script_path in /var/www/***.org/bookmarks.php on line 15
Строчка:
PHP:
    header("Location: " . append_sid($phpbb_script_path . "login.php" . "?redirect=bookmarks.php"));
 
G

Gemini_13

Гость
#25
Что-то не могу понять почему у админа в название кнопки лезет sid. Может кто подскажет в каких краях искать багу? в самом моде ничего не замечено, да и сверялся со старой инструкцией...
 

Вложения

PheRum

Разработчик
#26
Код:
// Bookmarks
if ($userdata['session_logged_in'])
{
    $sql = "SELECT *
        FROM bb_bookmarks
        WHERE user_id = '" . $userdata['user_id'] . "' AND topic_id = '" . intval($topic_id) ."'";
 
    $result = DB()->sql_query($sql);
 
    $num_row = DB()->num_rows($result);
 
    if (intval($num_row) == 0)
    {
        $template->assign_vars(array(
            'U_BOOKMARK' => '<a href="bookmarks.php?t='. $topic_id .'&amp;f='. $forum_id .'&amp;mode=add">'. $lang['add_book'] .'</a>'
        ));
    }
    else
    {
        $template->assign_vars(array(
            'U_BOOKMARK' => '<a href="bookmarks.php?t='. $topic_id .'&amp;f='. $forum_id .'&amp;mode=remove">'. $lang['remove_book'] .'</a>'
        ));
    }
 
}
// Bookmarks [END]
 
G

Gemini_13

Гость
#27
PheRum, спасибо, что ответил. Паралельно нашел ответ. не знал что эта функция делает

append_sid — Подготовка URL к вставке его в шаблон
Функция используется всякий раз, когда вы вставляете ссылку в шаблон, в том числе и в качестве значения атрибута «action» на HTML-форме. Функция определит, нужно ли добавить идентификатор сессии (sid) к URL, чтобы сохранить текущую сессию пользователя, или нет.

------------------------------------------

и вот пара дополнений с тп.инфо

includes\functions_admin.php
Найти:
PHP:
$sql = "
            SELECT topic_id, forum_id, topic_title, topic_status
            FROM ". BB_TOPICS ."
            WHERE topic_id IN($topic_csv)
                $where_sql
        ";
Добавить после:
PHP:
        // Bookmark delete
        $sql2 = "DELETE FROM " . BB_BOOKMARKS . " WHERE topic_id IN ($topic_csv)";
        // Bookmark delete End.
Найти:
PHP:
        foreach (DB()->fetch_rowset($sql) as $row)
        {
            $topic_csv[] = $row['topic_id'];
            $log_topics[] = $row;
            $sync_forums[$row['forum_id']] = true;
        }
Добавить после:
PHP:
        // Bookmark delete
        if ( !DB()->sql_query($sql2) )
        {
            message_die(GENERAL_ERROR, 'Could not delete bookmark', '', __LINE__, __FILE__, $sql);
        }
        unset($sql2);
        // Bookmark delete End.
Найти:
PHP:
    // Update torrents
    DB()->query("
        UPDATE ". BB_BT_TORRENTS ." SET
            forum_id = $to_forum_id
        WHERE topic_id IN($topic_csv)
    ");
Добавить после:
PHP:
    // Update BOOKMARKS
    DB()->query("
        UPDATE ". BB_BOOKMARKS ." SET
            forum_id = $to_forum_id
        WHERE topic_id IN($topic_csv)
    ");
 
Сверху