www.gusucode.com > Destoon B2B仿淘宝电子商务网站 UTF8 v6.0源码程序 > destoon/mobile/club.php
<?php /* [Destoon B2B System] Copyright (c) 2008-2015 www.destoon.com This is NOT a freeware, use is subject to license.txt */ $moduleid = 18; require 'common.inc.php'; require DT_ROOT.'/module/club/common.inc.php'; $gid = isset($gid) ? intval($gid) : 0; if($gid) { $GRP = get_group($gid); ($GRP && $GRP['status'] == 3) or mobile_msg($L['my_not_group']); $head_title = $GRP['title'].$MOD['seo_name'].$DT['seo_delimiter'].$MOD['name'].$DT['seo_delimiter'].$head_title; } $head_title = $MOD['name'].$DT['seo_delimiter'].$head_title; switch($action) { case 'my': $_userid or dheader('login.php?forward='.urlencode('club.php?action='.$action.'&gid='.$gid)); require MD_ROOT.'/join.class.php'; $do = new djoin($moduleid); $lists = $do->get_list("username='$_username' AND status=3"); $head_name = $L['my_group_title']; $head_title = $head_name.$DT['seo_delimiter'].$head_title; $foot = ''; include template('club_my', 'mobile'); if(DT_CHARSET != 'UTF-8') toutf8(); break; case 'user': $_userid or dheader('login.php?forward='.urlencode('club.php?action='.$action.'&username='.$username)); (isset($username) && check_name($username)) or $username = ''; $username or mobile_msg($L['msg_not_user']); $user = userinfo($username); $user or mobile_msg($L['msg_not_user']); $typeid = isset($typeid) ? intval($typeid) : 0; in_array($typeid, array(0, 1, 2)) or $typeid = 0; if($typeid == 1) { $condition = "status=3 AND username='$username'"; $r = $db->get_one("SELECT COUNT(*) AS num FROM {$table}_reply WHERE $condition", 'CACHE'); $items = $r['num']; $pages = mobile_pages($items, $page, $pagesize); $lists = array(); if($items) { $result = $db->query("SELECT * FROM {$table}_reply WHERE $condition ORDER BY addtime DESC LIMIT $offset,$pagesize"); while($r = $db->fetch_array($result)) { if(strpos($r['content'], '<hr class="club_break" />') !== false) $r['content'] = substr($r['content'], strpos($r['content'], '<hr class="club_break" />')); $r['title'] = get_intro($r['content'], 50); $r['date'] = timetodate($r['addtime'], 'Y/m/d H:i'); $lists[] = $r; } $db->free_result($result); } } else { $condition = "status=3 AND username='$username'"; if($typeid == 2) $condition .= " AND level>0"; $r = $db->get_one("SELECT COUNT(*) AS num FROM {$table} WHERE $condition", 'CACHE'); $items = $r['num']; $pages = mobile_pages($items, $page, $pagesize); $lists = array(); if($items) { $result = $db->query("SELECT ".$MOD['fields']." FROM {$table} WHERE $condition ORDER BY addtime DESC LIMIT $offset,$pagesize"); while($r = $db->fetch_array($result)) { $r['date'] = timetodate($r['addtime'], 'Y/m/d H:i'); $lists[] = $r; } $db->free_result($result); } } $head_name = $L['user_title']; $head_title = $head_name.$DT['seo_delimiter'].$head_title; $foot = ''; include template('club_user', 'mobile'); if(DT_CHARSET != 'UTF-8') toutf8(); break; case 'fans_quit': ($_userid && $gid) or exit('ko'); $M = $db->get_one("SELECT * FROM {$table}_fans WHERE gid=$gid AND username='$_username'"); if($M) { if($M['status'] == 3) { $itemid = $M['itemid']; $db->query("DELETE FROM {$table}_fans WHERE itemid=$itemid"); exit('ok'); } } exit('ko'); break; case 'fans_join': ($_userid && $gid) or exit('ko'); $M = $db->get_one("SELECT * FROM {$table}_fans WHERE gid=$gid AND username='$_username'"); if($M) { if($M['status'] == 3) exit('ko'); exit('join'); } if($MG['club_join_limit']) { $r = $db->get_one("SELECT COUNT(*) AS num FROM {$table}_fans WHERE username='$_username' AND status>1"); $limit_used = $r['num']; $limit_free = $MG['club_join_limit'] > $limit_used ? $MG['club_join_limit'] - $limit_used : 0; if($limit_used >= $MG['club_join_limit']) exit('max'); } $reason = convert(input_trim($reason), 'UTF-8', DT_CHARSET); $reason = dhtmlspecialchars($reason); if(strlen($reason) > DT_CHARLEN*500) exit('ko'); if($GRP['join_type']) { if(strlen($reason) < 3) exit('reason'); } $status = $GRP['join_type'] ? 2 : 3; $db->query("INSERT INTO {$table}_fans (gid,username,passport,reason,addtime,status) VALUES ('$gid','$_username','$_passport','$reason','$DT_TIME','$status')"); exit($status == 3 ? 'ok' : 'check'); break; case 'fans': $_userid or dheader('login.php?forward='.urlencode('club.php?action='.$action.'&gid='.$gid)); $gid or mobile_msg($L['my_choose_group']); $lists = array(); $condition = "gid='$gid' AND status=3"; $r = $db->get_one("SELECT COUNT(*) AS num FROM {$table}_fans WHERE $condition"); $items = $r['num']; $pages = mobile_pages($items, $page, $pagesize); $result = $db->query("SELECT * FROM {$table}_fans WHERE $condition ORDER BY itemid DESC LIMIT $offset,$pagesize"); while($r = $db->fetch_array($result)) { $r['adddate'] = timetodate($r['addtime'], 'Y/m/d H:i'); $lists[] = $r; } if($items != $GRP['fans']) $db->query("UPDATE {$table}_group SET fans='$items' WHERE itemid='$gid'"); $M = $db->get_one("SELECT * FROM {$table}_fans WHERE gid=$gid AND username='$_username'"); $is_fans = $M ? 1 : 0; $head_title = $L['fans_title'].$DT['seo_delimiter'].$head_title; $foot = ''; include template('club_fans', 'mobile'); if(DT_CHARSET != 'UTF-8') toutf8(); break; case 'reply': $gid or dheader(mobileurl($moduleid)); $itemid or dheader(mobileurl($moduleid, $gid)); check_group($_groupid, $MOD['group_reply']) or mobile_msg($L['reply_no_rights']); if($GRP['post_type'] && !is_fans($GRP)) mobile_msg($L['msg_not_fans'], 'club.php?action=fans&gid='.$gid); $tid = $itemid; $T = $db->get_one("SELECT * FROM {$table} WHERE itemid=$tid"); ($T && $T['status'] == 3) or mobile_msg($L['my_not_post']); $gid == $T['gid'] or mobile_msg($L['my_not_group']); $sql = $_userid ? "username='$_username'" : "ip='$DT_IP'"; $limit_used = $limit_free = $need_password = $need_captcha = $need_question = $fee_add = 0; $today = $today_endtime - 86400; $r = $db->get_one("SELECT COUNT(*) AS num FROM {$table}_reply WHERE $sql AND status>1 AND addtime>$today"); $limit_used = $r['num']; $limit_free = $MG['club_reply_limit'] > $limit_used ? $MG['club_reply_limit'] - $limit_used : 0; if($MG['club_reply_limit'] && $limit_used >= $MG['club_reply_limit']) mobile_msg($L['reply_too_many']); $need_captcha = $MOD['captcha_reply'] == 2 ? $MG['captcha'] : $MOD['captcha_reply']; $need_question = $MOD['question_reply'] == 2 ? $MG['question'] : $MOD['question_reply']; if($need_question) $need_captcha = 1; if(isset($_POST['ok'])) { $captcha = isset($captcha) ? input_trim($captcha) : ''; $msg = captcha($captcha, $need_captcha, true); if($msg) exit('captcha'); $post = array(); $post['content'] = isset($content) ? convert(input_trim(nl2br($content)), 'UTF-8', DT_CHARSET) : ''; require DT_ROOT.'/include/post.func.php'; require MD_ROOT.'/reply.class.php'; $do = new reply($moduleid); if($do->pass($post)) { $post['tid'] = $tid; $post['gid'] = $gid; $need_check = $MOD['check_reply'] == 2 ? $MG['check'] : $MOD['check_reply']; $post['status'] = get_status(3, $need_check); $post['username'] = $_username; $do->add($post); exit($post['status'] == 3 ? 'ok' : 'check'); } exit('ko'); } $head_title = $L['reply_title'].$DT['seo_delimiter'].$head_title; $foot = ''; include template('club_reply', 'mobile'); if(DT_CHARSET != 'UTF-8') toutf8(); break; case 'post': $gid or dheader(mobileurl($moduleid)); $MG['club_limit'] > -1 or mobile_msg($L['post_no_rights']); if($GRP['post_type'] && !is_fans($GRP)) mobile_msg($L['msg_not_fans'], 'club.php?action=fans&gid='.$gid); $sql = $_userid ? "username='$_username'" : "ip='$DT_IP'"; $limit_used = $limit_free = $need_password = $need_captcha = $need_question = $fee_add = 0; $r = $db->get_one("SELECT COUNT(*) AS num FROM {$table} WHERE $sql AND status>1"); $limit_used = $r['num']; $limit_free = $MG['club_limit'] > $limit_used ? $MG['club_limit'] - $limit_used : 0; if($MG['club_limit'] && $limit_used >= $MG['club_limit']) mobile_msg($L['post_too_many']); if($MG['day_limit']) { $today = $today_endtime - 86400; $r = $db->get_one("SELECT COUNT(*) AS num FROM {$table} WHERE $sql AND addtime>$today"); if($r && $r['num'] >= $MG['day_limit']) mobile_msg($L['post_too_many_today']); } if($MG['club_free_limit'] >= 0) { $fee_add = ($MOD['fee_add'] && (!$MOD['fee_mode'] || !$MG['fee_mode']) && $limit_used >= $MG['club_free_limit'] && $_userid) ? dround($MOD['fee_add']) : 0; } else { $fee_add = 0; } if($fee_add) mobile_msg($L['post_msg_fee'].'<a href="'.$MODULE[2]['linkurl'].$DT['file_my'].'?mid='.$moduleid.'&action=add&gid='.$gid.'" rel="external" class="b">'.$L['post_msg_advance'].'</a>'); $need_captcha = $MOD['captcha_add'] == 2 ? $MG['captcha'] : $MOD['captcha_add']; $need_question = $MOD['question_add'] == 2 ? $MG['question'] : $MOD['question_add']; if($need_question) $need_captcha = 1; if(isset($_POST['ok'])) { $captcha = isset($captcha) ? input_trim($captcha) : ''; $msg = captcha($captcha, $need_captcha, true); if($msg) exit('captcha'); $post = array(); $post['gid'] = $GRP['itemid']; $post['catid'] = $GRP['catid']; $post['title'] = isset($title) ? convert(input_trim($title), 'UTF-8', DT_CHARSET) : ''; $post['content'] = isset($content) ? convert(input_trim(nl2br($content)), 'UTF-8', DT_CHARSET) : ''; require DT_ROOT.'/include/post.func.php'; require MD_ROOT.'/club.class.php'; $do = new club($moduleid); if($do->pass($post)) { $post['addtime'] = $post['level'] = $post['fee'] = 0; $post['style'] = $post['template'] = $post['note'] = $post['thumb'] = $post['filepath'] = ''; $need_check = $MOD['check_add'] == 2 ? $MG['check'] : $MOD['check_add']; $post['status'] = get_status(3, $need_check); $post['hits'] = 0; $post['username'] = $_username; $post['areaid'] = $cityid; $do->add($post); if($MOD['show_html'] && $post['status'] > 2) $do->tohtml($do->itemid); exit($post['status'] == 3 ? 'ok|'.$do->itemid : 'check'); } exit('ko'); } $head_title = $L['post_title'].$DT['seo_delimiter'].$head_title; $foot = ''; include template('club_post', 'mobile'); if(DT_CHARSET != 'UTF-8') toutf8(); break; default: dheader(mobileurl($moduleid)); break; } ?>