Jump to content
Sign in to follow this  
PARN!SHKA_RU

Плюсование +2 и -2 рейтинга при лайке

Recommended Posts

1454704187_un4w4qn-dda.jpgъ


 


Плюсование +2 и -2 рейтинга при лайке. Если кто-то пользователь ставит лайк, то ему сразу к рейтингу +2


 


Автор: VIIPROGRAMMER


 


Данный модуль нашел тут: ПК-р**.ру/VII с двигателем/


 


Все обновил! Даже не заметил что было переведено на Русский.


Плюсование +2 и -2 рейтинга при лайке.rar

Edited by viiprogrammer
Добавил файл на сайт а не на yandex disk
  • Downvote 1

Share this post


Link to post
Share on other sites

не понял, при лайке любой записи на стене прибавляется рейтинг что ли? Или только при лайке аватарки?

Share this post


Link to post
Share on other sites

 

 

1454704187_un4w4qn-dda.jpgъ

 

Плюсование +2 и -2 рейтинга при лайке. Если кто-то пользователь ставит лайк, то ему сразу к рейтингу +2

 

Автор: VIIPROGRAMMER

 

Данный модуль нашел тут: http://cs-r**.*ед/VII с двигателем

 

Инструкция:

 

Открыть wall.php:

 

Найти:

 

 

//################### Ставим "Мне нравится" ###################//

чехол "like_yes":

