Сообщение оставлено 05.07.2012 в 14:42:52 | Сообщение #
1
Пользователь Пользователь проекта, который не имеет никаких привилегий.
К сожалению, пользователь данные о WMID не указал.
Лайки теперь стали возможны не только для отдельного материала, но и для комментариев. Версия скрипта 0.0.1, т.е. возможны баги, про обнаруженные баги оставляйте в комментариях) Данный скрипт создаёт только 1 $.get запрос на выдачу лайков => нагрузку и бан можно избежать) Лайки смахивают на лайки ВК, но если кто захочет переделать под себя, то пожалуйста, только сам скрипт ломайте. Некоторые html теги отвечают за работу скрипта Хвать этой писанины перейдём к делу. Первое что нужно это подключить js скрипт: Code
var ulike = { numberEnd: function(num, expressions) { var result; count = num % 100; if (count >= 5 && count <= 20) { result = expressions['2']; } else { count = count % 10; if (count == 1) { result = expressions['0']; } else if (count >= 2 && count <= 4) { result = expressions['1']; } else { result = expressions['2']; } } return result; }, showLikeTooltip: function(id,c){ if(c!=0){ var like_count = 'Понравилось '+c+' '+ulike.numberEnd(c,['человеку','людям','людям']); var offset = $('#clike'+id).offset(); var left = offset.left - 40; var top = offset.top - 85; if(!$('#likeTooltip'+id).html()){ $('body').append('<div class="tt rich like_tt bottom" id="likeTooltip'+id+'" style="position: absolute; left: '+left+'px; top: '+top+'px;opacity:0;display:none"><table cellspacing="0" cellpadding="0" class="toup1"><tbody><tr><td colspan="3" class="tt_top"><div class="top_pointer" style="margin-left: 74px"></div></td></tr><tr><td class="side_sh"></td><td class="outer"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="side_sh"></td><td class="wrapped"><div class="header"><div class="like_head_wrap"><span id="like_title_wall22490772_592">'+like_count+'</span></div></div><div class="wrap"><input type="hidden" id="like_real_count_wall22490772_592" value="1"><div class="content"><div class="hider"><table cellspacing="0" cellpadding="0" class="like_stats'+id+'" style="left: 0px"><tbody><tr><td></td></tr></tbody></table></div></div></div></td><td class="side_sh"></td></tr><tr><td colspan="3"><div class="bottom_sh"></div></td></tr></tbody></table></td><td class="side_sh"></td></tr><tr><td colspan="3" class="tt_bottom"><div class="bottom_sh"></div><div class="bottom_pointer" style="margin-left: 74px"></div></td></tr></tbody></table></div>'); $('#likeTooltip'+id).stop().animate({'top': '+=10px','opacity': '3'}, "slow").show(); }else if($('#likeTooltip'+id).html() && $('#likeTooltip'+id).css('display')=='none'){ $('#likeTooltip'+id).show(); } if($('.like_stats'+id).find('td').html()==''){ $('.like_stats'+id).find('td').hide().before('<p class="loading-spinner"><img src="http://usite.su/images/pixel-vfl3z5WfW.gif" alt="">Загрузка...</p>'); setTimeout(function() { $.ajax({ type: "POST", url: '/php/ulike/like.php?act=loadliked&cid='+id+'&u=1', dataType: "json", success: function(response) { $('.loading-spinner').hide(); for(var i=0; i<response[0].users.length; i++){ $('.like_stats'+id).find('td').before('<td><a title="'+response[0].users[i].username+'" href="/index/8-'+response[0].users[i].id+'" ><img class="like_tt_stats_photo" src="'+response[0].users[i].photo+'" width="30" height="30"></a></td>'); } } }); }, 500); } } }, hide: function(id){ $('#likeTooltip'+id).stop().fadeOut(200); }, show: function(id,count){ var likeTimeout; if(!count){count_l = $('#clike'+id).find('#liked').html();}else{count_l = count;} clearTimeout(likeTimeout); ulike.showLikeTooltip(id,count_l); $('#likeTooltip'+id).mouseenter(function(){ clearTimeout(likeTimeout); }); $('#clike'+id).mouseleave(function(){ likeTimeout = setTimeout(function() {ulike.hide(id)}, 500); }); $('#likeTooltip'+id).mouseleave(function(){ likeTimeout = setTimeout(function() {ulike.hide(id)}, 500); }); }, liked: function(id){ if(!$('#clike'+id).find('#liked').html()){c_l = 1;}else{c_l = parseInt($('#clike'+id).find('#liked').html());} $('#clike'+id).find('#liked').html(c_l+1); ulike.show(id,c_l); $('.like_stats'+id).find('td').hide().before('<p class="loading-spinner"><img src="http://usite.su/images/pixel-vfl3z5WfW.gif" alt="">Загрузка...</p>'); $.ajax({ type: "POST", url: '/php/ulike/like.php?act=add_user&cid='+id, dataType: "text", success: function(data) { if(data==1){ ulike.show(id,c_l); }else{ $('#clike'+id).find('#liked').html(c_l); _uWnd.alert('Вы уже оставили свой лайк ранее', 'Ошибка!',{w:300, h:70}); } $('.like_stats'+id).find('td').show(); $('.loading-spinner').hide(); } }); } } $(document).ready(function() { var idc = ''; $('body').find('#comlike').each(function(){ idc += $(this).find('div').attr('id').replace('clike', '') +','; }); $.ajax({ type: "POST", url: '/php/ulike/like.php?act=loadliked&cid='+idc, dataType: "json", success: function(data) { for(var i=0; i<data.length; i++) { var id = data[i].id; $('#clike'+id).find('#liked').html(data[i].liked); } } }); });
С js кодом покончено, теперь следом идёт PHP. Создаём папку ulike и кидаем туда файлы из архива. Внимание: файл "basel.php" - НЕ ТРОГАТЬ! Не изменять его! Иначе скрипт работать не будет! Этот файл выполняет роль базы данных) В файле "like.class.php" можно изменить некоторые переменные: $str_m_2 - Кол-во пользователей на стр. в модальном окне $no_photo - url ссылка на no-photo Пожалуй с самой лёгкой частью скрипта мы разобрались, теперь осталось поставить css)
Дизайнер
Делаю Макеты, Аватарки, Логотипы, Шапки, Иконки
Сообщение оставлено 05.07.2012 в 14:42:52 | Сообщение #
1
STREET WORKOUT
Сообщения: 60
Лайки теперь стали возможны не только для отдельного материала, но и для комментариев. Версия скрипта 0.0.1, т.е. возможны баги, про обнаруженные баги оставляйте в комментариях) Данный скрипт создаёт только 1 $.get запрос на выдачу лайков => нагрузку и бан можно избежать) Лайки смахивают на лайки ВК, но если кто захочет переделать под себя, то пожалуйста, только сам скрипт ломайте. Некоторые html теги отвечают за работу скрипта Хвать этой писанины перейдём к делу. Первое что нужно это подключить js скрипт: Code
var ulike = { numberEnd: function(num, expressions) { var result; count = num % 100; if (count >= 5 && count <= 20) { result = expressions['2']; } else { count = count % 10; if (count == 1) { result = expressions['0']; } else if (count >= 2 && count <= 4) { result = expressions['1']; } else { result = expressions['2']; } } return result; }, showLikeTooltip: function(id,c){ if(c!=0){ var like_count = 'Понравилось '+c+' '+ulike.numberEnd(c,['человеку','людям','людям']); var offset = $('#clike'+id).offset(); var left = offset.left - 40; var top = offset.top - 85; if(!$('#likeTooltip'+id).html()){ $('body').append('<div class="tt rich like_tt bottom" id="likeTooltip'+id+'" style="position: absolute; left: '+left+'px; top: '+top+'px;opacity:0;display:none"><table cellspacing="0" cellpadding="0" class="toup1"><tbody><tr><td colspan="3" class="tt_top"><div class="top_pointer" style="margin-left: 74px"></div></td></tr><tr><td class="side_sh"></td><td class="outer"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="side_sh"></td><td class="wrapped"><div class="header"><div class="like_head_wrap"><span id="like_title_wall22490772_592">'+like_count+'</span></div></div><div class="wrap"><input type="hidden" id="like_real_count_wall22490772_592" value="1"><div class="content"><div class="hider"><table cellspacing="0" cellpadding="0" class="like_stats'+id+'" style="left: 0px"><tbody><tr><td></td></tr></tbody></table></div></div></div></td><td class="side_sh"></td></tr><tr><td colspan="3"><div class="bottom_sh"></div></td></tr></tbody></table></td><td class="side_sh"></td></tr><tr><td colspan="3" class="tt_bottom"><div class="bottom_sh"></div><div class="bottom_pointer" style="margin-left: 74px"></div></td></tr></tbody></table></div>'); $('#likeTooltip'+id).stop().animate({'top': '+=10px','opacity': '3'}, "slow").show(); }else if($('#likeTooltip'+id).html() && $('#likeTooltip'+id).css('display')=='none'){ $('#likeTooltip'+id).show(); } if($('.like_stats'+id).find('td').html()==''){ $('.like_stats'+id).find('td').hide().before('<p class="loading-spinner"><img src="http://usite.su/images/pixel-vfl3z5WfW.gif" alt="">Загрузка...</p>'); setTimeout(function() { $.ajax({ type: "POST", url: '/php/ulike/like.php?act=loadliked&cid='+id+'&u=1', dataType: "json", success: function(response) { $('.loading-spinner').hide(); for(var i=0; i<response[0].users.length; i++){ $('.like_stats'+id).find('td').before('<td><a title="'+response[0].users[i].username+'" href="/index/8-'+response[0].users[i].id+'" ><img class="like_tt_stats_photo" src="'+response[0].users[i].photo+'" width="30" height="30"></a></td>'); } } }); }, 500); } } }, hide: function(id){ $('#likeTooltip'+id).stop().fadeOut(200); }, show: function(id,count){ var likeTimeout; if(!count){count_l = $('#clike'+id).find('#liked').html();}else{count_l = count;} clearTimeout(likeTimeout); ulike.showLikeTooltip(id,count_l); $('#likeTooltip'+id).mouseenter(function(){ clearTimeout(likeTimeout); }); $('#clike'+id).mouseleave(function(){ likeTimeout = setTimeout(function() {ulike.hide(id)}, 500); }); $('#likeTooltip'+id).mouseleave(function(){ likeTimeout = setTimeout(function() {ulike.hide(id)}, 500); }); }, liked: function(id){ if(!$('#clike'+id).find('#liked').html()){c_l = 1;}else{c_l = parseInt($('#clike'+id).find('#liked').html());} $('#clike'+id).find('#liked').html(c_l+1); ulike.show(id,c_l); $('.like_stats'+id).find('td').hide().before('<p class="loading-spinner"><img src="http://usite.su/images/pixel-vfl3z5WfW.gif" alt="">Загрузка...</p>'); $.ajax({ type: "POST", url: '/php/ulike/like.php?act=add_user&cid='+id, dataType: "text", success: function(data) { if(data==1){ ulike.show(id,c_l); }else{ $('#clike'+id).find('#liked').html(c_l); _uWnd.alert('Вы уже оставили свой лайк ранее', 'Ошибка!',{w:300, h:70}); } $('.like_stats'+id).find('td').show(); $('.loading-spinner').hide(); } }); } } $(document).ready(function() { var idc = ''; $('body').find('#comlike').each(function(){ idc += $(this).find('div').attr('id').replace('clike', '') +','; }); $.ajax({ type: "POST", url: '/php/ulike/like.php?act=loadliked&cid='+idc, dataType: "json", success: function(data) { for(var i=0; i<data.length; i++) { var id = data[i].id; $('#clike'+id).find('#liked').html(data[i].liked); } } }); });
С js кодом покончено, теперь следом идёт PHP. Создаём папку ulike и кидаем туда файлы из архива. Внимание: файл "basel.php" - НЕ ТРОГАТЬ! Не изменять его! Иначе скрипт работать не будет! Этот файл выполняет роль базы данных) В файле "like.class.php" можно изменить некоторые переменные: $str_m_2 - Кол-во пользователей на стр. в модальном окне $no_photo - url ссылка на no-photo Пожалуй с самой лёгкой частью скрипта мы разобрались, теперь осталось поставить css)Подпись пользователя: Дизайнер
Делаю Макеты, Аватарки, Логотипы, Шапки, Иконки
Сообщение оставлено 28.10.2012 в 08:03:14 | Сообщение #
2
Премиум Человек, имеющий большие привилегии на сайте.Very Important Person (VIP)
К сожалению, пользователь данные о WMID не указал.
Видел на усайте, хороший скрипт, смотрится классно.
По всем вопросам писать в скайп
«указан в профиле» Я не даю унбан по просьбе личку или скайп, для этого есть
‘спец.тема’ Для того чтобы сделать предложение по форуму, можно обратиться ко мне (я передам выше) или в
‘спец.тему’
Сообщение оставлено 28.10.2012 в 08:03:14 | Сообщение #
2
Wake Me Up
Сообщения: 2018
Видел на усайте, хороший скрипт, смотрится классно. Подпись пользователя: По всем вопросам писать в скайп
«указан в профиле» Я не даю унбан по просьбе личку или скайп, для этого есть
‘спец.тема’ Для того чтобы сделать предложение по форуму, можно обратиться ко мне (я передам выше) или в
‘спец.тему’
Сообщение оставлено 28.10.2012 в 20:47:17 | Сообщение #
3
Пользователь Пользователь проекта, который не имеет никаких привилегий.
К сожалению, пользователь контактные данные не указал.
К сожалению, пользователь данные о WMID не указал.
2pucman , согласен, жаль что на пхп
Сообщение оставлено 28.10.2012 в 20:47:17 | Сообщение #
3
2pucman , согласен, жаль что на пхп