Перейти к содержанию
CMSTOOLS.org - форум поддержки и развития CMS

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


Рекомендуемые сообщения

1454704187_un4w4qn-dda.jpgъ


 


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


 


Автор: VIIPROGRAMMER


 


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


 


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


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

Изменено пользователем viiprogrammer
Добавил файл на сайт а не на yandex disk
  • Downvote 1
Ссылка на комментарий
Поделиться на другие сайты

 

 

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);

             }

 

Все!

 

 

 

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

Изменено пользователем Mr.Timbios
Учитель пользоваться тегами [spoiler][/spoiler]
Ссылка на комментарий
Поделиться на другие сайты

Правильная инструкция (с правильным 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

Изменено пользователем WolFox
Ссылка на комментарий
Поделиться на другие сайты

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

  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

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

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

Ссылка на комментарий
Поделиться на другие сайты

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

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

Ссылка на комментарий
Поделиться на другие сайты

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

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

Ссылка на комментарий
Поделиться на другие сайты

  • 4 месяца спустя...
  • 2 года спустя...
×
×
  • Создать...