NoAjaxQuery();

            $мпог = intval($ежедневно['проблемой']);

            //Проверка на существование записи

            $строка = $в dB->super_query("выберите текст, likes_users, author_user_id с `".Префикс."_wall` где ID = '{$мпог}'");

            если($строка){

                //Проверка на то что этот юзер уже ставил мне нрав или нет

                $likes_users = взорваться('|', str_replace('н', ", $строки['likes_users']));

                если(!in_array($функция user_id, $likes_users)){

                    $дБ->запрос("вставить в".Префикс."_wall_like " установить rec_id = '{$мпог}', функция user_id = '{$id_пользователя} 'Дата = '{$server_time}'");

 

                    $дБ->запрос("обновление"".Префикс."_wall " установить likes_num = likes_num+1, likes_users = '|у{$id_пользователя}|{$строки['likes_users']}' где ID = '{$мпог}'");

                                        

                    если($функция user_id != $строки['author_user_id']){

 

 

И ниже вставить:

$дБ->запрос("обновление"".Префикс."_users` набор user_rating = user_rating+2 где функция user_id = '{$строки['author_user_id']}'");

         //Чистим кеш

mozg_clear_cache_file("user_{$строки['author_user_id']}/погружения_{$строки['author_user_id']}");

 

Найти:

 

 

//################### Удаляем "Мне нравится" ###################//

чехол "like_no":

NoAjaxQuery();

            $мпог = intval($ежедневно['проблемой']);

            //Проверка на существование записи

            $строка = $в dB->super_query("выберите likes_users с `".Префикс."_wall` где ID = '{$мпог}'");

            если($строка){

                //Проверка на то что этот юзер уже ставил мне нрав или нет

                $likes_users = взорваться('|', str_replace('н', ", $строки['likes_users']));

                если(in_array($функция user_id, $likes_users)){

                    $дБ->запрос("Удалить из"".Префикс."_wall_like` где rec_id = '{$мпог}' и user_id = '{$id_пользователя}'");

                    $newListLikesUsers = функции strtr($строки['likes_users'], массив('|у'.$функция user_id.'|' => "));

                    $дБ->запрос("обновление"".Префикс."_wall " установить likes_num = likes_num-1, likes_users = '{$newListLikesUsers}' где ID = '{$мпог}'");

 

И ниже вставить:

 

 

$row_utr = $в dB->super_query("выберите author_user_id с `".Префикс."_wall` где ID = '{$мпог}'");

                    если($функция user_id != $row_utr['author_user_id']){

                     $дБ->запрос("обновление"".Префикс."_users` набор user_rating = user_rating-2 где функция user_id = '{$row_utr['author_user_id']}'");

         //Чистим кеш

mozg_clear_cache_file("user_{$row_utr['author_user_id']}/погружения_{$row_utr['author_user_id']}");

                    }

 

 

В \templates\Default\js\profile.js:

 

Найти:

 

wall_add_like: функция(rec_id, id_пользователя, Тип){

        если($('#wall_like_cnt'+rec_id).текст())

вар wall_like_cnt = parseInt($('#wall_like_cnt'+rec_id).текст())+1;

        еще {

            $('#public_likes_user_block'+rec_id).показать();

            $('#update_like'+rec_id).Валь('1');

вар wall_like_cnt = 1;

        }

        

        $('#wall_like_cnt'+rec_id).HTML-код(wall_like_cnt).в CSS('цвет', '#2f5879');

        $('#wall_active_ic'+rec_id).addclass, его('public_wall_like_yes');

        $('#wall_like_link'+rec_id).поля attr('событие onclick', 'групп.wall_remove_like('+rec_id+', '+id_пользователя+', \"+Тип+'\')');

        $('#like_user'+id_пользователя+'_'+rec_id).показать();

updateNum('#like_text_num'+rec_id, 1);

        

        если(Тип == 'uPages')

            $.пост('/индекса.на PHP?иди=стены и Act=like_yes', {проблемой: rec_id});

 

И после вставить:

 

 

for_user_id = местоположения.в href.сплит(с'http://'+расположение.хост+'/у');

если(for_user_id[1] != функция user_id){

вар rating_us = parseInt($("#profile_rate_num").текст());

                $("#profile_rate_num").текст(rating_us+2);

            }

 

Найти:

 

wall_remove_like: функция(rec_id, id_пользователя, Тип){

вар wall_like_cnt = parseInt($('#wall_like_cnt'+rec_id).текст())-1;

        если(wall_like_cnt <= 0){

вар wall_like_cnt = ";

            $('#public_likes_user_block'+rec_id).скрыть();

        }

        

        $('#wall_like_cnt'+rec_id).HTML-код(wall_like_cnt).в CSS('цвет', '#95adc0');

        $('#wall_active_ic'+rec_id).removeClass('public_wall_like_yes');

        $('#wall_like_link'+rec_id).поля attr('событие onclick', 'групп.wall_add_like('+rec_id+', '+id_пользователя+', \"+Тип+'\')');

        $('#Xlike_user'+id_пользователя+'_'+rec_id).скрыть();

        $('#like_user'+id_пользователя+'_'+rec_id).скрыть();

updateNum('#like_text_num'+rec_id);

 

        если(Тип == 'uPages')

            $.пост('/индекса.на PHP?иди=стены и Act=like_no', {проблемой: rec_id});

 

И после вставить:

 

for_user_id = местоположения.в href.сплит(с'http://'+расположение.хост+'/у');

         если(for_user_id[1] != функция user_id){

вар rating_us = parseInt($("#profile_rate_num").текст());

                $("#profile_rate_num").текст(rating_us-2);

             }

 

Все!

 

 

 

Инструкция правильная, но сам пхп текст увы нет. Везде русские слова. У тебя проблемы с переводом.

Edited by Mr.Timbios
Учитель пользоваться тегами [spoiler][/spoiler]

Share this post


Link to post
Share on other sites

Правильная инструкция (с правильным PHP кодом) :

Открыть system/modules/wall.php:

Найти:


 

//################### Ставим "Мне нравится" ###################//
        case "like_yes":
            NoAjaxQuery();
            $rid = intval($_POST['rid']);
            //Проверка на существование записи
            $row = $db->super_query("SELECT text, likes_users, author_user_id FROM `".PREFIX."_wall` WHERE id = '{$rid}'");
            if($row){
                //Проверка на то что этот юзер ставил уже мне нрав или нет
                $likes_users = explode('|', str_replace('u', '', $row['likes_users']));
                if(!in_array($user_id, $likes_users)){
                    $db->query("INSERT INTO `".PREFIX."_wall_like` SET rec_id = '{$rid}', user_id = '{$user_id}', date = '{$server_time}'");

                    $db->query("UPDATE `".PREFIX."_wall` SET likes_num = likes_num+1, likes_users = '|u{$user_id}|{$row['likes_users']}' WHERE id = '{$rid}'");
                                        
                    if($user_id != $row['author_user_id']){


И ниже вставить:

$db->query("UPDATE `".PREFIX."_users` SET user_rating = user_rating+2 WHERE user_id = '{$row['author_user_id']}'");
         //Чистим кеш
             mozg_clear_cache_file("user_{$row['author_user_id']}/profile_{$row['author_user_id']}");

Найти:

 

//################### Удаляем "Мне нравится" ###################//
        case "like_no":
            NoAjaxQuery();
            $rid = intval($_POST['rid']);
            //Проверка на существование записи
            $row = $db->super_query("SELECT likes_users FROM `".PREFIX."_wall` WHERE id = '{$rid}'");
            if($row){
                //Проверка на то что этот юзер ставил уже мне нрав или нет
                $likes_users = explode('|', str_replace('u', '', $row['likes_users']));
                if(in_array($user_id, $likes_users)){
                    $db->query("DELETE FROM `".PREFIX."_wall_like` WHERE rec_id = '{$rid}' AND user_id = '{$user_id}'");
                    $newListLikesUsers = strtr($row['likes_users'], array('|u'.$user_id.'|' => ''));
                    $db->query("UPDATE `".PREFIX."_wall` SET likes_num = likes_num-1, likes_users = '{$newListLikesUsers}' WHERE id = '{$rid}'");

И ниже вставить:

 

$row_utr = $db->super_query("SELECT author_user_id FROM `".PREFIX."_wall` WHERE id = '{$rid}'");
                    if($user_id != $row_utr['author_user_id']){
                     $db->query("UPDATE `".PREFIX."_users` SET user_rating = user_rating-2 WHERE user_id = '{$row_utr['author_user_id']}'");
         //Чистим кеш
             mozg_clear_cache_file("user_{$row_utr['author_user_id']}/profile_{$row_utr['author_user_id']}");
                    }


В \templates\Default\js\profile.js:

Найти:
 

wall_add_like: function(rec_id, user_id, type){
        if($('#wall_like_cnt'+rec_id).text())
            var wall_like_cnt = parseInt($('#wall_like_cnt'+rec_id).text())+1;
        else {
            $('#public_likes_user_block'+rec_id).show();
            $('#update_like'+rec_id).val('1');
            var wall_like_cnt = 1;
        }
        
        $('#wall_like_cnt'+rec_id).html(wall_like_cnt).css('color', '#2f5879');
        $('#wall_active_ic'+rec_id).addClass('public_wall_like_yes');
        $('#wall_like_link'+rec_id).attr('onclick', 'groups.wall_remove_like('+rec_id+', '+user_id+', \''+type+'\')');
        $('#like_user'+user_id+'_'+rec_id).show();
        updateNum('#like_text_num'+rec_id, 1);
        
        if(type == 'uPages')
            $.post('/index.php?go=wall&act=like_yes', {rid: rec_id});

И после вставить:

 

for_user_id = location.href.split('http://'+location.host+'/u');
if(for_user_id[1] != user_id){
                var rating_us = parseInt($("#profile_rate_num").text());
                $("#profile_rate_num").text(rating_us+2);
            }

Найти:
 

wall_remove_like: function(rec_id, user_id, type){
        var wall_like_cnt = parseInt($('#wall_like_cnt'+rec_id).text())-1;
        if(wall_like_cnt <= 0){
            var wall_like_cnt = '';
            $('#public_likes_user_block'+rec_id).hide();
        }
        
        $('#wall_like_cnt'+rec_id).html(wall_like_cnt).css('color', '#95adc0');
        $('#wall_active_ic'+rec_id).removeClass('public_wall_like_yes');
        $('#wall_like_link'+rec_id).attr('onclick', 'groups.wall_add_like('+rec_id+', '+user_id+', \''+type+'\')');
        $('#Xlike_user'+user_id+'_'+rec_id).hide();
        $('#like_user'+user_id+'_'+rec_id).hide();
        updateNum('#like_text_num'+rec_id);

        if(type == 'uPages')
            $.post('/index.php?go=wall&act=like_no', {rid: rec_id});

И после вставить:
 

for_user_id = location.href.split('http://'+location.host+'/u');
         if(for_user_id[1] != user_id){
                var rating_us = parseInt($("#profile_rate_num").text());
                $("#profile_rate_num").text(rating_us-2);
             }

Все!

 

 

Меняем кол-во рейтинга в таких строках:

 $("#profile_rate_num").text(rating_us+2);

И:

 $("#profile_rate_num").text(rating_us-2);

Если меняли там, то и здесь меняем:

        $db->query("UPDATE `".PREFIX."_users` SET user_rating = user_rating-2 WHERE user_id = '{$row_utr['author_user_id']}'");

Кусок: user_rating-2

$db->query("UPDATE `".PREFIX."_users` SET user_rating = user_rating+2 WHERE user_id = '{$row['author_user_id']}'");

Кусок: user_rating+2

Edited by WolFox

Share this post


Link to post
Share on other sites

Что это за сущий ппц как можно было код из инструкции перевести на русски?! то вам не сообщения вконтакте, это код!

  • Upvote 1

Share this post


Link to post
Share on other sites

Что это за сущий ппц как можно было код из инструкции перевести на русски?! то вам не сообщения вконтакте, это код!

ага. Просто Google перевел ему код, а он и не заметил. Взял и скинул сюда

Share this post


Link to post
Share on other sites

не понял, при лайке любой записи на стене прибавляется рейтинг что ли? Или только при лайке аватарки?

При лайке на любой пуст ваш. Вам дает +2 рейтинга

Share this post


Link to post
Share on other sites

Все обновил инструкцию! Даже не заметил что было переведено на Русский.

Мда... Нужно быть внимательней. Из-за твоей записи все, кто решил установить данный модуль, могли бы сломать себе сайт, а особенно те, кто не создал бэкап и закрыл вкладку XD

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×