fetch_all($posttableid, $_GET['moderate'], false) as $post) { if($post['fid'] != $_G['fid'] || $post['invisible'] != '-5') { continue; } $pidarray[] = $post['pid']; } if($pidarray) { require_once libfile('function/misc'); if ($op == 'delete' && $_G['group']['allowclearrecycle']){ recyclebinpostdelete($pidarray, $posttableid); } if ($op == 'restore') { recyclebinpostundelete($pidarray, $posttableid); } if($_GET['oldop'] == 'search') { $srchupdate = true; } } } $op = dhtmlspecialchars($_GET['oldop']); showmessage('modcp_recyclebinpost_'.$op.'_succeed', '', array(), array('break' => 1)); } if($op == 'search' && submitcheck('searchsubmit')) { if($starttime || $endtime || trim($keywords) || trim($users)) { $pids = array(); foreach(C::t('forum_post')->fetch_all_by_search($posttableid, null, $keywords, -5, null, null, ($users ? explode(',', str_replace(' ', '', trim($users))) : null), strtotime($starttime), strtotime($endtime), null, null, 0, 1000) as $value) { $postlist[] = $value; $pids[] = $value['pid']; } $result['pids'] = implode(',', $pids); $result['count'] = count($pids); $result['fid'] = $_G['fid']; $result['posttableid'] = $posttableid; $modsession->set($cachekey, $result, true); unset($result, $pids); $page = 1; } else { $op = 'list'; } } $page = max(1, intval($_G['page'])); $total = 0; $query = $multipage = ''; $fields = 'message, useip, attachment, htmlon, smileyoff, bbcodeoff, pid, tid, fid, author, dateline, subject, authorid, anonymous'; if($op == 'list') { $total = C::t('forum_post')->count_by_fid_invisible($posttableid, $_G['fid'], '-5'); $tpage = ceil($total / $_G['tpp']); $page = min($tpage, $page); $multipage = multi($total, $_G['tpp'], $page, "$cpscript?mod=modcp&action=$action&op=$op&fid=$_G[fid]&do=$do"); if($total) { $start = ($page - 1) * $_G['tpp']; foreach(C::t('forum_post')->fetch_all_by_fid($posttableid, $_G['fid'], true, 'DESC', $start, $_G['tpp'], null, '-5') as $value) { $postlist[] = $value; } } } if($op == 'search') { $result = $modsession->get($cachekey); if($result) { if($srchupdate && $result['count'] && $pidarray) { $pd = explode(',', $result['pids']); $newpids = $comma = $newcount = ''; if(is_array($pd)) { foreach ($pd as $v) { $v = intval($v); if(!in_array($v, $pidarray)) { $newcount ++; $newpids .= $comma.$v; $comma = ','; } } $result['count'] = $newcount; $result['pids'] = $newpids; $modsession->set($cachekey, $result, true); } } $total = $result['count']; $tpage = ceil($total / $_G['tpp']); $page = min($tpage, $page); $multipage = multi($total, $_G['tpp'], $page, "$cpscript?mod=modcp&action=$action&op=$op&fid=$_G[fid]&do=$do"); if($total) { $start = ($page - 1) * $_G['tpp']; $postlist = C::t('forum_post')->fetch_all_by_pid($posttableid, explode(',', $result['pids']), true, 'DESC', $start, $_G['tpp'], $_G['fid'], -5); } } } if($postlist) { require_once libfile('function/misc'); require_once libfile('function/post'); require_once libfile('function/discuzcode'); foreach($postlist as $key => $post) { $post['modthreadkey'] = modauthkey($post['tid']); $post['message'] = discuzcode($post['message'], $post['smileyoff'], $post['bbcodeoff'], sprintf('%00b', $post['htmlon']), $_G['forum']['allowsmilies'], $_G['forum']['allowbbcode'], $_G['forum']['allowimgcode'], $_G['forum']['allowhtml']); $post['dateline'] = dgmdate($post['dateline'], 'Y-m-d H:i:s'); $postlist[$key] = $post; } } } ?>