PHP: 1 заходим в базу даных делаем sql запрос CREATE TABLE IF NOT EXISTS `vii_forum_like` ( `forum_id` int(11) unsigned NOT NULL, `user_id` int(11) unsigned NOT NULL, `date` varchar(10) NOT NULL, KEY `id` (`forum_id`), KEY `user_id` (`user_id`), KEY `date` (`date`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 2 заходим в templates/Default/js/ открыть там файл profile.js ищем //FORUM var at = ''; var Forum = { ниже ставим wall_add_like: function(forum_id, user_id, type){ if($('#wall_like_cnt'+forum_id).text()) var wall_like_cnt = parseInt($('#wall_like_cnt'+forum_id).text())+1; else { $('#public_likes_user_block'+forum_id).show(); $('#update_like'+forum_id).val('1'); var wall_like_cnt = 1; } $('#wall_like_cnt'+forum_id).html(wall_like_cnt).css('color', '#2f5879'); $('#wall_active_ic'+forum_id).addClass('public_wall_like_yes'); $('#wall_like_link'+forum_id).attr('onClick', 'groups.wall_remove_like('+forum_id+', '+user_id+', \''+type+'\')'); $('#like_user'+user_id+'_'+forum_id).show(); updateNum('#like_text_num'+forum_id, 1); if(type == 'uPages') $.post('/?go=groups_forum&act=forum_like_yes', {forum_id: forum_id}); else $.post('/?go=groups_forum&act=forum_like_yes', {forum_id: forum_id}); }, wall_remove_like: function(forum_id, user_id, type){ var wall_like_cnt = parseInt($('#wall_like_cnt'+forum_id).text())-1; if(wall_like_cnt <= 0){ var wall_like_cnt = ''; $('#public_likes_user_block'+forum_id).hide(); } $('#wall_like_cnt'+forum_id).html(wall_like_cnt).css('color', '#95adc0'); $('#wall_active_ic'+forum_id).removeClass('public_wall_like_yes'); $('#wall_like_link'+forum_id).attr('onClick', 'forum.wall_add_like('+forum_id+', '+user_id+', \''+type+'\')'); $('#Xlike_user'+user_id+'_'+forum_id).hide(); $('#like_user'+user_id+'_'+forum_id).hide(); updateNum('#like_text_num'+forum_id); if(type == 'uPages') $.post('/?go=groups_forum&act=forum_like_remove', {forum_id: forum_id}); else $.post('/?go=groups_forum&act=forum_like_remove', {forum_id: forum_id}); }, wall_like_users_five: function(forum_id, type){ $('.public_likes_user_block').hide(); if(!ge('like_cache_block'+forum_id) && $('#wall_like_cnt'+forum_id).text() && $('#update_like'+forum_id).val() == 0){ if(type == 'uPages'){ $.post('/?go=groups_forum&act=forum_like_users_five', {forum_id: forum_id}, function(data){ $('#likes_users'+forum_id).html(data+'<span id="like_cache_block'+forum_id+'"></span>'); $('#public_likes_user_block'+forum_id).show(); }); } else { $.post('/?go=groups_forum&act=forum_like_users_five', {forum_id: forum_id}, function(data){ $('#likes_users'+forum_id).html(data+'<span id="like_cache_block'+forum_id+'"></span>'); $('#public_likes_user_block'+forum_id).show(); }); } } else if($('#wall_like_cnt'+forum_id).text()) $('#public_likes_user_block'+forum_id).show(); }, wall_like_users_five_hide: function(){ $('.public_likes_user_block').hide(); }, wall_all_liked_users: function(rid, page_num, liked_num){ $('.public_likes_user_block').hide(); if(page_num) page = '&page='+page_num; else { page = ''; page_num = 1; } if(!liked_num) liked_num = 1; Box.Page('/?go=groups_forum&act=all_liked_users', 'rid='+rid+'&liked_num='+liked_num+page, 'all_liked_users_'+rid+page_num, 638, lang_wall_liked_users, lang_msg_close, 0, 0, 345, 1, 1, 1, 0, 1); }, --- Добавлено --- Код (Text): 3 заходим в vii_communities_forum_msg саздать 2 поля likes_users text likes_num mediumint(8) 4 заходим в system/modules/открыть там файл groups_forum.php ищем switch($act){ ниже вставить //################### Ставим мне нравится ###################// case "forum_like_yes": NoAjaxQuery(); $forum_id = intval($_POST['forum_id']); $row = $db->super_query("SELECT likes_users FROM `" . PREFIX . "_communities_forum_msg` WHERE id = '" . $forum_id . "'"); if ($row AND stripos($row['likes_users'], "u{$user_id}|") === false) { $likes_users = "u{$user_id}|" . $row['likes_users']; $db->query("UPDATE `" . PREFIX . "_communities_forum_msg` SET likes_num = likes_num+1, likes_users = '{$likes_users}' WHERE id = '" . $forum_id . "'"); $db->query("INSERT INTO `" . PREFIX . "_forum_like` SET forum_id = '" . $forum_id . "', user_id = '" . $user_id . "', date = '" . $server_time . "'"); } die(); break; //################### Убераем мне нравится ###################// case "forum_like_remove": NoAjaxQuery(); $forum_id = intval($_POST['forum_id']); $row = $db->super_query("SELECT likes_users FROM `" . PREFIX . "_communities_forum_msg` WHERE id = '" . $forum_id . "'"); if (stripos($row['likes_users'], "u{$user_id}|") !== false) { $likes_users = str_replace("u{$user_id}|", '', $row['likes_users']); $db->query("UPDATE `" . PREFIX . "_communities_forum_msg` SET likes_num = likes_num-1, likes_users = '{$likes_users}' WHERE id = '" . $forum_id . "'"); $db->query("DELETE FROM `" . PREFIX . "_forum_like` WHERE forum_id = '" . $forum_id . "' AND user_id = '" . $user_id . "'"); } die(); break; //################### Выводим последних 7 юзеров кто поставил "Мне нравится" ###################// case "forum_like_users_five": NoAjaxQuery(); $forum_id = intval($_POST['forum_id']); $sql_ = $db->super_query("SELECT tb1.user_id, tb2.user_photo FROM `" . PREFIX . "_forum_like` tb1, `" . PREFIX . "_users` tb2 WHERE tb1.user_id = tb2.user_id AND tb1.forum_id = '{$forum_id}' ORDER by `date` DESC LIMIT 0, 7", 1); if ($sql_) { foreach ($sql_ as $row) { if ($row['user_photo']) $ava = '/uploads/users/' . $row['user_id'] . '/50_' . $row['user_photo']; else $ava = '/templates/' . $config['temp'] . '/images/no_ava_50.png'; echo '<a href="/u' . $row['user_id'] . '" id="Xlike_user' . $row['user_id'] . '_' . $audio_id . '" onClick="Page.Go(this.href); return false"><img src="' . $ava . '" width="32" /></a>'; } } die(); break; //################### Выводим всех юзеров которые поставили "мне нравится" ###################// case "all_liked_users": NoAjaxQuery(); $forum_id = intval($_POST['rid']); $liked_num = intval($_POST['liked_num']); if ($_POST['page'] > 0) $page = intval($_POST['page']); else $page = 1; $gcount = 24; $limit_page = ($page - 1) * $gcount; if (!$liked_num) $liked_num = 1; if ($forum_id AND $liked_num) { $sql_ = $db->super_query("SELECT tb1.user_id, tb2.user_photo, user_search_pref FROM `" . PREFIX . "_forum_like` tb1, `" . PREFIX . "_users` tb2 WHERE tb1.user_id = tb2.user_id AND tb1.forum_id = '{$forum_id}' ORDER by `date` DESC LIMIT {$limit_page}, {$gcount}", 1); if ($sql_) { $tpl->load_template('profile_subscription_box_top.tpl'); $tpl->set('[top]', ''); $tpl->set('[/top]', ''); $tpl->set('{subcr-num}', 'Сподобалося ' . $liked_num . ' ' . gram_record($liked_num, 'like')); $tpl->set_block("'\\[bottom\\](.*?)\\[/bottom\\]'si", ""); $tpl->compile('content'); $tpl->result['content'] = str_replace('Всього', '', $tpl->result['content']); $tpl->load_template('profile_friends.tpl'); foreach ($sql_ as $row) { if ($row['user_photo']) $tpl->set('{ava}', $config['home_url'] . 'uploads/users/' . $row['user_id'] . '/50_' . $row['user_photo']); else $tpl->set('{ava}', '{theme}/images/no_ava_50.png'); $friend_info_online = explode(' ', $row['user_search_pref']); $tpl->set('{user-id}', $row['user_id']); $tpl->set('{name}', $friend_info_online[0]); $tpl->set('{last-name}', $friend_info_online[1]); $tpl->compile('content'); } box_navigation($gcount, $liked_num, $audio_id, 'groups.wall_all_liked_users', $liked_num); AjaxTpl(); } } die(); break; --- Добавлено --- Код (Text): ищем //################### Фиксирование темы . закрипление ###################// case "fix": NoAjaxQuery(); $fid = intval($_POST['fid']); $row = $db->super_query("SELECT fuser_id, public_id, fixed FROM `".PREFIX."_communities_forum` WHERE fid = '{$fid}'"); $row2 = $db->super_query("SELECT admin, discussion FROM `".PREFIX."_communities` WHERE id = '{$row['public_id']}'"); if(stripos($row2['admin'], "u{$user_id}|") !== false) $public_admin = true; else $public_admin = false; if($user_info['user_group'] == 1 OR $public_admin AND $row2['discussion']){ if(!$row['fixed']) $fixed = 1; else $fixed = 0; $db->query("UPDATE `".PREFIX."_communities_forum` SET fixed = '{$fixed}' WHERE fid = '{$fid}'"); mozg_clear_cache_file("groups_forum/forum{$row['public_id']}"); } exit(); break;
лайки дарабатываю тока пачемута в js вот такая ащибка панять немагу вчем проблема ощибка ReferenceError: fid is not defined[Подробнее] forum2:1:1 Код (Text): wall_add_like: function(fid, user_id, type){ if($('#wall_like_cnt'+fid).text()) var wall_like_cnt = parseInt($('#wall_like_cnt'+fid).text())+1; else { $('#public_likes_user_block'+fid).show(); $('#update_like'+fid).val('1'); var wall_like_cnt = 1; } $('#wall_like_cnt'+fid).html(wall_like_cnt).css('color', '#2f5879'); $('#wall_active_ic'+fid).addClass('public_wall_like_yes'); $('#wall_like_link'+fid).attr('onClick', 'groups.wall_remove_like('+fid+', '+user_id+', \''+type+'\')'); $('#like_user'+user_id+'_'+fid).show(); updateNum('#like_text_num'+fid, 1); if(type == 'uPages') $.post('/?go=groups_forum&act=fid_like_yes', {fid: fid}); else $.post('/?go=groups_forum&act=fid_like_yes', {fid: fid}); }, wall_remove_like: function(fid, user_id, type){ var wall_like_cnt = parseInt($('#wall_like_cnt'+fid).text())-1; if(wall_like_cnt <= 0){ var wall_like_cnt = ''; $('#public_likes_user_block'+fid).hide(); } $('#wall_like_cnt'+fid).html(wall_like_cnt).css('color', '#95adc0'); $('#wall_active_ic'+fid).removeClass('public_wall_like_yes'); $('#wall_like_link'+fid).attr('onClick', 'forum.wall_add_like('+fid+', '+user_id+', \''+type+'\')'); $('#Xlike_user'+user_id+'_'+fid).hide(); $('#like_user'+user_id+'_'+fid).hide(); updateNum('#like_text_num'+fid); if(type == 'uPages') $.post('/?go=groups_forum&act=fid_like_remove', {fid: fid}); else $.post('/?go=groups_forum&act=fid_like_remove', {fid: fid}); }, wall_like_users_five: function(fid, type){ $('.public_likes_user_block').hide(); if(!ge('like_cache_block'+fid) && $('#wall_like_cnt'+fid).text() && $('#update_like'+fid).val() == 0){ if(type == 'uPages'){ $.post('/?go=groups_forum&act=fid_like_users_five', {fid: fid}, function(data){ $('#likes_users'+fid).html(data+'<span id="like_cache_block'+fid+'"></span>'); $('#public_likes_user_block'+fid).show(); }); } else { $.post('/?go=groups_forum&act=fid_like_users_five', {fid: fid}, function(data){ $('#likes_users'+fid).html(data+'<span id="like_cache_block'+fid+'"></span>'); $('#public_likes_user_block'+fid).show(); }); } } else if($('#wall_like_cnt'+fid).text()) $('#public_likes_user_block'+fid).show(); }, wall_like_users_five_hide: function(){ $('.public_likes_user_block').hide(); }, wall_all_liked_users: function(rid, page_num, liked_num){ $('.public_likes_user_block').hide(); if(page_num) page = '&page='+page_num; else { page = ''; page_num = 1; } if(!liked_num) liked_num = 1; Box.Page('/?go=groups_forum&act=all_liked_users', 'rid='+rid+'&liked_num='+liked_num+page, 'all_liked_users_'+rid+page_num, 638, lang_wall_liked_users, lang_msg_close, 0, 0, 345, 1, 1, 1, 0, 1); }, --- Добавлено --- вот ище 2 ощибки выводит SyntaxError: expected expression, got ','[Подробнее] forum2:1:18 ReferenceError: fid is not defined[Подробнее] forum2:1: