Выбор количества новостей пользователем » Всё для dle, полезные программы, интересные фильмы
Лучшие фильмы Лучшие фильмы
Голосуем!! Опросец
Нужны ли прямые ссылки на скачивание в новостях?

какой вопрос!конечно!
нет, не нужно!
только раздел с музыкой!
только раздел с фильмами!
только программы!

Кино новинки Кино новинки

Выбор количества новостей пользователем

 (голосов: 0)
Автор: admin | 4-07-2012, 01:37 | Просмотров: 317 | DLE

Выбор количества новостей пользователем



Понадобилось для одного проекта сделать чтобы пользователь сам выбирал число новостей на главной странице и в категориях. Так как готовых решений не нашел (может плохо искал) написал свой хак.

 

Внимание!!! +1 запрос к базе даных

Сделать запрос к базе даных

ALTER TABLE `dle_users` ADD `news_number` SMALLINT( 5 ) NOT NULL DEFAULT '0';

В engine/engine.php после
if ($user_group[$member_id['user_group']]['allow_short']) $stop_list = "";

добавить

$user_news = $db->super_query( "SELECT news_number FROM ". PREFIX . "_users WHERE user_id =".$member_id['user_id']);
        if ($user_news['news_number']) $config['news_number'] = $user_news['news_number'];

В engine/modules/profile.php после
$land = $db->safesql( $parse->process( $_POST['land'] ) );

вставить
$news_number_users = $db->safesql( $parse->process( $_POST['news_number_users'] ) );
if (!$news_number_users) $news_number_users=0; 
if (!is_numeric ($news_number_users)) $news_number_users=0; //защита от дурака

вместо
$sql_user = "UPDATE " . USERPREFIX . "_users set fullname='$fullname', land='$land', icq='$icq',{$mailchange} info='$info', signature='$signature', password='$password1', allow_mail='$allow_mail', xfields='$filecontents', allowed_ip='$allowed_ip' WHERE user_id = '{$id}'";

вставить
$sql_user = "UPDATE " . USERPREFIX . "_users set fullname='$fullname', land='$land', icq='$icq',{$mailchange} info='$info', signature='$signature', password='$password1', allow_mail='$allow_mail', xfields='$filecontents', allowed_ip='$allowed_ip', news_number='$news_number_users' WHERE user_id = '{$id}'";

вместо
$sql_user = "UPDATE " . USERPREFIX . "_users set fullname='$fullname', land='$land', icq='$icq',{$mailchange} info='$info', signature='$signature', allow_mail='$allow_mail', xfields='$filecontents', allowed_ip='$allowed_ip' WHERE user_id = '{$id}'";

вставить
$sql_user = "UPDATE " . USERPREFIX . "_users set fullname='$fullname', land='$land', icq='$icq',{$mailchange} info='$info', signature='$signature', allow_mail='$allow_mail', xfields='$filecontents', allowed_ip='$allowed_ip', news_number='$news_number_users' WHERE user_id = '{$id}'";

после
$tpl->set( '{editinfo}', $parse->decodeBBCodes( $row['info'], false ) );

вставить
if ($row['news_number']==0) $tpl->set( '{news_number_users}', "" );
    else $tpl->set( '{news_number_users}', $row['news_number'] );

В templates/Ваш_шаблон/userinfo.tpl в нужном месте вставить
<input type="text" name="news_number_users" value="{news_number_users}">


Что не реализовано в хаке (не добавлял по ненадобности):
1. Нет возможности отключить хак через админ панель
2. Нет возможности администратору редактирувать через админ панель число новостей у каждого юзера

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Прочтите также эти статьи:
Выбор количества новостей пользовательом Выбор количества новостей пользовательом
Понадобилось для одного проекта сделать чтобы пользователь сам выбирал число новостей на главной странице и в категориях. Так как готовых решений не нашел (может плохо искал) написал свой хак.

Dle Online v0.1 Final (cp1251/utf-8) Dle Online v0.1 Final (cp1251/utf-8)
Модуль Online позволяет выводить на вашем сайте блок с информацией о пользователях сайта, гостях, роботах.В данном блоке вы сможете увидеть IP адрес, Proxy, страну, город, ОС, браузер, группу пользователя, последний визит на сайт, местонахождение на сай ... Читать

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

Aztec Tribe: New Land - полная версия Aztec Tribe: New Land - полная версия
Некогда процветающее и счастливое племя ацтеков попало в невероятную беду! Не оставляйте людей своего племени и приложите все усилия, чтобы найти путь к новой жизни! Вам предстоит открывать новые земли, где воцарится невероятное счастье! Начните жизнь с ч ... Читать

Земля вампиров / Stake Land (2010/HDRip) Земля вампиров / Stake Land (2010/HDRip)
Когда города и села большой страны начали разрушаться и ветшать, на них обрушилась новая напасть — эпидемия вампиризма. Там, где есть вампиры, есть и охотники на них. Некто «Мистер», самый крутой крушитель кровососов, поможет юноше перебраться на север, в ... Читать

 Навигация
 Авторизация
 Топ авторов
{topusers}
 Календарь
«    Сентябрь 2019    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
 Счётчик!)
 Поддержи сайт!
Z
R
U
 Статистика
{news_num}
 Счетчики
<Счетчики>
 Партнеры
{friend}
 Реклама
хмммммм