вопрос
как вывести закладки(избранное) пользователя в профиле?
На пример я зашел к пользователю в профиль и захотел увидеть что у него в избранном.
На пример я зашел к пользователю в профиль и захотел увидеть что у него в избранном.
Найдено на просторах интернета. проверено на DLE 9.8
Данный хак позволяет сделать закладки пользователя общедоступными и вывести список закладок пользователя в профиль.
1. Откройте файл ./engine/modules/favorites.php
Найдите:
Замените на:
2. Откройте файл ./engine/modules/profile.php
Найдите:
Добавьте ниже:
3. Откройте файл ./engine/engine.php
Найдите:
Замените на:
4. Откройте файл ./language/Russian/website.lng
Найдите:
Замените на:
5. Откройте шаблон userinfo.tpl
Добавьте в необходмое Вам место:
URL адрес на страницу просмотра закладок пользователя изначально выглядит так:
/index.php?do=favorites&user=Username]http://site.ru/index.php?do=favorites&user=Username
6. Для преобразования URL в ЧПУ ссылку, необходимо открыть файл .htaccess
А в нём найти следующее:
Ниже добавить:
ЧПУ ссылка на страницу просмотра закладок пользователя будет иметь вид:
/user/Username/favorites
Добавлю: Если вы просматриваете закладки какого либо пользоваться, происходит +1 обращение к базе данных...
Если вы смотрите свои закладки дополнительных запросов не происходит.
Авторство утрачено.
Чтобы сделать так, чтобы закладки пользователя по ссылке http://site.ru/user/Username/favorites могли просматривать незарегистрированные пользователи,
необходимо в engine/engine.php найти
и заменить на
(насчет открытия для незареганных не уверен, возможно файл favorites.php становиться уязвимым) ... Поправьте знатоки, если это так
Насколько я понимаю, вопрошающий именно это имел ввиду ?
Данный хак позволяет сделать закладки пользователя общедоступными и вывести список закладок пользователя в профиль.
1. Откройте файл ./engine/modules/favorites.php
Найдите:
$user_query = "do=favorites";
$list = explode(",", $member_id['favorites']);
Замените на:
// Формируем ссылку на страницу с закладками
$user_query = "do=favorites";
$_REQUEST['user'] = $db->safesql($_REQUEST['user']);
if($_REQUEST['user'] == ''){
$list = explode(",", $member_id['favorites']);
}else{
$rows = $db->super_query("SELECT favorites FROM " . USERPREFIX . "_users where name = '$_REQUEST[user]'");
$list = explode(",", $rows['favorites']);
}
// Формируем ссылку на страницу с закладками
2. Откройте файл ./engine/modules/profile.php
Найдите:
$tpl->set('{lastdate}', langdate("j F Y H:i", $row['lastdate']));
Добавьте ниже:
// Ссылка на страницу закладок и подсчет кол-ва избранных новостей
$favorites = explode(",", $row['favorites']);
if ($row['favorites'] != ''){ foreach ($favorites as $favorites) $is++; }else{ $is = 0; }
$tpl->set('{fav_num}', $is);
if ($config['allow_alt_url'] == "yes") {
$tpl->set('{favorites}', "Смотреть все закладки");
}else{
$tpl->set('{favorites}', "Смотреть все закладки");
}
// Ссылка на страницу закладок и подсчет кол-ва избранных новостей
3. Откройте файл ./engine/engine.php
Найдите:
elseif ($do == 'favorites') $nam_e=$lang['title_fav'];
Замените на:
elseif ($do == 'favorites') $nam_e=$lang['title_fav'].' '.$user;
4. Откройте файл ./language/Russian/website.lng
Найдите:
'title_fav' => "Мои закладки",
Замените на:
'title_fav' => "Закладки пользователя",
5. Откройте шаблон userinfo.tpl
Добавьте в необходмое Вам место:
Заладки пользователя: {fav_num} [ {favorites} ]
{fav_num} - Вывод кол-во избранных новостей...
{favorites} - Ссылка на просмотр закладок.
URL адрес на страницу просмотра закладок пользователя изначально выглядит так:
/index.php?do=favorites&user=Username]http://site.ru/index.php?do=favorites&user=Username
6. Для преобразования URL в ЧПУ ссылку, необходимо открыть файл .htaccess
А в нём найти следующее:
RewriteRule ^favorites(/?)+$ index.php?do=favorites [L]
Ниже добавить:
RewriteRule ^user/([^/]*)/favorites(/?)+$ index.php?do=favorites&user=$1 [L]
ЧПУ ссылка на страницу просмотра закладок пользователя будет иметь вид:
/user/Username/favorites
Добавлю: Если вы просматриваете закладки какого либо пользоваться, происходит +1 обращение к базе данных...
Если вы смотрите свои закладки дополнительных запросов не происходит.
Авторство утрачено.
Чтобы сделать так, чтобы закладки пользователя по ссылке http://site.ru/user/Username/favorites могли просматривать незарегистрированные пользователи,
необходимо в engine/engine.php найти
msgbox ( $lang['all_err_1'], $lang['fav_error'] );
и заменить на
include ENGINE_DIR . '/modules/favorites.php';
(насчет открытия для незареганных не уверен, возможно файл favorites.php становиться уязвимым) ... Поправьте знатоки, если это так
Насколько я понимаю, вопрошающий именно это имел ввиду ?