PARN!SHKA_RU 2 Report post Posted February 7, 2016 (edited) ъ Плюсование +2 и -2 рейтинга при лайке. Если кто-то пользователь ставит лайк, то ему сразу к рейтингу +2 Автор: VIIPROGRAMMER Данный модуль нашел тут: ПК-р**.ру/VII с двигателем/ Все обновил! Даже не заметил что было переведено на Русский. Плюсование +2 и -2 рейтинга при лайке.rar Edited February 8, 2016 by viiprogrammer Добавил файл на сайт а не на yandex disk 1 Share this post Link to post Share on other sites
Why Not 35 Report post Posted February 8, 2016 не понял, при лайке любой записи на стене прибавляется рейтинг что ли? Или только при лайке аватарки? Share this post Link to post Share on other sites
wenjiro 33 Report post 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] Share this post Link to post Share on other sites
wenjiro 33 Report post 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 Share this post Link to post Share on other sites
viiprogrammer 179 Report post Posted February 8, 2016 Что это за сущий ппц как можно было код из инструкции перевести на русски?! то вам не сообщения вконтакте, это код! 1 Share this post Link to post Share on other sites
wenjiro 33 Report post Posted February 8, 2016 Что это за сущий ппц как можно было код из инструкции перевести на русски?! то вам не сообщения вконтакте, это код! ага. Просто Google перевел ему код, а он и не заметил. Взял и скинул сюда Share this post Link to post Share on other sites
PARN!SHKA_RU 2 Report post Posted February 8, 2016 не понял, при лайке любой записи на стене прибавляется рейтинг что ли? Или только при лайке аватарки? При лайке на любой пуст ваш. Вам дает +2 рейтинга Share this post Link to post Share on other sites
PARN!SHKA_RU 2 Report post Posted February 8, 2016 Все обновил инструкцию! Даже не заметил что было переведено на Русский. Share this post Link to post Share on other sites
wenjiro 33 Report post Posted February 9, 2016 Все обновил инструкцию! Даже не заметил что было переведено на Русский. Мда... Нужно быть внимательней. Из-за твоей записи все, кто решил установить данный модуль, могли бы сломать себе сайт, а особенно те, кто не создал бэкап и закрыл вкладку XD Share this post Link to post Share on other sites
УРАГАН 0 Report post Posted June 15, 2016 Визуально изменяет рейтинг но обновляешь стр и рейт на месте как был... Share this post Link to post Share on other sites
FastCHAT 42 Report post Posted August 2, 2018 зачем столько лишнего кода Share this post Link to post Share on other sites