if ($tmpUIDs) {#会员信息 $query = $db->query("SELECT m.uid,m.username,m.gender,m.oicq,m.aliww,m.groupid,m.memberid,m.icon AS micon ,m.hack,m.honor,m.signature,m.regdate,m.medals,m.userstatus,md.postnum,md.digests,md.rvrc,md.money,md.credit,md.currency,md.thisvisit,md.lastvisit,md.onlinetime,md.starttime $fieldinfo FROM pw_members m LEFT JOIN pw_memberdata md ON m.uid=md.uid $tableinfo WHERE m.uid IN (".S::sqlImplode($tmpUIDs,false).") "); while ($rt = $db->fetch_array($query)) { is_array($pwMembers[$rt['uid']]) ? $pwMembers[$rt['uid']] += $rt : $pwMembers[$rt['uid']] = $rt; $tmpCacheData['UID_'.$rt['uid']] = $rt; } is_object($_cache) && $_cache->update($tmpCacheData,3600); $db->free_result($query); } unset($skey,$_uids,$_cache,$tmpUIDs,$tmpCREDITs,$tmpGROUPs,$tmpColonydb,$tmpCustomdb,$tmpCacheData); **/ } } //用户禁言及词语过滤 $bandb = isban($pwMembers, $fid); $start_limit = $page == 1 || $start_limit < 0 ? 0 : $start_limit + 1; //帖子详细内容 $ping_logs = array(); $pageinverse && ($start_limit += $readnum - 1); //地区字段 $hasAreas = false; $areaFields = array(); foreach ($customfield as $v) { if ($v['viewinread'] && $v['type'] == 7) { $hasAreas = true; $areaFields[] = $v['fieldname'] ? $v['fieldname'] : 'field_' . (int) $v[id]; } } $hasAreas && ($areaids = $areas = array()); foreach ($readdb as $key => $read) {
} else { $start_limit = ($page - 1) * $db_readperpage; if ($page == 1) { $readnum = $db_readperpage - 1; } else { $readnum = $db_readperpage; $start_limit--; } $query = $db->query("SELECT p.*,m.uid,m.groupid,m.userstatus FROM {$pw_posts} p force index(" . getForceIndex('idx_tid') . ") LEFT JOIN pw_members m ON p.authorid=m.uid WHERE p.tid=" . S::sqlEscape($tid) . " AND p.ifcheck='1' ORDER BY p.postdate" . S::sqlLimit($start_limit, $readnum)); while ($read = $db->fetch_array($query)) { $readdb[] = $read; } } $db->free_result($query); } $bandb = isban($readdb, $fid); $start_limit = ($page - 1) * $db_readperpage; foreach ($readdb as $key => $read) { isset($bandb[$read['authorid']]) && ($read['groupid'] = 6); $readdb[$key] = viewread($read, $start_limit++); } function viewread($read, $start_limit) { global $groupid, $admincheck, $attach_url, $attachper, $winduid, $tablecolor, $tpc_author, $tpc_buy, $count, $timestamp, $db_onlinetime, $attachpath, $_G, $readcolorone, $readcolortwo, $lpic, $ltitle, $imgpath, $db_ipfrom, $db_showonline, $stylepath, $db_windpost, $db_windpic, $db_signwindcode, $fid, $tid, $pid, $pic_a, $db_shield, $db_anonymousname; $tpc_buy = $read['buy']; $tpc_author = $read['author']; $read['ifsign'] < 2 && ($read['content'] = str_replace("\n", "<br>", $read['content'])); $read['postdate'] = get_date($read['postdate']); if ($read['ifshield']) { $read['subject'] = $groupid == '3' ? shield($read['ifshield'] == '2' ? 'shield_del_title' : 'shield_title') : ''; $groupid != '3' && ($read['content'] = shield($read['ifshield'] == '1' ? 'shield_article' : 'shield_del_article'));
<?php require_once 'wap_global.php'; require_once R_P . 'require/postfunc.php'; require_once R_P . 'require/forum.php'; empty($winduid) && wap_msg('not_login'); list($db_openpost, $db_poststart, $db_postend) = explode("\t", $db_openpost); if ($db_openpost == 1 && $db_poststart < $db_postend && ($_time['hours'] < $db_poststart || $_time['hours'] > $db_postend)) { wap_msg("post_openpost"); } if (isban($winddb, $fid)) { wap_msg('post_ban'); } $groupid == '7' && wap_msg("post_check"); if ($db_postallowtime && $timestamp - $winddb['regdate'] < $db_postallowtime * 3600) { wap_msg('post_newrg_limit'); } if ($_G['postlimit'] && $winddb['todaypost'] >= $_G['postlimit']) { wap_msg('post_gp_limit'); } if ($_G['postpertime'] && $timestamp - $winddb['lastpost'] <= $_G['postpertime']) { wap_msg('post_limit'); } InitGP(array('action')); !$action && ($action = 'new'); if ($action == 'new') { if (!$_POST['subject'] || !$_POST['content']) { if (!$fid) { $fids = array(); $query = $db->query("SELECT fid FROM pw_forums WHERE password='' AND allowvisit='' AND f_type!='hidden'"); while ($rt = $db->fetch_array($query)) {
(!$tid || !$fid || !$pid) && Showmsg('masingle_data_error'); $sqlsel = $sqltab = $sqladd = ''; if (is_numeric($pid)) { $pw_posts = GetPtable('N', $tid); $sqlsel = "t.anonymous,t.userip,"; $sqltab = "{$pw_posts} t LEFT JOIN pw_members m ON t.authorid=m.uid"; $sqladd = ' AND t.pid=' . pwEscape($pid); } else { $pw_tmsgs = GetTtable($tid); $sqlsel = "t.anonymous,tm.userip,"; $sqltab = "pw_threads t LEFT JOIN {$pw_tmsgs} tm ON t.tid=tm.tid LEFT JOIN pw_members m ON t.authorid=m.uid"; } $userdb = $db->get_one("SELECT {$sqlsel} m.uid,m.username,m.groupid,m.userstatus FROM {$sqltab} WHERE t.tid=" . pwEscape($tid) . " AND t.fid=" . pwEscape($fid) . $sqladd); !$userdb && Showmsg('undefined_action'); $username = $userdb['anonymous'] ? $db_anonymousname : $userdb['username']; if (isban($userdb, $fid)) { Showmsg('member_havebanned'); } elseif ($userdb['groupid'] != '-1') { Showmsg('masigle_ban_fail'); } $pwBanMax = pwRights($isBM, 'banmax'); if (empty($_POST['step'])) { $reason_sel = ''; $reason_a = explode("\n", $db_adminreason); foreach ($reason_a as $k => $v) { if ($v = trim($v)) { $reason_sel .= "<option value=\"{$v}\">{$v}</option>"; } else { $reason_sel .= "<option value=\"\">-------</option>"; } }