/** * @param $uid 用户ID * @param $page 当前页数 * @return unknown_type 返回类型 */ function getReplaysByUser($uid, $page = 1) { global $db_ptable; $uid = (int) $uid; if (!$uid) { return array(); } $pw_posts = GetPtable($db_ptable); (int) $page < 1 && ($page = 1); $start = ($page - 1) * $this->perPage; $limit = pwLimit($start, $this->perPage); $sql = "SELECT p.pid,p.postdate,t.tid,t.fid,t.subject,t.authorid,t.author,t.replies,t.hits,t.topped,t.digest,t.ifupload\r\n\t\t\t FROM {$pw_posts} p LEFT JOIN pw_threads t USING(tid) WHERE p.fid != 0 AND p.authorid= " . pwEscape($uid) . " \r\n\t\t\t AND p.fid != '0' ORDER BY p.postdate DESC {$limit}"; return $this->_query($sql, $start, 're'); }
function viewReply($tid, $page, $replies, $per, $max, $ptable, $order) { global $db, $db_shield; $page == 'e' && ($page = 65535); (int) $page < 1 && ($page = 1); $total = ceil($replies / $per); $total == 0 ? $page = 1 : ($page > $total ? $page = $total : ''); $satrt = ($page - 1) * $per; $id = $satrt; $limit = pwLimit($satrt, $per); $posts = ''; $pw_posts = GetPtable($ptable); $sql = "SELECT p.aid,p.pid,p.subject,p.author,p.authorid,p.content,p.postdate,p.anonymous,p.ifshield,m.groupid \n\t\t\tFROM {$pw_posts} p LEFT JOIN pw_members m ON m.uid = p.authorid\n\t\t\tWHERE tid=" . pwEscape($tid) . " \n\t\t\tAND ifcheck=1 ORDER BY postdate {$limit}"; if ($order == 2) { $sql = "SELECT p.aid,p.pid,p.subject,p.author,p.authorid,p.content,p.postdate,p.anonymous,p.ifshield,m.groupid \n\t\t\t\tFROM {$pw_posts} p LEFT JOIN pw_members m ON m.uid = p.authorid\n\t\t\t\tWHERE tid=" . pwEscape($tid) . " \n\t\t\t\tAND ifcheck=1 ORDER BY postdate desc {$limit}"; } $query = $db->query($sql); while ($ct = $db->fetch_array($query)) { if ($ct['content']) { $id++; if ($ct['ifshield'] || $ct['groupid'] == 6 && $db_shield) { if ($ct['ifshield'] == 2) { $ct['content'] = shield('shield_del_article'); $ct['subject'] = ''; $tpc_shield = 1; } else { $ct['content'] = shield($ct['ifshield'] ? 'shield_article' : 'ban_article'); $ct['subject'] = ''; $tpc_shield = 1; } } $ct['subject'] = str_replace(' ', '', wap_cv($ct['subject'])); $ct['content'] = replySubject($ct['content']); list(, $ct['postdate']) = getLastDate($ct['postdate']); $ct['id'] = $id; if ($order == 2) { $ct['id'] = $replies - $id + 1; } if ($ct['anonymous'] && $ct['authorid'] != $winduid) { $ct['author'] = $db_anonymousname; $ct['authorid'] = 0; } $ct['author'] = wap_cv($ct['author']); $postdb[] = $ct; } } return $postdb; }
/** * @param $type * @param $page * @return unknown_type */ function getRecommendByType($type, $page = 1) { $result = array(); $where = " WHERE (t.fid != 0 OR t.fid IS NULL) "; if ($type) { $where .= " AND p.typeid = " . pwEscape($type); } (int) $page < 1 && ($page = 1); $start = ($page - 1) * $this->perPage; $limit = pwLimit($start, $this->perPage); $query = $this->db->query("SELECT p.*,t.replies,t.hits,t.author,t.authorid,t.lastposter,t.lastpost FROM pw_wappush p LEFT JOIN pw_threads t ON p.tid = t.tid \r\n\t\t\t\t\t{$where} ORDER BY p.id DESC {$limit}"); while ($rt = $this->db->fetch_array($query)) { $rt['index'] = ++$start; list(, $lastDate) = getLastDate($rt['lastpost']); $rt['lastpost'] = $lastDate; $result[] = $rt; } return $result; }
function get($appid, $uid, $num, $start = 0) { if ($num == 'all') { $num = 500; } elseif (!is_numeric($num) || $num < 1) { $num = 20; } elseif ($num > 500) { $num = 500; } (!is_numeric($start) || $start < 0) && ($start = 0); $users = array(); $query = $this->db->query("SELECT friendid FROM pw_friends WHERE status='0' AND uid=" . pwEscape($uid) . pwLimit($start, $num)); while ($rt = $this->db->fetch_array($query)) { $app = $this->db->get_one("SELECT * FROM pw_userapp WHERE uid=" . pwEscape($rt['friendid']) . " AND appid=" . pwEscape($appid)); if (empty($app)) { $users[] = $rt['friendid']; } } return new ApiResponse($users); }
function threadrelated($relatedcon) { global $db, $db_iftag, $db_threadrelated, $forumset, $fid, $read, $tid, $db_modes, $db_dopen, $db_phopen, $db_share_open, $db_groups_open, $groupid, $timestamp; $relatedb = array(); if (in_array($relatedcon, array('allpost', 'alldigest', 'allhits', 'allreply', 'forumpost', 'forumdigest', 'forumhits', 'forumreply'))) { //require_once(R_P.'require/element.class.php'); //$element = new Element($forumset['relatednums']); $element = L::loadClass('element'); $element->setDefaultNum($forumset['relatednums']); switch ($relatedcon) { case 'allpost': $relatedb = $element->newSubject(); break; case 'alldigest': $relatedb = $element->digestSubject(); break; case 'allhits': $relatedb = $element->hitSort(); break; case 'allreply': $relatedb = $element->replySort(); break; case 'forumpost': $relatedb = $element->newSubject($fid); break; case 'forumdigest': $relatedb = $element->digestSubject($fid); break; case 'forumhits': $relatedb = $element->hitSort($fid); break; case 'forumreply': $relatedb = $element->replySort($fid); break; } } elseif ($relatedcon == 'oinfo') { //继续改进 if ($db_modes['o']['ifopen']) { require_once "require/app_core.php"; $addwhere = ''; if (!$db_dopen) { $addwhere .= " AND type!='diary'"; } if (!$db_phopen) { $addwhere .= " AND type!='photo'"; } if (!$db_share_open) { $addwhere .= " AND type!='share'"; } if (!$db_groups_open) { $addwhere .= " AND type!='colony'"; } $query = $db->query("SELECT type,descrip FROM pw_feed WHERE uid=" . pwEscape($read['authorid']) . $addwhere . " ORDER BY timestamp DESC " . pwLimit(0, $forumset['relatednums'])); while ($rt = $db->fetch_array($query)) { $rt['title'] = parseFeedRead($rt['descrip']); $rt['url'] = "u.php?uid={$read['authorid']}"; unset($rt['type']); $relatedb[] = $rt; } } } elseif (in_array($relatedcon, array('pictags', 'hottags'))) { $tagid = $tagdbs = array(); $endtime = $timestamp - 30 * 24 * 3600; $sql = 'WHERE t.ifcheck=1 AND t.tid !=' . pwEscape($tid) . ' AND t.postdate >=' . pwEscape($endtime); $fidout = array('0'); $query = $db->query("SELECT fid,allowvisit,password FROM pw_forums WHERE type<>'category'"); while ($rt = $db->fetch_array($query)) { $allowvisit = !$rt['allowvisit'] || $rt['allowvisit'] != str_replace(",{$groupid},", '', $rt['allowvisit']) ? true : false; if ($rt['password'] || !$allowvisit) { $fidout[] = $rt['fid']; } } $fidout = pwImplode($fidout); $fidout && ($sql .= " AND fid NOT IN ({$fidout})"); if ($db_iftag) { if ($read['tags'] && $relatedcon == 'pictags') { list($tagdb, $tpc_tag) = explode("\t", $read['tags']); $tagdbs = explode(' ', $tagdb); } elseif ($relatedcon == 'hottags') { @(include_once D_P . 'data/bbscache/tagdb.php'); $j = 0; foreach ($tagdb as $key => $val) { $j++; if ($j > 5) { break; } $tagdbs[] = $key; } unset($tagdb); } if ($tagdbs) { $query = $db->query("SELECT tagid FROM pw_tags WHERE tagname IN(" . pwImplode($tagdbs) . ')'); while ($rt = $db->fetch_array($query)) { $tagid[] = $rt['tagid']; } } if ($tagid) { $query = $db->query("SELECT t.tid,t.subject FROM pw_tagdata tg LEFT JOIN pw_threads t USING(tid) {$sql} AND tg.tagid IN(" . pwImplode($tagid) . ") GROUP BY tid ORDER BY postdate DESC " . pwLimit(0, $forumset['relatednums'])); while ($rt = $db->fetch_array($query)) { $rt['title'] = $rt['subject']; $rt['url'] = "read.php?tid=" . $rt['tid']; unset($rt['subject']); unset($rt['tid']); $relatedb[] = $rt; } } } } elseif (in_array($relatedcon, array('ownpost', 'owndigest', 'ownhits', 'ownreply'))) { $endtime = $timestamp - 15 * 24 * 3600; $sql = "WHERE ifcheck=1 AND tid !=" . pwEscape($tid) . "AND postdate >=" . pwEscape($endtime) . " AND authorid=" . pwEscape($read['authorid']) . " AND fid>0 "; $orderby = ''; switch ($relatedcon) { case 'ownpost': $orderby .= " ORDER BY postdate DESC"; break; case 'owndigest': $sql .= " AND digest>0"; $orderby .= " ORDER BY postdate DESC"; break; case 'ownhits': $orderby .= " ORDER BY hits DESC"; break; case 'ownreply': $orderby .= " ORDER BY replies DESC"; break; } $query = $db->query("SELECT tid,subject FROM pw_threads FORCE INDEX(postdate) {$sql} {$orderby}" . pwLimit(0, $forumset['relatednums'])); while ($rt = $db->fetch_array($query)) { $rt['title'] = $rt['subject']; $rt['url'] = "read.php?tid=" . $rt['tid']; unset($rt['subject']); unset($rt['tid']); $relatedb[] = $rt; } } return $relatedb; }
$metaKeywords = $pw_seoset->getPageMetakeyword($foruminfo['keywords'], $foruminfo['name']); if ($groupid != 3 && !$foruminfo['allowvisit'] && !admincheck($foruminfo['forumadmin'], $foruminfo['fupadmin'], $windid)) { forum_creditcheck(); } if ($groupid != 3 && $foruminfo['forumsell'] && !admincheck($foruminfo['forumadmin'], $foruminfo['fupadmin'], $windid)) { forum_sell($fid); } $db_perpage = 100; $db_maxpage && $page > $db_maxpage && ($page = $db_maxpage); (!is_numeric($page) || $page < 1) && ($page = 1); if ($page > 1) { $start_limit = ($page - 1) * $db_perpage; } else { $start_limit = 0; $page = 1; } $startid = $start_limit + 1; $count = $foruminfo['topic']; $numofpage = ceil($count / $db_perpage); if ($numofpage && $page > $numofpage) { $page = $numofpage; } $pages = PageDiv($count, $page, $numofpage, "{$DIR}f{$fid}", $db_maxpage); $threaddb = array(); $query = $db->query("SELECT * FROM pw_threads WHERE fid=" . pwEscape($fid) . " AND topped<=3 AND ifcheck='1' ORDER BY topped DESC, lastpost DESC" . pwLimit($start_limit, $db_perpage)); while ($thread = $db->fetch_array($query)) { $threaddb[] = $thread; } $db->free_result($query); require_once PrintEot('simple_header'); require_once PrintEot('simple_thread');
//exit; } } else { //require_once(R_P.'require/postfunc.php'); PostCheck(1, $o_photos_gdcheck, $o_photos_qcheck); InitGP(array('pintro'), 'P'); empty($pintro) && ($pintro = array()); require_once R_P . 'require/bbscode.php'; $wordsfb = L::loadClass('FilterUtil'); foreach ($pintro as $k => $v) { if (($banword = $wordsfb->comprise($v)) !== false) { Showmsg('content_wordsfb'); } } if (!$aid) { $albumcheck = $db->get_one("SELECT aid FROM pw_cnalbum WHERE atype='0' AND ownerid=" . pwEscape($winduid) . pwLimit(1)); if ($albumcheck) { Showmsg('colony_albumclass'); } else { $db->update("INSERT INTO pw_cnalbum SET " . pwSqlSingle(array('aname' => getLangInfo('app', 'defaultalbum'), 'atype' => 0, 'ownerid' => $winduid, 'owner' => $windid, 'lasttime' => $timestamp, 'crtime' => $timestamp))); $aid = $db->insert_id(); } } !$aid && Showmsg('colony_albumclass'); $rt = $db->get_one("SELECT aname,photonum,ownerid,private,lastphoto FROM pw_cnalbum WHERE atype='0' AND aid=" . pwEscape($aid)); if (empty($rt)) { Showmsg('undefined_action'); } elseif ($winduid != $rt['ownerid']) { Showmsg('colony_phototype'); } $o_maxphotonum && $rt['photonum'] >= $o_maxphotonum && Showmsg('colony_photofull');
$pwServer['REQUEST_METHOD'] != 'POST' && PostCheck($verify); InitGP(array('step', 'by', 'sendto', 'touser', 'subject', 'atc_content', 'present', 'percount', 'count')); $cache_file = D_P . "data/bbscache/" . substr($admin_pwd, 10, 10) . ".txt"; if (!$step) { writeover($cache_file, $atc_content); } else { $atc_content = readover($cache_file); } if (empty($subject) || empty($atc_content)) { adminmsg('sendmsg_empty'); } $sendmessage = $atc_content; !$percount && ($percount = 100); empty($step) && ($step = 1); $start = ($step - 1) * $percount; $limit = pwLimit($start, $percount); $creditlist = ''; $sendmessage .= '<br /><br /><b>' . getLangInfo('other', 'affect') . '</b>'; foreach ($present as $key => $val) { if (empty($val)) { continue; } if (is_numeric($val)) { $creditlist .= "&present[{$key}]={$val}"; $sendmessage .= $credit->cType[$key] . "<font color=#FA891B>(+{$val})</font> "; } else { adminmsg('credit_isnum'); } } if ($by == 0) { !$sendto && adminmsg('operate_error');
$sendGroup[] = $rs['gid']; } $sendGroup = array_diff($sendGroup, array('-1')); } $subject = S::escapeChar($subject); $sendmessage = S::escapeChar($atc_content); $messageInfo = array('create_uid' => $winduid, 'create_username' => $windid, 'title' => $subject, 'content' => $sendmessage); $messageServer->createMessageTasks($sendGroup, $messageInfo); $count = $db->get_value("SELECT COUNT(*) AS sum FROM pw_members WHERE groupid IN(" . S::sqlImplode($sendto) . ')'); } else { S::gp(array('count')); } $perpage = 10000; $havesend = $step * $perpage; $tmpArray = $sendto + array(0); $db->query("CREATE TEMPORARY TABLE tmp_datastate SELECT uid FROM pw_members WHERE groupid IN(" . S::sqlImplode($tmpArray) . ')' . pwLimit(($step - 1) * $perpage, $perpage)); $db->update("INSERT INTO pw_ms_configs (uid) SELECT a.uid FROM tmp_datastate a LEFT JOIN pw_ms_configs b ON a.uid=b.uid WHERE b.uid IS NULL"); $db->update("UPDATE tmp_datastate a LEFT JOIN pw_members m ON a.uid=m.uid LEFT JOIN pw_ms_configs c ON a.uid=c.uid SET m.newpm=m.newpm+1,c.notice_num=c.notice_num+1"); //* 清除pw_members缓存 start $_num = $db->get_value("SELECT count(*) FROM tmp_datastate"); if ($_num > 1500) { $_cacheService = L::loadClass('cacheservice', 'utility'); $_cacheService->flush(PW_CACHE_MEMCACHE); } else { $_query = $db->query("SELECT uid FROM tmp_datastate"); $_uids = array(); while ($rt = $db->fetch_array($_query)) { $_uids[] = $rt['uid']; } Perf::gatherInfo('changeMembersWithUserIds', array('uid' => $_uids)); }
if (count($newtiddb) > 0) { $db->update("DELETE FROM {$pcvaluetable} WHERE tid IN(" . pwImplode($newtiddb) . ") AND ifrecycle=0"); } is_array($threadb) && ($alltids = implode(',', $threadb)); $count = $db->get_value("SELECT COUNT(tid) as count FROM {$pcvaluetable} WHERE ifrecycle=0"); } if ($count > 0) { $page < 1 && ($page = 1); $numofpage = ceil($count / $db_perpage); if ($numofpage && $page > $numofpage) { $page = $numofpage; } $pages = numofpage($count, $page, $numofpage, "{$admin_file}?adminjob=postcate&action=postcate&pcid={$pcid}&newfield={$newfield}&step={$step}&"); if ($step != 'search') { $start = ($page - 1) * $db_perpage; $limit = pwLimit($start, $db_perpage); } $catedb = array(); $query = $db->query("SELECT pv.tid,t.fid,t.subject,t.author,t.authorid,t.postdate FROM {$pcvaluetable} pv LEFT JOIN pw_threads t ON pv.tid=t.tid WHERE 1 AND ifrecycle=0 {$sql} ORDER BY t.postdate DESC {$limit}"); while ($rt = $db->fetch_array($query)) { $rt['postdate'] = get_date($rt['postdate']); $catedb[] = $rt; } } include PrintEot('postcate'); exit; } elseif ($_POST['sendmsg'] || $action == 'sendmsg') { InitGP(array('step', 'nexto')); if (empty($step)) { InitGP(array('selid', 'alltids')); if ($selid) {
function bakupdata($tabledb, $start = 0) { global $db, $sizelimit, $tableid, $start, $stop, $rows; $tableid = $tableid ? $tableid - 1 : 0; $stop = 0; $t_count = count($tabledb); for ($i = $tableid; $i < $t_count; $i++) { $ts = $db->get_one("SHOW TABLE STATUS LIKE " . pwEscape($tabledb[$i])); $rows = $ts['Rows']; $flag = true; while ($flag) { $limitadd = pwLimit($start, 100000); $query = $db->query("SELECT * FROM {$tabledb[$i]} {$limitadd}"); $num_F = $db->num_fields($query); while ($datadb = $db->fetch_array($query, MYSQL_NUM)) { $start++; $bakupdata .= "INSERT INTO {$tabledb[$i]} VALUES(" . "'" . $db->escape_string($datadb[0]) . "'"; $tempdb = ''; for ($j = 1; $j < $num_F; $j++) { $tempdb .= ",'" . $db->escape_string($datadb[$j]) . "'"; } $bakupdata .= $tempdb . ");\n"; if ($sizelimit && strlen($bakupdata) > $sizelimit * 1000) { $flag = false; break; } } $db->free_result($query); if ($start >= $rows) { $flag = false; $start = 0; } } $bakupdata .= "\n"; if ($sizelimit && strlen($bakupdata) > $sizelimit * 1000) { $stop = 1; break; } } if ($stop == 1) { $tableid = ++$i; } return $bakupdata; }
if (!$ifadmin && (!$colony['ifcyer'] || $colony['ifadmin'] == '-1')) { Showmsg('colony_cnmenber'); } InitGP(array('aid', 'selaid')); $album = $db->get_one("SELECT aname,ownerid,photonum FROM pw_cnalbum WHERE atype='0' AND aid=" . pwEscape($aid)); if (empty($album) || $album['ownerid'] != $winduid) { Showmsg('data_error'); } if (empty($_POST['step'])) { $options = ''; $query = $db->query("SELECT aid,aname FROM pw_cnalbum WHERE atype='1' AND ownerid=" . pwEscape($cyid) . ' ORDER BY aid DESC'); while ($rt = $db->fetch_array($query)) { $options .= "<option value=\"{$rt['aid']}\"" . ($rt['aid'] == $selaid ? ' selected' : '') . ">{$rt['aname']}</option>"; } $cnpho = array(); $query = $db->query("SELECT pid,path,ifthumb FROM pw_cnphoto WHERE aid=" . pwEscape($aid) . ' ORDER BY pid ' . pwLimit(0, $o_maxphotonum)); while ($rt = $db->fetch_array($query)) { $rt['path'] = getphotourl($rt['path'], $rt['ifthumb']); $cnpho[] = $rt; } list($isheader, $isfooter, $tplname, $isleft) = array(true, true, "m_galbum", true); } else { InitGP(array('selid')); if (!$selid || !is_array($selid)) { Showmsg('colony_select_photo'); } if (empty($selaid)) { Showmsg('colony_albumclass'); } $selalbum = $db->get_one("SELECT aname,photonum,ownerid,lastphoto FROM pw_cnalbum WHERE atype='1' AND aid=" . pwEscape($selaid)); if (empty($selalbum)) {
$tpcdb = array(); if ($tiddb) { $query = $db->query("SELECT * FROM pw_threads WHERE tid IN (" . pwImplode($tiddb) . ") {$pcsqladd} ORDER BY {$orderway} {$asc}"); while ($thread = $db->fetch_array($query)) { $tpcdb[] = $thread; } $db->free_result($query); } } elseif ($limit2) { if (empty($urladd) && strtolower($db_datastore) == 'memcache' && !$R && $offset < 980) { $threadlist = L::loadClass("threadlist"); $tmpTpcdb = $threadlist->getThreads($fid, $offset, $limit2); $tpcdb = array_merge((array) $tpcdb, (array) $tmpTpcdb); } else { //$topadd .= $R ? 'topped ASC,' : 'topped DESC,'; $query = $db->query("SELECT * FROM pw_threads WHERE {$sql} {$searchadd} ORDER BY {$topadd} {$orderway} {$asc} " . pwLimit($offset, $limit2)); while ($thread = $db->fetch_array($query)) { $tpcdb[] = $thread; } $db->free_result($query); $R && ($tpcdb = array_reverse($tpcdb)); } } //Start Here pwcache if ($db_ifpwcache & 112 && pwFilemtime(D_P . 'data/bbscache/hitsort_judge.php') < $timestamp - 600) { include_once D_P . 'data/bbscache/hitsort_judge.php'; $updatelist = $updatetype = array(); foreach ($tpcdb as $thread) { if ($db_ifpwcache & 16) { if ($thread['hits'] > $hitsort_judge['hitsort'][$fid] && $thread['fid'] == $fid) { $updatelist[] = array('hitsort', $fid, $thread['tid'], $thread['hits'], '', 0);
$pwSQL = "WHERE groupid IN(" . pwImplode($pwSendmail['info']) . ")"; } elseif ($pwSendmail['by'] == 1) { require_once R_P . 'require/getonlineuser.php'; $onlineuser = GetOnlineUser(); $uids = array(); foreach ($onlineuser as $key => $value) { is_numeric($key) && ($uids[] = $key); } $pwSQL = "WHERE uid IN(" . pwImplode($uids) . ")"; } elseif ($pwSendmail['by'] == 2) { //TODO Efficiency problems $pwSQL = "WHERE regdate BETWEEN" . pwEscape($pwSendmail['info']['stime']) . "AND" . pwEscape($pwSendmail['info']['etime']); } else { adminmsg('operate_error'); } $limit = pwLimit($pwSendmail['step'] * $pwSendmail['num'], $pwSendmail['num']); $query = $db->query("SELECT uid,username,email FROM pw_members {$pwSQL} {$limit}"); while ($rt = $db->fetch_array($query)) { if (!$rt['email'] || !preg_match("/^[-a-zA-Z0-9_\\.]+@([0-9A-Za-z][0-9A-Za-z-]+\\.)+[A-Za-z]{2,5}\$/", $rt['email'])) { continue; } $sendsubject = str_replace(array('$winduid', '$windid', '$email'), array($rt['uid'], $rt['username'], $rt['email']), $pwSendmail['subject']); $sendcontent = str_replace(array('$winduid', '$windid', '$email'), array($rt['uid'], $rt['username'], $rt['email']), $pwSendmail['content']); sendemail($rt['email'], $sendsubject, $sendcontent, 'email_additional'); } $pwSendmail['step']++; $havesend = $pwSendmail['sent'] = $pwSendmail['step'] * $pwSendmail['num']; $count = $pwSendmail['count']; if ($pwSendmail['count'] > $pwSendmail['sent']) { writeover($tmpCachefile, "<?php\r\ndie();\r\n?>\r\n" . serialize($pwSendmail)); $j_url = "{$basename}&action={$action}";
function getSearchvalue($field, $type, $alltidtype = false, $backtype = false) { /*获取搜索结果*/ global $db_perpage, $page, $modelid, $fid, $basename; $field = unserialize(StrCode($field, 'DECODE')); $sqladd = ''; $fid && ($sqladd .= " fid=" . pwEscape($fid)); $fielddb = postTopic::getFieldData($modelid, $type); foreach ($field as $key => $value) { if ($value) { if (in_array($fielddb[$key]['type'], array('number', 'radio', 'select'))) { $sqladd .= $sqladd ? " AND " . $fielddb[$key]['fieldname'] . "=" . pwEscape($value) : $fielddb[$key]['fieldname'] . "=" . pwEscape($value); } elseif ($fielddb[$key]['type'] == 'checkbox') { $checkboxs = ''; foreach ($value as $cv) { $checkboxs .= $checkboxs ? ',' . $cv : $cv; } $value = '%,' . $checkboxs . ',%'; $sqladd .= $sqladd ? " AND " . $fielddb[$key]['fieldname'] . " LIKE(" . pwEscape($value) . ")" : $fielddb[$key]['fieldname'] . " LIKE(" . pwEscape($value) . ")"; } elseif ($fielddb[$key]['type'] == 'calendar' && ($value['start'] || $value['end'])) { $value['start'] && ($value['start'] = PwStrtoTime($value['start'])); $value['end'] && ($value['end'] = PwStrtoTime($value['end'])); if ($value['start'] > $value['end'] && $value['start'] && $value['end']) { Showmsg('calendar_error'); } $sqladd .= $sqladd ? " AND " . $fielddb[$key]['fieldname'] . ">=" . pwEscape($value['start']) . " AND " . $fielddb[$key]['fieldname'] . "<=" . pwEscape($value['end']) : $fielddb[$key]['fieldname'] . ">=" . pwEscape($value['start']) . " AND " . $fielddb[$key]['fieldname'] . "<=" . pwEscape($value['end']); } elseif (in_array($fielddb[$key]['type'], array('text', 'url', 'email', 'textarea'))) { $value = '%' . $value . '%'; $sqladd .= $sqladd ? " AND " . $fielddb[$key]['fieldname'] . " LIKE(" . pwEscape($value) . ")" : $fielddb[$key]['fieldname'] . " LIKE(" . pwEscape($value) . ")"; } elseif ($fielddb[$key]['type'] == 'range' && $value['min'] && $value['max']) { $sqladd .= $sqladd ? " AND " . $fielddb[$key]['fieldname'] . ">=" . pwEscape($value['min']) . " AND " . $fielddb[$key]['fieldname'] . "<=" . pwEscape($value['max']) : $fielddb[$key]['fieldname'] . ">=" . pwEscape($value['min']) . " AND " . $fielddb[$key]['fieldname'] . "<=" . pwEscape($value['max']); } else { $sqladd .= ''; } } } if ($sqladd) { !$page && ($page = 1); $start = ($page - 1) * $db_perpage; $limit = pwLimit($start, $db_perpage); $tablename = GetTopcitable($modelid); $sqladd .= $sqladd ? " AND ifrecycle=0" : " ifrecycle=0"; $count = $this->db->get_value("SELECT COUNT(*) as count FROM {$tablename} WHERE {$sqladd}"); $query = $this->db->query("SELECT tid FROM {$tablename} WHERE {$sqladd} {$limit}"); while ($rt = $this->db->fetch_array($query)) { $tiddb[] = $rt['tid']; } if ($alltidtype) { $query = $this->db->query("SELECT tid FROM {$tablename} WHERE {$sqladd}"); while ($rt = $this->db->fetch_array($query)) { $alltiddb[] = $rt['tid']; } } !$count && ($count = -1); } else { if ($backtype) { adminmsg('topic_search_none', "{$basename}&action=topic&modelid={$modelid}"); } Showmsg('topic_search_none'); } return array($count, $tiddb, $alltiddb); }
/** * 获取好友列表 * * @param int $uid 需要查找的uid; * @param int $start limit条件 * @param int $num limit条件 * @param int $ftype 好友分组 * @param int $show 是否需要详细数据 * @return array */ function getFriends($uid, $start = 0, $num = 0, $ftype = false, $show = false, $imgtype = 'm') { global $db, $db_onlinetime, $timestamp, $winduid; $fild = 'm.uid,m.username,f.ftid,f.iffeed'; $order = $where = ''; if ($show) { $fild .= ',m.icon as face,m.honor,md.f_num,md.thisvisit,md.lastvisit'; $left = 'LEFT JOIN pw_memberdata md ON f.friendid=md.uid'; $order = 'md.thisvisit'; } else { $left = ''; $order = 'f.joindate'; } if ($ftype !== false && $ftype !== '') { $ftype = (int) $ftype; $where = ' AND f.ftid=' . pwEscape($ftype); } $start = (int) $start; $num = (int) $num; if ($start || $num) { !$num && ($num = 8); $limit = pwLimit($start, $num); } else { $limit = ''; } $rs = $db->query("SELECT {$fild} FROM pw_friends f LEFT JOIN pw_members m ON f.friendid=m.uid {$left} WHERE f.uid=" . pwEscape($uid) . " AND f.status=0 {$where} ORDER BY {$order} DESC {$limit}"); $result = array(); if ($show) { require_once R_P . 'require/showimg.php'; while ($one = $db->fetch_array($rs)) { list($one['face']) = showfacedesign($one['face'], 1, $imgtype); $one['honor'] = substrs($one['honor'], 90); $one['lastvisit'] = get_date($one['lastvisit']); $result[$one['uid']] = $one; } } else { while ($one = $db->fetch_array($rs)) { $result[$one['uid']] = $one; } } count($result) == 0 && ($result = false); return $result; }
function gethotfavor($fid = 0, $num = 0) { global $timestamp, $forum; !$fid && ($fid = getCommonFid()); $num = intval($num) ? intval($num) : $this->cachenum; $sqladd = ''; $fid && ($sqladd .= " AND fid IN ({$fid}) "); isset($forum) || (include D_P . 'data/bbscache/forum_cache.php'); $favors = array(); $query = $this->db->query("SELECT tid,fid,author,authorid,subject,postdate,hits,replies,favors FROM pw_threads WHERE favors>0 AND postdate >=" . pwEscape($timestamp - 360 * 24 * 3600) . " {$sqladd} ORDER BY favors DESC " . pwLimit($num)); while ($rt = $this->db->fetch_array($query)) { $favor = array(); $favor['url'] = 'read.php?tid=' . $rt['tid']; $favor['title'] = $rt['subject']; $favor['value'] = $rt['favors']; $favor['posttime'] = get_date($rt['postdate']); $favor['forum'] = $forum[$rt['fid']]['name']; $favor['image'] = ''; $favor['addition'] = $rt; $favors[] = $favor; } return $favors; }
} if (!$admincheck) { !$foruminfo['allowvisit'] && forum_creditcheck(); #积分限制浏览 $foruminfo['forumsell'] && forum_sell($fid); #出售版块 } $per = 5; $start = ($page - 1) * $per; $tids = array(); /* 置顶贴处理 */ $topTids = $foruminfo['topthreads']; $topTids = explode(',', $topTids); if ($topTids && $start < count($topTids)) { $L = (int) min(count($topTids) - $start, $per); $limit = pwLimit($start, $L); $query = $db->query("SELECT * FROM pw_threads WHERE fid!=0 AND tid IN(" . pwImplode($topTids) . ") ORDER BY specialsort DESC,lastpost DESC {$limit}"); while ($rt = $db->fetch_array($query)) { $id++; if ($rt['anonymous'] && $rt['authorid'] != $winduid && !$pwAnonyHide) { $rt['author'] = $db_anonymousname; $rt['authorid'] = 0; } $rt['postdate'] = get_date($rt['postdate']); $rt['id'] = $id; $rt['subject'] = wap_cv(str_replace(' ', '', $rt['subject'])); $tids[] = $rt; } $db->free_result($query); } InitGP(array('t'), 'GP');
$sql .= ' postdate<' . pwEscape($postdate_e); $urladd .= "&postdate_e={$postdate_e}"; } $ordertype = $ordertype == 'asc' ? 'asc' : 'desc'; $urladd .= "&ordertype={$ordertype}&lines={$lines}"; $count = $db->get_value("SELECT COUNT(*) AS count FROM pw_share WHERE {$sql}"); empty($count) && adminmsg('share_not_exist', "{$basename}&action=share"); !is_numeric($lines) && ($lines = 30); $page < 1 && ($page = 1); $numofpage = ceil($count / $lines); if ($numofpage && $page > $numofpage) { $page = $numofpage; } $pages = numofpage($count, $page, $numofpage, "{$basename}&action=share&job=list{$urladd}&"); $start = ($page - 1) * $lines; $limit = pwLimit($start, $lines); $query = $db->query("SELECT * FROM pw_share WHERE {$sql} " . "ORDER BY postdate {$ordertype} " . $limit); while ($rt = $db->fetch_array($query)) { $rt['postdate'] = $rt['postdate'] ? get_date($rt['postdate']) : '-'; $temp = unserialize($rt['content']); $rt['link'] = $temp['link']; if ($rt['type'] == 'user') { $rt['title'] = "<a href=\"{$rt['link']}\" target=\"_blank\">" . $temp['user']['username'] . "</a>"; } elseif ($rt['type'] == 'photo') { $belong = getLangInfo('app', 'photo_belong'); $rt['image'] = $temp['photo']['image']; $temp_uid = $temp['photo']['uid']; $rt['title'] = $belong . "<a href=\"u.php?uid={$temp_uid}\" target=\"_blank\">" . $temp['photo']['username'] . "</a>"; } elseif ($rt['type'] == 'album') { $belong = getLangInfo('app', 'photo_belong'); $temp_uid = $temp['album']['uid'];
$rt['descrip'] = appShield('ban_feed'); } $key = get_date($rt['timestamp'], 'y-m-d'); list($rt['faceurl']) = showfacedesign($rt['icon'], '1', 's'); $rt['appicon'] = getAppIcon($rt['type']); $feeds[$key][] = $rt; } } $friends = getFriends($u, 0, 18, '', 1); //$sendfriends = getFriends($winduid,0,0,false,1); //留言板 if ($privacy['msgboard']) { $boards = array(); require_once R_P . 'require/bbscode.php'; $wordsfb = L::loadClass('FilterUtil'); $query = $db->query("SELECT o.*,m.icon as face,m.groupid FROM pw_oboard o LEFT JOIN pw_members m ON o.uid=m.uid WHERE o.touid=" . pwEscape($u) . " ORDER BY o.id DESC " . pwLimit(0, 15)); while ($rt = $db->fetch_array($query)) { $rt['postdate'] = get_date($rt['postdate']); list($rt['face']) = showfacedesign($rt['face'], 1, 'm'); if ($rt['groupid'] == 6 && $db_shield && $groupid != 3) { $rt['title'] = appShield('ban_feed'); } elseif (!$wordsfb->equal($rt['ifwordsfb'])) { $rt['title'] = $wordsfb->convert($rt['title'], array('id' => $rt['id'], 'type' => 'oboard', 'code' => $rt['ifwordsfb'])); } if (strpos($rt['title'], '[s:') !== false) { $rt['title'] = showface($rt['title']); } if (strpos($rt['title'], '[url') !== false) { $rt['title'] = convert($rt['title'], $db_windpost); } $boardids[] = $rt['id'];
/** * 获取最新收藏 * * @param string $type :无用参数 * @param string $fid * @param int $num * @return array */ function newFavorsort($type = false, $fid = '', $num = 0) { global $forum; $num = intval($num) ? intval($num) : $this->defaultnum; $sqladd = ''; $favors = array(); !$fid && ($fid = getCommonFid()); isset($forum) || (include D_P . 'data/bbscache/forum_cache.php'); $fid && ($sqladd .= " AND e.mark IN ({$fid}) "); $query = $this->db->query("SELECT t.tid,t.fid,t.author,t.authorid,t.subject,t.hits,t.replies,t.postdate,t.hits,t.replies,t.favors,e.addition,e.time,t.replies,t.hits FROM pw_elements e LEFT JOIN pw_threads t ON e.id=t.tid WHERE e.type='newfavor' {$sqladd} ORDER BY e.value DESC " . pwLimit($num)); while ($rt = $this->db->fetch_array($query)) { $favor = array(); $favor['url'] = 'read.php?tid=' . $rt['tid']; $favor['title'] = $rt['subject']; $favor['value'] = $rt['favors']; $favor['posttime'] = $rt['postdate']; $favor['favortime'] = get_date($rt['time']); $favor['forum'] = $forum[$rt['fid']]['name']; list($favor['favorid'], $favor['favorer']) = explode('|', $rt['addition']); unset($rt['addition']); $favor['image'] = ''; $favor['replies'] = $rt['replies']; $favor['hits'] = $rt['hits']; $favor['addition'] = $rt; $favors[] = $favor; } return $favors; }
} if (isset($mfriendkeys) && count($mfriendkeys) > 0) { $query = $db->query('SELECT uid,username,icon as face FROM pw_members WHERE uid IN(' . pwImplode($mfriendkeys) . ')'); while ($rt = $db->fetch_array($query)) { list($rt['face']) = showfacedesign($rt['face'], '1', 'm'); $mosort[] = $rt; } } else { @(include_once D_P . 'data/bbscache/mode_o_mosort.php'); if (!$mosort || $mosort['time'] < $timestamp - 86400) { $mosort = array(); if ($db_ifpwcache & 1) { $sql = "SELECT m.uid,m.username,m.icon as face FROM pw_elements e LEFT JOIN pw_members m ON e.id=m.uid WHERE e.type='usersort' AND e.mark='monthpost' ORDER BY e.value DESC " . pwLimit(6); } else { $montime = PwStrtoTime(get_date($timestamp, 'Y-m') . '-1'); $sql = "SELECT m.uid,m.username,m.icon as face FROM pw_memberdata md LEFT JOIN pw_members m USING(uid) WHERE md.lastpost>" . pwEscape($montime) . " AND md.postnum>0 ORDER BY md.monthpost DESC " . pwLimit(6); } $query = $db->query($sql); while ($rt = $db->fetch_array($query)) { list($rt['face']) = showfacedesign($rt['face'], '1', 'm'); $mosort[] = $rt; } $mosort['time'] = $timestamp; writeover(D_P . 'data/bbscache/mode_o_mosort.php', "<?php\r\n\$mosort=" . pw_var_export($mosort) . ";\r\n?>"); } $ifmosortcache = 1; unset($mosort['time']); } $lastposttable = GetPtable($db_ptable); #'pw_posts'.$db_ptable; //经常回复我帖子的用户
$db->update("DELETE FROM {$pw_posts} WHERE pid IN ({$_pids})"); $db->update("DELETE FROM pw_recycle WHERE pid IN ({$_pids})"); } refreshto("forumcp.php?action=edit&type={$type}&fid={$fid}&step=3&ptable={$ptable}&verify={$verifyhash}", 'delete_recycle'); } else { $logdb = array('type' => 'recycle', 'username1' => '', 'username2' => $windid, 'field1' => $fid, 'field2' => '', 'field3' => '', 'descrip' => 'recycle_reply_empty', 'timestamp' => $timestamp, 'ip' => $onlineip, 'affect' => '', 'forum' => $forum[$fid]['name'], 'reason' => ''); writelog($logdb); refreshto("forumcp.php?action=edit&type=precycle&fid={$fid}", 'operate_success'); } } } elseif ($type == 'msg') { $msgdb = array(); $pages = ''; $page = $_GET['page']; (int) $page < 1 && ($page = 1); $query = $db->query('SELECT id,uid,username,toname,msgtype,posttime,savetime,message FROM pw_forummsg WHERE fid=' . pwEscape($fid) . ' ORDER BY posttime DESC ' . pwLimit(($page - 1) * $db_perpage, $db_perpage)); while ($rt = $db->fetch_array($query)) { if ($rt['savetime'] < $timestamp) { $db->query("DELETE FROM pw_forummsg WHERE id='{$rt['id']}'"); } else { $rt['posttime'] = $rt['posttime'] ? get_date($rt['posttime'], 'Y-m-d H:i') : '--'; $rt['savetime'] = $rt['savetime'] ? get_date($rt['savetime'], 'Y-m-d H:i') : '--'; if (strpos($rt['toname'], ',' . $windid . ',') !== false && $rt['msgtype'] == '2' || $groupid == '3' || $groupid == '4' || CkInArray($windid, $manager) || $rt['msgtype'] == '1' || $rt['uid'] == $winduid) { if ($rt['uid'] != $winduid && $groupid != '3' && $groupid != '4' && CkInArray($windid, $manager) === false) { $rt['ifuse'] = 'disabled'; } else { $rt['ifuse'] = ''; } $msgdb[] = $rt; } }
Showmsg('mode_o_not_uid'); } } elseif ($a == 'showcommlist') { InitGP(array('type', 'id'), 'P'); $id = (int) $id; if (!$id) { Showmsg('undefined_action'); } if (!checkCommType($type)) { Showmsg('undefined_action'); } require_once R_P . 'require/showimg.php'; require_once R_P . 'require/bbscode.php'; $wordsfb = L::loadClass('FilterUtil'); $comment = array(); $query = $db->query("SELECT c.*,m.icon as face,m.groupid FROM pw_comment c LEFT JOIN pw_members m ON c.uid=m.uid WHERE c.type=" . pwEscape($type) . " AND c.typeid=" . pwEscape($id) . " AND upid='0' ORDER BY c.postdate DESC" . pwLimit(0, 100)); while ($rt = $db->fetch_array($query)) { $rt['postdate'] = get_date($rt['postdate']); if ($rt['groupid'] == 6 && $db_shield && $groupid != 3) { $rt['title'] = getLangInfo('other', 'ban_comment'); } elseif (!$wordsfb->equal($rt['ifwordsfb'])) { $rt['title'] = $wordsfb->convert($rt['title'], array('id' => $rt['id'], 'type' => 'comments', 'code' => $rt['ifwordsfb'])); } list($rt['face']) = showfacedesign($rt['face'], 1, 'm'); $comment[] = $rt; } $str = ''; if ($comment) { $str = pwJsonEncode($comment); } echo "success\t" . $str;
function pwLimitPages($count, $page, $pageurl) { global $db_perpage, $db_maxpage; //require_once (R_P.'require/forum.php'); $numofpage = ceil($count / $db_perpage); $numofpage = $numofpage > $db_maxpage ? $db_maxpage : $numofpage; $page < 1 ? $page = 1 : ($page > $numofpage ? $page = $numofpage : null); $pages = numofpage($count, $page, $numofpage, $pageurl, $db_maxpage); $limit = pwLimit(($page - 1) * $db_perpage, $db_perpage); return array($pages, $limit); }
$totle = ceil($count / $per); $totle == 0 ? $page = 1 : ($page > $totle ? $page = $totle : ''); $pages = wap_numofpage($page, $totle, "read.php?tid={$tid}&"); $rt['subject'] = str_replace(' ', '', wap_cv($rt['subject'])); if ($page == 1) { $rt['content'] = strip_tags($rt['content']); $rt['content'] = substrs($rt['content'], $db_waplimit); $rt['content'] = wap_cv($rt['content']); $rt['content'] = wap_code($rt['content']); $rt['postdate'] = get_date($rt['postdate']); $rt['author'] = $rt['anonymous'] ? $db_anonymousname : $rt['author']; $rt['author'] = wap_cv($rt['author']); } $satrt = ($page - 1) * $per; $id = $satrt; $limit = pwLimit($satrt, $per); $posts = ''; $pw_posts = GetPtable($rt['ptable']); #高楼索引优化 if ($openIndex) { $start_limit = (int) ($page - 1) * $per - 1; $start_limit < 0 && ($start_limit = 0); $end = $start_limit + $per; $sql_floor = " AND f.floor > " . $start_limit . " AND f.floor <= " . $end . " "; $query = $db->query("SELECT f.pid FROM pw_postsfloor f WHERE f.tid = " . pwEscape($rt['tid']) . " {$sql_floor} ORDER BY f.floor"); while ($r = $db->fetch_array($query)) { $postIds[] = $r['pid']; } if ($postIds) { $postIds && ($sql_postId = " AND pid IN ( " . pwImplode($postIds, false) . " ) "); $query = $db->query("SELECT pid,ifcheck,subject,author,content,postdate,anonymous \r\n\t\t\t\tFROM {$pw_posts} WHERE tid=" . pwEscape($rt[tid]) . " {$sql_postId} ORDER BY postdate ");
<?php !function_exists('adminmsg') && exit('Forbidden'); $basename = "{$admin_file}?adminjob=viewban"; if (empty($action)) { InitGP(array('page', 'banuser', 'bantype', 'adminban', 'starttime', 'endtime')); (!is_numeric($page) || $page < 1) && ($page = 1); $limit = pwLimit(($page - 1) * $db_perpage, $db_perpage); $sql = "WHERE 1"; $url = $basename; $count = 0; if ($banuser) { $sql .= " AND m.username="******" AND b.type=" . pwEscape($bantype); $url .= "&bantype={$bantype}"; } if ($adminban) { $sql .= " AND b.admin=" . pwEscape($adminban); $url .= "&adminban=" . rawurlencode($adminban); } if ($starttime) { !is_numeric($starttime) && ($starttime = PwStrtoTime($starttime)); $sql .= " AND b.startdate>" . pwEscape($starttime); $url .= "&starttime={$starttime}"; } if ($endtime) { !is_numeric($endtime) && ($endtime = PwStrtoTime($endtime)); $sql .= " AND b.startdate<" . pwEscape($endtime);
$thisfid = (int) $creatfid[$tfid]; $imgpath = $db_http != 'N' ? $db_http : $db_picpath; $attachpath = $db_attachurl != 'N' ? $db_attachurl : $db_attachname; $staticPage = L::loadClass('StaticPage'); if (!$staticPage->initForum($thisfid)) { Showmsg('data_error'); } (!is_numeric($forumnum) || $forumnum < 0) && ($forumnum = 0); !$step && ($step = 1); !$percount && ($percount = 100); $start = ($step - 1) * $percount; $next = $start + $percount; $step++; $j_url = "{$basename}&action={$action}&percount={$percount}&creatfid={$fids}&forumnum={$forumnum}"; $goon = 0; $query = $db->query("SELECT tid FROM pw_threads WHERE fid='{$thisfid}' AND ifcheck=1 AND special='0' ORDER BY topped DESC,lastpost DESC" . pwLimit($start, $percount)); while ($topic = $db->fetch_array($query)) { $goon = 1; $staticPage->update($topic['tid']); } if ($forumnum && $next >= $forumnum) { $goon = 0; } if ($goon) { $j_url .= "&step={$step}&tfid={$tfid}"; adminmsg('updatecache_step', EncodeUrl($j_url)); } else { $tfid++; if (isset($creatfid[$tfid])) { $j_url .= "&step=1&tfid={$tfid}"; adminmsg('updatecache_step1', EncodeUrl($j_url));
function updatecommend($fid, $forumset) { global $db, $timestamp; $forumset['commendnum'] < 1 && ($forumset['commendnum'] = 10); $commend = array(); $commendlist = ''; if ($forumset['commendlist']) { $commendlist = pwImplode(explode(',', $forumset['commendlist'])); $query = $db->query("SELECT tid,authorid,author,subject FROM pw_threads WHERE tid IN({$commendlist}) AND fid=" . pwEscape($fid)); while ($rt = $db->fetch_array($query)) { if ($forumset['commendlength'] && strlen($rt['subject']) > $forumset['commendlength']) { $rt['subject'] = substrs($rt['subject'], $forumset['commendlength']); } $commend[] = $rt; } } $count = count($commend); if ($forumset['autocommend'] && $count < $forumset['commendnum']) { $limit = pwLimit($forumset['commendnum'] - $count); switch ($forumset['autocommend']) { case '1': $orderby = 'postdate'; break; case '2': $orderby = 'lastpost'; break; case '3': $orderby = 'hits'; break; case '4': $orderby = 'replies'; break; default: $orderby = 'digest'; break; } $sql = $forumset['commendlist'] ? " AND tid NOT IN({$commendlist})" : ''; $query = $db->query("SELECT tid,authorid,author,subject FROM pw_threads WHERE fid=" . pwEscape($fid) . " AND topped='0' {$sql} ORDER BY {$orderby} DESC {$limit}"); while ($rt = $db->fetch_array($query)) { if ($forumset['commendlength'] && strlen($rt['subject']) > $forumset['commendlength']) { $rt['subject'] = substrs($rt['subject'], $forumset['commendlength']); } $commend[] = $rt; } } $forumset['ifcommend'] = $timestamp; $forumsetdb = addslashes(serialize($forumset)); $commend = $commend ? addslashes(serialize($commend)) : ''; $db->update("UPDATE pw_forumsextra" . " SET " . pwSqlSingle(array('forumset' => $forumsetdb, 'commend' => $commend)) . ' WHERE fid=' . pwEscape($fid)); require_once R_P . 'admin/cache.php'; updatecache_forums($fid); }
if ($postdate2) { $date2 = PwStrtoTime($postdate2); $sql .= " AND d.postdate<" . pwEscape($date2); } $hits && ($sql .= " AND d.r_num<" . pwEscape($hits)); $replies && ($sql .= " AND d.c_num<" . pwEscape($replies)); if ($tcounts) { $sql .= " AND char_length(d.content)>" . pwEscape($tcounts); } elseif ($counts) { $sql .= " AND char_length(d.content)<" . pwEscape($counts); } $order = $orderby ? " ORDER BY d.{$orderby}" : " ORDER BY d.postdate"; $sc != 'ASC' && ($sc = 'DESC'); !$perpage && ($perpage = $db_perpage); (int) $page < 1 && ($page = 1); $limit = pwLimit(($page - 1) * $perpage, $perpage); $query = $db->query("SELECT d.* FROM pw_diary d LEFT JOIN pw_members m ON d.uid=m.uid {$sql} {$order} {$by} {$limit}"); while ($rt = $db->fetch_array($query)) { $rt['postdate'] = $rt['postdate'] ? get_date($rt['postdate']) : '-'; $diarydb[] = $rt; } $db->free_result($query); @extract($db->get_one("SELECT COUNT(*) AS count FROM pw_diary d LEFT JOIN pw_members m ON d.uid=m.uid {$sql}")); if ($count > $perpage) { require_once R_P . 'require/forum.php'; $pages = numofpage($count, $page, ceil($count / $perpage), "{$basename}&action={$action}&step=list&groupid={$groupid}&author={$author}&keyword={$keyword}&postdate1={$postdate1}&postdate2={$postdate2}&hits={$hits}&replies={$replies}&tcounts={$tcounts}&counts={$counts}&orderby={$orderby}&sc={$sc}&perpage={$perpage}&"); } if (!$_POST['direct']) { require_once PrintApp('diary'); } } elseif ($step == 'delete') {