Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Модули » Дать +1 балл за добавление новости

Дать +1 балл за добавление новости


     30.03.2014    Модули, Хаки, MySQL    2497

вопрос
Пользователь добавляет новость получает +1 к его баллам... И может смотреть в профиле количество баллов. Все. Больше ничего не нужно...
P.S. Пишу не в стол заказов потому что мне нужно 3 строчки кода, и не на столько это важно для меня, что бы платить. Но буду очень рад, если кто-то ответит...
P.S. P.S. Попросил бы dj-avtosh, но я его и так уже задолбал с бесплатными вопросами в ICQ))))

Ответа пока нет


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

skitalec
Юзер

skitalec - 30 марта 2014 10:38 -

А что мешает выводить баллы через тег {news-num}
если 1 новость = 1 балл
Логично же!

ychelovek33
Юзер

ychelovek33 - 30 марта 2014 10:43 -

Я именно так и хотел, но, потом я буду их обнулять, а news-num Я обнулю только изменив автора новости

vitnet
PHP-developer

vitnet - 30 марта 2014 13:08 -

ALTER TABLE `dle_users` ADD `point_num` mediumint(8) NOT NULL default '0' // <-- point_num Ваше поле

/engine/modules/addnews.php найти и отредактировать
$db->query( "UPDATE " . USERPREFIX . "_users SET news_num=news_num+1, point_num=point_num+1 WHERE user_id='{$member_id['user_id']}'" ); // <-- point_num Ваше поле

/engine/modules/deletenews.php найти и отредактировать
$db->query("UPDATE " . USERPREFIX . "_users SET news_num=news_num-1, point_num=point_num-1 WHERE name='{$row['autor']}'"); // <-- point_num Ваше поле

далее использовать значение вашего поля "point_num"

Пример:
Открываем - /engine/modules/profile.php найти
    if( $row['signature'] and $user_group[$row['user_group']]['allow_signature'] ) {
        $tpl->set_block( "'\\[signature\\](.*?)\\[/signature\\]'si", "\\1" );
        $tpl->set( '{signature}', stripslashes( $row['signature'] ) );
    } else {
        $tpl->set_block( "'\\[signature\\](.*?)\\[/signature\\]'si", "" );
        $tpl->set( '{signature}', "" );    
    }
добавить выше
    if( $row['point_num'] ) {
        $tpl->set_block( "'\\[point-num\\](.*?)\\[/point-num\\]'si", "\\1" );
        $tpl->set( '{point-num}', $row['point_num'] );
    } else {
        $tpl->set_block( "'\\[point-num\\](.*?)\\[/point-num\\]'si", "" );
        $tpl->set( '{point-num}', "" );    
    }
В шаб.
{point-num} или [point-num]{point-num}[/point-num]

ychelovek33
Юзер

ychelovek33 - 30 марта 2014 14:46 -

Я попробую. Спасибо большое. А как использовать поле point_num что бы выводилось в инфе о поользователе....
А
ALTER TABLE `dle_users` ADD `point_num` mediumint(8) NOT NULL default '0' // <-- point_num Ваше поле
это как я понял надо запрос сделать в БД.... да?

Kane
Юзер

Kane - 30 марта 2014 15:57 -

В инфе о пользователе? в смысле в popUp профиле (окошко которое всплывает при нажатии на ник)?

forc1k
Юзер

forc1k - 7 июня 2015 01:04 -

выручил на ровном месте, спасибо огромное!

Kane
Юзер

Kane - 30 марта 2014 16:08 -

Есди да, то вставить туда тоже самое, то есть
Открыть: engine/ajax/profile.php найти
if( $row['signature'] and $user_group[$row['user_group']]['allow_signature'] ) {
        
    $tpl->set_block( "'\\[signature\\](.*?)\\[/signature\\]'si", "\\1" );
    $tpl->set( '{signature}', stripslashes( $row['signature'] ) );
    
} else {
        
    $tpl->set_block( "'\\[signature\\](.*?)\\[/signature\\]'si", "" );
    
}

добавить выше
if( $row['point_num'] ) {
        $tpl->set_block( "'\\[point-num\\](.*?)\\[/point-num\\]'si", "\\1" );
        $tpl->set( '{point-num}', $row['point_num'] );
    } else {
        $tpl->set_block( "'\\[point-num\\](.*?)\\[/point-num\\]'si", "" );
        $tpl->set( '{point-num}', "" );    
    }

В profile_popup.tpl вставить
{point-num} или [point-num]Баллы: {point-num}[/point-num]

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

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

 01.03.2015 Василий_Васечкин  Модули
наверх