PARN!SHKA_RU Posted February 7, 2016 Report Share Posted February 7, 2016 (edited) ъ Плюсование +2 и -2 рейтинга при лайке. Если кто-то пользователь ставит лайк, то ему сразу к рейтингу +2 Автор: VIIPROGRAMMER Данный модуль нашел тут: ПК-р**.ру/VII с двигателем/ Все обновил! Даже не заметил что было переведено на Русский. Плюсование +2 и -2 рейтинга при лайке.rar Edited February 8, 2016 by viiprogrammer Добавил файл на сайт а не на yandex disk 1 Quote Link to comment Share on other sites More sharing options...
Why Not Posted February 8, 2016 Report Share Posted February 8, 2016 не понял, при лайке любой записи на стене прибавляется рейтинг что ли? Или только при лайке аватарки? Quote Link to comment Share on other sites More sharing options...
wenjiro Posted February 8, 2016 Report Share Posted February 8, 2016 (edited) ъ Плюсование +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 February 9, 2016 by Mr.Timbios Учитель пользоваться тегами [spoiler][/spoiler] Quote Link to comment Share on other sites More sharing options...
wenjiro Posted February 8, 2016 Report Share Posted February 8, 2016 (edited) Правильная инструкция (с правильным 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 February 8, 2016 by WolFox Quote Link to comment Share on other sites More sharing options...
viiprogrammer Posted February 8, 2016 Report Share Posted February 8, 2016 Что это за сущий ппц как можно было код из инструкции перевести на русски?! то вам не сообщения вконтакте, это код! 1 Quote Link to comment Share on other sites More sharing options...
wenjiro Posted February 8, 2016 Report Share Posted February 8, 2016 Что это за сущий ппц как можно было код из инструкции перевести на русски?! то вам не сообщения вконтакте, это код! ага. Просто Google перевел ему код, а он и не заметил. Взял и скинул сюда Quote Link to comment Share on other sites More sharing options...
PARN!SHKA_RU Posted February 8, 2016 Author Report Share Posted February 8, 2016 не понял, при лайке любой записи на стене прибавляется рейтинг что ли? Или только при лайке аватарки? При лайке на любой пуст ваш. Вам дает +2 рейтинга Quote Link to comment Share on other sites More sharing options...
PARN!SHKA_RU Posted February 8, 2016 Author Report Share Posted February 8, 2016 Все обновил инструкцию! Даже не заметил что было переведено на Русский. Quote Link to comment Share on other sites More sharing options...
wenjiro Posted February 9, 2016 Report Share Posted February 9, 2016 Все обновил инструкцию! Даже не заметил что было переведено на Русский. Мда... Нужно быть внимательней. Из-за твоей записи все, кто решил установить данный модуль, могли бы сломать себе сайт, а особенно те, кто не создал бэкап и закрыл вкладку XD Quote Link to comment Share on other sites More sharing options...
УРАГАН Posted June 15, 2016 Report Share Posted June 15, 2016 Визуально изменяет рейтинг но обновляешь стр и рейт на месте как был... Quote Link to comment Share on other sites More sharing options...
FastCHAT Posted August 2, 2018 Report Share Posted August 2, 2018 зачем столько лишнего кода Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.