www.gusucode.com > 08CMS空白站群系统 3.3 繁体 UTF-8 > upload/admina/farchive.inc.php
<? (!defined('M_COM') || !defined('M_ADMIN')) && exit('No Permission'); aheader(); load_cache('fcatalogs,fchannels,currencys,'); include_once M_ROOT."./include/upload.cls.php"; include_once M_ROOT."./include/fields.fun.php"; include_once M_ROOT."./include/fields.cls.php"; include_once M_ROOT."./include/farcedit.cls.php"; include_once M_ROOT."./include/farchive.cls.php"; include_once M_ROOT."./include/farc_static.fun.php"; if($action == 'farchiveadd' && empty($caid)){ !checkapermission(1) && amessage(lang('no_apermission')); if($sid && $sid_self) amessage(lang('msite admin item !')); a_guide('farchiveadd0'); $num = 4; $i = 0; tabheader(lang('add freeinfo'),'','',$num); foreach($fcatalogs as $caid => $fcatalog){ $fcatalog = read_cache('fcatalog',$caid); if($curuser->pmsbyugids($fcatalog['ugids'])){ if(!($i % $num)) echo "<tr align=\"center\">"; echo "<td class=\"item2\" width=\"".(intval(100 / $num))."%\"><a href=\"?entry=farchive&action=farchiveadd&caid=$caid\">$fcatalog[title]</a></td>\n"; $i ++; if(!($i % $num)) echo "</tr>\n"; } } if($i % $num){ while($i % $num){ echo "<td class=\"item2\" width=\"".(intval(100 / $num))."%\"></td>\n"; $i ++; } echo "</tr>\n"; } tabfooter(); }elseif($action == 'farchiveadd' && $caid){//只有指定分类才能添加 !checkapermission(1) && amessage(lang('no_apermission')); if($sid && $sid_self) amessage(lang('msite admin item !')); //首先分析当前会员在分类中的发布权限 !$curuser->checkforbid('issue') && amessage(lang('userisforbid')); $caid = max(0,intval($caid)); if(!$caid || !($fcatalog = read_cache('fcatalog',$caid))) amessage(lang('confirmchoose message coclass')); !$curuser->pmsbyugids($fcatalog['ugids']) && amessage(lang('you nohave this coclass of add permission')); $chid = $fcatalog['chid']; $fields = read_cache('ffields',$chid); if(!submitcheck('bfarchiveadd')){ $a_field = new cls_field; a_guide('farchiveadd'); tabheader(lang('common option'),'farchiveadd',"?entry=farchive&action=farchiveadd&caid=$caid",2,1,1); trbasic(lang('message coclass'),'',$fcatalog['title'],''); $submitstr = ''; foreach($fields as $k => $field){ if(!$field['isfunc']){ $a_field->init(); $a_field->field = read_cache('ffield',$chid,$k); $a_field->isadd = 1; $a_field->trfield('farchiveadd'); $submitstr .= $a_field->submitstr; } } unset($a_field); tabfooter('bfarchiveadd'); check_submit_func($submitstr); }else{ $c_upload = new cls_upload; $fields = fields_order($fields); $a_field = new cls_field; $sqlcommon = "caid=$caid,chid='$chid',mid='$memberid',mname='".$curuser->infos['mname']."',createdate='$timestamp'"; $sqlcustom = ""; foreach($fields as $k => $field){ if(!$field['isfunc']){ $a_field->init(); $a_field->field = read_cache('ffield',$chid,$k); $a_field->deal('farchiveadd'); if(!empty($a_field->error)){ $c_upload->rollback(); amessage($a_field->error,"?entry=farchive&action=farchiveadd&caid=$caid"); } $farchiveadd[$k] = $a_field->newvalue; if($field['issystem']){ $sqlcommon .= ",$k='".$farchiveadd[$k]."'"; }else $sqlcustom .= ($sqlcustom ? ',' : '')."$k='".$farchiveadd[$k]."'"; } } unset($a_field); $db->query("INSERT INTO {$tblprefix}farchives SET $sqlcommon"); if(!($aid = $db->insert_id())){ amessage(lang('message add failed'), "?entry=farchive&action=farchiveadd&caid=$caid"); }else{ $sqlcustom = "aid=$aid".($sqlcustom ? ','.$sqlcustom : ''); $db->query("INSERT INTO {$tblprefix}farchives_$chid SET $sqlcustom"); } $c_upload->saveuptotal(1); //函数定段的处理及通知被动更新 if($fcatalog['autocheck']){ $aedit = new cls_farcedit; $aedit->set_aid($aid); $aedit->arc_check(1,1); unset($aedit); } adminlog(lang('add freeinfo')); amessage(lang('freeinfo add finish'), '?entry=farchive&action=farchiveadd&chid='.$chid); } }elseif($action == 'farchivedetail' && $aid){ !checkapermission(98) && amessage(lang('no_apermission')); if($sid && $sid_self) amessage(lang('msite admin item !')); empty($aid) && amessage(lang('confirmchoose message id')); $aedit = new cls_farcedit; $aedit->set_aid($aid); $aedit->basic_data(); !$aedit->aid && mcmessage(lang('confirmchoose message id')); (!empty($fbd_fcaids) && in_array($aedit->archive['caid'],$fbd_fcaids)) && amessage(lang('fbd_caids')); $aedit->detail_data(); $chid = $aedit->channel['chid']; $fcatalog = &$aedit->catalog; $fields = read_cache('ffields',$chid); $forward = empty($forward) ? M_REFERER : $forward; $forwardstr = '&forward='.urlencode($forward); if(!submitcheck('bfarchivedetail')) { a_guide('farchivedetail'); tabheader(lang('state message')); if($fcatalog['taxprice']){ trbasic(lang('message purchase price'),'',$fcatalog['taxprice'].$currencys[$fcatalog['taxcrid']]['cname'].' / '.($fcatalog['taxperiod'] ? $fcatalog['taxperiod'].lang('day') : lang('flong')).($fcatalog['taxperiod'] ? ' '.lang('purchase cell').':'.$fcatalog['taxperiod'].lang('day') : ''),''); trbasic(lang('mini purchase cell amount'),'',$fcatalog['taxmini'] ? $fcatalog['taxmini'] : lang('flong'),''); } $statestr = $aedit->archive['checked'] ? lang('message content checked') : lang('message content nocheck'); if($aedit->archive['checked'] && $aedit->archive['startdate'] && (empty($aedit->archive['enddate']) || $aedit->archive['enddate'] > $timestamp)){ $statestr .= " , ".lang('effecting message'); $statestr .= " , ".lang('start date')." : ".date("Y-n-j",$aedit->archive['startdate']); $statestr .= " , ".($aedit->archive['enddate'] ? lang('end date')." : ".date("Y-n-j",$aedit->archive['enddate']) : lang('flong')); }else{ $statestr .= ",".lang('noeffect message'); } trbasic(lang('message current state'),'',$statestr,''); tabfooter(); $a_field = new cls_field; tabheader(lang('common option'),'farchivedetail',"?entry=farchive&action=farchivedetail&aid=$aid$forwardstr",2,1,1); trbasic(lang('message coclass'),'',$fcatalog['title'],''); trbasic(lang('order'),'farchivenew[vieworder]',$aedit->archive['vieworder']); $submitstr = ''; foreach($fields as $k => $field){ if(!$field['isfunc']){ $a_field->init(); $a_field->field = read_cache('ffield',$chid,$k); $a_field->oldvalue = isset($aedit->archive[$k]) ? $aedit->archive[$k] : ''; $a_field->trfield('farchivenew'); $submitstr .= $a_field->submitstr; } } unset($a_field); tabfooter('bfarchivedetail'); check_submit_func($submitstr); }else{ $aedit->updatefield('vieworder',max(0,intval($farchivenew['vieworder'])),'main'); $c_upload = new cls_upload; $fields = fields_order($fields); $a_field = new cls_field; foreach($fields as $k => $field){ if(!$field['isfunc']){ $a_field->init(); $a_field->field = read_cache('ffield',$chid,$k); $a_field->oldvalue = isset($aedit->archive[$k]) ? $aedit->archive[$k] : ''; $a_field->deal('farchivenew'); if(!empty($a_field->error)){ $c_upload->rollback(); amessage($a_field->error,M_REFERER); } $aedit->updatefield($k,$a_field->newvalue,$field['issystem'] ? 'main' : 'custom'); } } unset($a_field); $aedit->updatedb(); $c_upload->saveuptotal(1); adminlog(lang('detail0 modify freeinfo')); amessage(lang('message edit finish'),$forward); } }elseif($action == 'normaledit'){ !checkapermission(98) && amessage(lang('no_apermission')); if($sid && $sid_self) amessage(lang('msite admin item !')); $page = !empty($page) ? max(1, intval($page)) : 1; submitcheck('bfilter') && $page = 1; $viewdetail = empty($viewdetail) ? '' : $viewdetail; $caid = empty($caid) ? '0' : $caid; $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','checked','subject','mname','indays','outdays') as $k){ $filterstr .= "&$k=".urlencode($$k); } $wheresql = ''; $caid && $wheresql .= ($wheresql ? " AND " : "")."caid='$caid'"; $checked != '-1' && $wheresql .= ($wheresql ? " AND " : "")."checked='$checked'"; $subject && $wheresql .= ($wheresql ? " AND " : "")."subject LIKE '%".str_replace(array(' ','*'),'%',addcslashes($subject,'%_'))."%'"; $mname && $wheresql .= ($wheresql ? " AND " : "")."mname LIKE '%".str_replace(array(' ','*'),'%',addcslashes($subject,'%_'))."%'"; $indays && $wheresql .= ($wheresql ? " AND " : "")."createdate>'".($timestamp - 86400 * $indays)."'"; $outdays && $wheresql .= ($wheresql ? " AND " : "")."createdate<'".($timestamp - 86400 * $outdays)."'"; !empty($fbd_fcaids) && $wheresql .= ($wheresql ? " AND " : "")."caid NOT IN (".mimplode($fbd_fcaids).")";//管理后台禁止管理的分类 $wheresql = $wheresql ? "WHERE $wheresql" : ""; 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 message').viewcheck('viewdetail',$viewdetail,'tbodyfilter').' '.strbutton('bfilter','filter0'),'arcsedit',"?entry=farchive&action=normaledit&page=$page"); echo "<tbody id=\"tbodyfilter\" style=\"display: ".(empty($viewdetail) ? 'none' : '')."\">"; trbasic(lang('belong coclass'),'caid',makeoption($caidsarr,$caid),'select'); trbasic(lang('check message'),'',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 = ''; $dforwardstr = '&forward='.rawurlencode("?entry=farchive&action=normaledit$filterstr&page=$page"); while($farchive = $db->fetch_array($query)){ $createdatestr = date("$dateformat", $farchive['createdate']); $catalogstr = $fcatalogs[$farchive['caid']]['title']; $channelstr = $fchannels[$farchive['chid']]['cname']; $checkedstr = $farchive['checked'] ? 'Y' : '-'; $arcurl = view_farcurl($farchive['aid'],$farchive['arcurl']); $itemstr .= "<tr><td align=\"center\" class=\"item1\" width=\"35\"><input class=\"checkbox\" type=\"checkbox\" name=\"selectid['$farchive[aid]']\" value=\"$farchive[aid]\">\n". "<td class=\"item2\" align=\"center\" width=\"35\">$farchive[aid]</td>\n". "<td class=\"item1\"><a href=\"$arcurl\" target=\"_blank\">".mhtmlspecialchars($farchive['subject'])."</a></td>\n". "<td align=\"center\" class=\"item2\">$catalogstr</td>\n". "<td align=\"center\" class=\"item1\">$channelstr</td>\n". "<td align=\"center\" class=\"item2\">$farchive[vieworder]</td>\n". "<td align=\"center\" class=\"item1\" width=\"30\">$checkedstr</td>\n". "<td align=\"center\" class=\"item2\" width=\"70\">$createdatestr</td>\n". "<td align=\"center\" class=\"item1\" width=\"30\"><a href=\"?entry=farchive&action=farchivedetail&aid=$farchive[aid]$dforwardstr\">".lang('detail')."</a></td></tr>\n"; } $counts = $db->result_one("SELECT count(*) FROM {$tblprefix}farchives $wheresql"); $multi = multi($counts,$atpp,$page,"?entry=farchive&action=normaledit$filterstr"); tabheader(lang('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('id'),lang('title'),lang('coclass'),lang('channel'),lang('order'),lang('check'),lang('add date'),lang('edit'))); echo $itemstr; tabfooter(); echo $multi; $staticarr = array('0' => lang('release static'),'1' => lang('create static')); $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[static]\" value=\"1\"> ".lang('message content page0 static'),'',makeradio('arcstatic',$staticarr,'1'),''); tabfooter('barcsedit'); }else{ if(empty($arcdeal) && empty($dealstr)) amessage(lang('confirmselect operate item'),"?entry=farchive&action=normaledit&page=$page$filterstr"); if(empty($selectid) && empty($select_all)) amessage(lang('confirmselect message'),"?entry=farchive&action=normaledit&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','arcstatic') as $k) $parastr .= "&$k=".$$k; $selectid = array(); $npage = empty($npage) ? 1 : $npage; if(empty($pages)){ $farchivecount = $db->result_one("SELECT count(*) FROM {$tblprefix}farchives $wheresql"); $pages = @ceil($farchivecount / $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']; } } } (!empty($arcdeal['delete']) || !empty($arcdeal['check']) || !empty($arcdeal['caid'])) && $aedit = new cls_farcedit; !empty($arcdeal['static']) && $arc = new cls_farchive(); foreach($selectid as $aid){ if(!empty($arcdeal['delete']) || !empty($arcdeal['check']) || !empty($arcdeal['caid'])){ $aedit->set_aid($aid); if(!empty($arcdeal['delete'])){ $aedit->arc_delete(); continue; } if(!empty($arcdeal['check'])){ $aedit->arc_check($arccheck); } $aedit->updatedb(); $aedit->init(); } if(!empty($arcdeal['static'])){ if(!$arcstatic){ farc_unstatic($aid); }elseif($arcstatic == '1'){ farc_static($aid); } $arc->init(); } } unset($aedit,$arc); 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=farchive&action=normaledit&page=$page$filterstr\">>>".lang('pause')."</a>", "?entry=farchive&action=normaledit&page=$page$filterstr$transtr$parastr&dealstr=$dealstr", 500); } } adminlog(lang('freeinfo admin'),lang('freeinfo list admin')); amessage(lang('freeinfo operate finish'),"?entry=farchive&action=normaledit&page=$page$filterstr"); } } ?>