www.gusucode.com > 08CMS空白站群系统 3.3 繁体 UTF-8 > upload/admina/fconsults.inc.php
<? (!defined('M_COM') || !defined('M_ADMIN')) && exit('No Permission'); aheader(); !checkapermission(100) && amessage(lang('no_apermission')); if($sid && $sid_self) amessage(lang('msite admin item !')); load_cache('fcatalogs,fchannels,currencys'); include_once M_ROOT."./include/farcedit.cls.php"; $fcaidsarr = $fchidsarr = array(); foreach($fcatalogs as $k => $v){ if($v['cumode']){ $fcaidsarr[$k] = $v['title']; $fchidsarr[$v['chid']] = $fchannels[$v['chid']]['cname']; } } empty($fcaidsarr) && amessage(lang('confirmadd consult message coclass')); $qstatearr = array( 'new' => lang('nosettle'), 'dealing' => lang('dealing0'), 'end' => lang('settled'), 'close' => lang('closed'), ); if($action == 'fconsultsedit'){ $page = !empty($page) ? max(1, intval($page)) : 1; submitcheck('bfilter') && $page = 1; $viewdetail = empty($viewdetail) ? '' : $viewdetail; $caid = empty($caid) ? 0 : $caid; $qstate = empty($qstate) ? '' : $qstate; $checked = isset($checked) ? $checked : '-1'; $subject = empty($subject) ? '' : $subject; $mname = empty($mname) ? '' : $mname; $indays = empty($indays) ? 0 : max(0,intval($indays)); $outdays = empty($outdays) ? 0 : max(0,intval($outdays)); $filterstr = ''; foreach(array('viewdetail','caid','qstate','checked','subject','mname','indays','outdays') as $k){ $filterstr .= "&$k=".urlencode($$k); } if($caid){ $wheresql = "WHERE caid='$caid'"; }else $wheresql = "WHERE caid IN (".mimplode(array_keys($fcaidsarr)).")"; if($qstate) $wheresql .= " AND qstate='$qstate'"; if($checked != '-1') $wheresql .= " AND checked='$checked'"; if($subject) $wheresql .= " AND subject LIKE '%".str_replace(array(' ','*'),'%',addcslashes($subject,'%_'))."%'"; if($mname) $wheresql .= " AND mname LIKE '%".str_replace(array(' ','*'),'%',addcslashes($mname,'%_'))."%'"; if($indays) $wheresql .= " AND createdate>'".($timestamp - 86400 * $indays)."'"; if($outdays) $wheresql .= " AND createdate<'".($timestamp - 86400 * $outdays)."'"; if(!submitcheck('barcsedit')){ $caidsarr = array('0' => lang('all coclass')) + $fcaidsarr; $checkedarr = array('-1' => lang('nolimit'),'0' => lang('nocheck message'),'1' => lang('checked message')); tabheader(lang('filter0 consult message').viewcheck('viewdetail',$viewdetail,'tbodyfilter').' '.strbutton('bfilter','filter0'),'arcsedit',"?entry=fconsults&action=fconsultsedit&page=$page"); echo "<tbody id=\"tbodyfilter\" style=\"display: ".(empty($viewdetail) ? 'none' : '')."\">"; trbasic(lang('belong coclass'),'caid',makeoption($caidsarr,$caid),'select'); trbasic(lang('deal state'),'',makeradio('qstate',array('' => lang('all state')) + $qstatearr,$qstate),''); trbasic(lang('check state'),'',makeradio('checked',$checkedarr,$checked),''); trbasic(lang('search title'),'subject',$subject,'text',lang('agsearchkey')); trbasic(lang('search author'),'mname',$mname,'text',lang('agsearchkey')); trrange(lang('add date'),array('outdays',empty($outdays) ? '' : $outdays,'',' '.lang('day before').' - ',5),array('indays',empty($indays) ? '' : $indays,'',' '.lang('day in'),5)); echo "</tbody>"; tabfooter(); $pagetmp = $page; do{ $query = $db->query("SELECT * FROM {$tblprefix}farchives $wheresql ORDER BY vieworder,aid DESC LIMIT ".(($pagetmp - 1) * $atpp).",$atpp"); $pagetmp--; } while(!$db->num_rows($query) && $pagetmp); $itemstr = ''; while($farchive = $db->fetch_array($query)){ $farchive['createdate'] = date('y-m-d H:i', $farchive['createdate']); $farchive['updatedate'] = date('y-m-d H:i', $farchive['updatedate']); $farchive['fcatalog'] = $fcatalogs[$farchive['caid']]['title']; $farchive['checkedstr'] = $farchive['checked'] ? 'Y' : '-'; $consultstr = "<a href=\"?entry=fconsults&action=fconsult&aid=$farchive[aid]\">".lang('admin')."</a>"; $itemstr .= "<tr><td align=\"center\" class=\"item1\" width=\"30\"><input class=\"checkbox\" type=\"checkbox\" name=\"selectid[$farchive[aid]]\" value=\"$farchive[aid]\">\n". "<td class=\"item2\">".mhtmlspecialchars($farchive['subject'])."</td>\n". "<td align=\"center\" class=\"item1\">$farchive[fcatalog]</td>\n". "<td align=\"center\" class=\"item2\" width=\"30\">$farchive[checkedstr]</td>\n". "<td align=\"center\" class=\"item1\">".$qstatearr[$farchive['qstate']]."</td>\n". "<td align=\"center\" class=\"item2\" width=\"90\">$farchive[createdate]</td>\n". "<td align=\"center\" class=\"item1\" width=\"90\">$farchive[updatedate]</td>\n". "<td align=\"center\" class=\"item2\" width=\"30\">$consultstr</td>\n". "<td align=\"center\" class=\"item1\" width=\"30\"><a href=\"?entry=farchive&action=farchivedetail&aid=$farchive[aid]\">".lang('detail')."</a></td></tr>\n"; } $counts = $db->result_one("SELECT count(*) FROM {$tblprefix}farchives $wheresql"); $multi = multi($counts, $atpp, $page, "?entry=fconsults&action=fconsultsedit$filterstr"); tabheader(lang('consult message list')." <input class=\"checkbox\" type=\"checkbox\" name=\"select_all\" value=\"1\"> ".lang('selectallpage'),'','',10); trcategory(array("<input class=\"checkbox\" type=\"checkbox\" name=\"chkall\" class=\"category\" onclick=\"checkall(this.form, 'selectid', 'chkall')\">",lang('title'),lang('coclass'),lang('check'),lang('state'),lang('add time'),lang('update time'),lang('consult'),lang('edit'))); echo $itemstr; tabfooter(); echo $multi; $checkarr = array('0' => lang('uncheck'),'1' => lang('check')); tabheader(lang('operate item')); trbasic("<input class=\"checkbox\" type=\"checkbox\" name=\"arcdeal[delete]\" value=\"1\"> ".lang('delete message'),'','',''); trbasic("<input class=\"checkbox\" type=\"checkbox\" name=\"arcdeal[check]\" value=\"1\"> ".lang('check message content'),'',makeradio('arccheck',$checkarr,'1'),''); //trbasic("<input class=\"checkbox\" type=\"checkbox\" name=\"arcdeal[caid]\" value=\"1\"> ".lang('coclass'),'arccaid',makeoption($fcaidsarr),'select'); tabfooter('barcsedit'); }else{ if(empty($arcdeal) && empty($dealstr)) amessage(lang('confirmselect operate item'),"?entry=fconsults&action=fconsultsedit&page=$page$filterstr"); if(empty($selectid) && empty($select_all)) amessage(lang('confirmselect message'),"?entry=fconsults&action=fconsultsedit&page=$page$filterstr"); if(!empty($select_all)){ if(empty($dealstr)){ $dealstr = implode(',',array_keys(array_filter($arcdeal))); }else{ $arcdeal = array(); foreach(array_filter(explode(',',$dealstr)) as $k){ $arcdeal[$k] = 1; } } $parastr = ""; foreach(array('arccheck') as $k){ $parastr .= "&$k=".$$k; } $selectid = array(); $npage = empty($npage) ? 1 : $npage; if(empty($pages)){ $counts = $db->result_one("SELECT count(*) FROM {$tblprefix}farchives $wheresql"); $pages = @ceil($counts / $atpp); } if($npage <= $pages){ $fromstr = empty($fromid) ? "" : "aid<$fromid"; $nwheresql = !$wheresql ? ($fromstr ? "WHERE $fromstr" : "") : ($wheresql.($fromstr ? " AND " : "").$fromstr); $query = $db->query("SELECT aid FROM {$tblprefix}farchives $nwheresql ORDER BY vieworder,aid DESC LIMIT 0,$atpp"); while($item = $db->fetch_array($query)){ $selectid[] = $item['aid']; } } } $aedit = new cls_farcedit; foreach($selectid as $aid){ $aedit->set_aid($aid); if(!empty($arcdeal['delete'])){ $aedit->arc_delete(); continue; } if(!empty($arcdeal['check'])){ $aedit->arc_check($arccheck); } //if(!empty($arcdeal['caid'])){ // $aedit->arc_caid($arccaid); //} $aedit->updatedb(); $aedit->init(); } unset($aedit); if(!empty($select_all)){ $npage ++; if($npage <= $pages){ $fromid = min($selectid); $transtr = ''; $transtr .= "&select_all=1"; $transtr .= "&pages=$pages"; $transtr .= "&npage=$npage"; $transtr .= "&barcsedit=1"; $transtr .= "&fromid=$fromid"; amessage(lang('operating')."<br> ".lang('all')." $pages ".lang('page0').",".lang('dealing')." $npage ".lang('page0')."<br><br> <a href=\"?entry=fconsults&action=fconsultsedit&page=$page$filterstr\">>>".lang('pause')."</a>", "?entry=fconsults&action=fconsultsedit&page=$page$filterstr$transtr$parastr&dealstr=$dealstr", 500); } } adminlog(lang('freeinfo admin'),lang('freeinfo list admin')); amessage(lang('freeinfo operate finish'),"?entry=fconsults&action=fconsultsedit&page=$page$filterstr"); } }elseif($action == 'fconsult' && $aid){ $forward = empty($forward) ? M_REFERER : $forward; $aedit = new cls_farcedit; $aedit->set_aid($aid); $aedit->basic_data(); !$aedit->aid && amessage(lang('confirmchoose message'),$forward); !$aedit->archive['checked'] && amessage(lang('nocheck message'),$forward); $chid = $aedit->archive['chid']; $caid = $aedit->archive['caid']; if(!($fcatalog = read_cache('fcatalog',$caid)) || !$fcatalog['cumode']) amessage(lang('please point consult coclass'),$forward); if(!submitcheck('bfconsult') && !submitcheck('bsetstate') && !submitcheck('bfconsultadd')){ a_guide('fconsult'); tabheader(lang('consult based message'),'fconsult','?entry=fconsults&action=fconsult&aid='.$aid.'&forward='.urlencode($forward)); trbasic(lang('consult coclass / title'),'',$fcatalog['title'].' - '.$aedit->archive['subject']." <a href=\"?entry=farchive&action=farchivedetail&aid=".$aedit->archive['aid']."\">>>".lang('detail')."</a>",''); trbasic(lang('consult member / add / update'),'',$aedit->archive['mname'].' / '.date("$dateformat $timeformat",$aedit->archive['createdate']).' / '.date("$dateformat $timeformat",$aedit->archive['updatedate']),''); trbasic(lang('setting state'),'qstatenew',makeradio('qstatenew',$qstatearr,$aedit->archive['qstate']),''); tabfooter(); tabheader(lang('consult commu list')); trcategory(array(lang('based message'),lang('consult and reply content'))); $query = $db->query("SELECT * FROM {$tblprefix}consults WHERE aid='$aid' ORDER BY cid"); while($item = $db->fetch_array($query)){ $cid = $item['cid']; trbasic('<b>'.$item['mname'].'</b> '.(empty($item['reply']) ? lang('consult') : lang('reply')).' :<br>'.date("$dateformat $timeformat",$item['createdate'])."<br><input class=\"checkbox\" type=\"checkbox\" name=\"delete[$cid]\" value=\"$cid\">".lang('del'),'','<br>'.$item['content'].'<br> ',''); } tabfooter('bfconsult'); if($aedit->archive['qstate'] != 'close'){ tabheader(lang('admin reply'),'fconsultadd','?entry=fconsults&action=fconsult&aid='.$aid.'&forward='.urlencode($forward)); trbasic(lang('reply content'),'contentadd','','btextarea'); tabfooter('bfconsultadd',lang('add')); } }elseif(submitcheck('bfconsult')){ !empty($delete) && $query = $db->query("DELETE FROM {$tblprefix}consults WHERE aid='$aid' AND cid IN (".mimplode($delete).") ORDER BY cid"); $query = $db->query("UPDATE {$tblprefix}farchives SET qstate='$qstatenew',updatedate='$timestamp' WHERE aid='$aid'"); amessage(lang('state setting succeed'),$forward); }elseif(submitcheck('bfconsultadd')){ $aedit->archive['qstate'] == 'close' && amessage(lang('this consult item closed'),M_REFERER); $contentadd = empty($contentadd) ? '' : trim($contentadd); empty($contentadd) && amessage(lang('data missing'),M_REFERER); $fcatalog['culength'] && $contentadd = cutstr($contentadd,$fcatalog['culength']); $contentadd = mnl2br(mhtmlspecialchars($contentadd)); $db->query("INSERT INTO {$tblprefix}consults SET aid='$aid', content='$contentadd', mid='$memberid', mname='".$curuser->infos['mname']."', createdate='$timestamp', reply=1 "); $db->query("UPDATE {$tblprefix}farchives SET qstate='end',updatedate='$timestamp' WHERE aid='$aid'"); amessage(lang('add reply succeed'),$forward); } } ?>