www.gusucode.com > 08CMS空白站群系统 3.3 繁体 UTF-8 > upload/adminm/albumsedit.inc.php

    <?php
include_once M_ROOT."./include/fields.fun.php";
include_once M_ROOT."./include/fields.cls.php";
include_once M_ROOT."./include/upload.cls.php";
include_once M_ROOT."./include/arcedit.cls.php";
include_once M_ROOT."./include/commu.fun.php";
include_once M_ROOT."./include/notice.cls.php";
load_cache('permissions,vcps,channels,cotypes');
load_cache('catalogs,altypes',$sid);
!defined('M_COM') && exit('No Permission');
$issueupdatecheck = !$curuser->check_allow('freeupdatecheck') && $enableupdatecheck;//当前用户修改已审文档是否需要申请,1为需要
$issueupdatecopy = !$curuser->check_allow('freeupdatecopy') && $enableupdatecheck;//当前用户修改已审文档是否生成更新副本,1为需要
$aid = empty($aid) ? 0 : max(0,intval($aid));

if(!$aid){//合辑列表的编辑
	m_guide(12);
	m_sites('?action=albumsedit');
	$page = empty($page) ? 1 : max(1, intval($page));
	submitcheck('bfilter') && $page = 1;
	$viewdetail = empty($viewdetail) ? '' : $viewdetail;
	$inalbum = empty($inalbum) ? 0 : $inalbum;//指定合辑中的合辑管理
	$caid = empty($caid) ? '0' : $caid;
	$atid = empty($atid) ? 0 : $atid;
	$checked = isset($checked) ? $checked : '-1';
	$subject = empty($subject) ? '' : $subject;
	$indays = empty($indays) ? 0 : max(0,intval($indays));
	$outdays = empty($outdays) ? 0 : max(0,intval($outdays));

	$filterstr = '';
	foreach(array('viewdetail','inalbum','caid','atid','checked','subject','indays','outdays') as $k){
		$filterstr .= "&$k=".urlencode($$k);
	}

	$wheresql = "WHERE a.sid='$sid' AND a.mid='$memberid' AND a.atid<>0 AND a.updateaid='0'";
	$fromsql = $inalbum ? "FROM {$tblprefix}albums b LEFT JOIN {$tblprefix}archives a ON a.aid=b.aid LEFT JOIN {$tblprefix}archives_sub s ON s.aid=a.aid" : "FROM {$tblprefix}archives a LEFT JOIN {$tblprefix}archives_sub s ON s.aid=a.aid";
	$inalbum && $wheresql .= " AND b.pid='$inalbum'";
	$atid && $wheresql .= " AND a.atid='$atid'";
	if($caid){
		$caids = array($caid);
		$tempids = array();
		$tempids = son_ids($catalogs,$caid,$tempids);
		$caids = array_merge($caids,$tempids);
		$wheresql .= " AND a.caid IN (".mimplode($caids).")";
	}
 	if($checked != '-1') $wheresql .= " AND a.checked='$checked'";
	if($subject) $wheresql .= " AND a.subject LIKE '%".str_replace(array(' ','*'),'%',addcslashes($subject,'%_'))."%'";
 	if($indays) $wheresql .= " AND a.createdate>'".($timestamp - 86400 * $indays)."'";
 	if($outdays) $wheresql .= " AND a.createdate<'".($timestamp - 86400 * $outdays)."'";
 	
	foreach($cotypes as $coid => $cotype){
		${"ccid$coid"} = isset(${"ccid$coid"}) ? ${"ccid$coid"} : 0;
		$filterstr .= "&ccid$coid=".${"ccid$coid"};
		if(!empty(${"ccid$coid"})){
			$ccids = array(${"ccid$coid"});
			$tempids = array();
			$coclasses = read_cache('coclasses',$coid);
			$tempids = son_ids($coclasses,${"ccid$coid"},$tempids);
			$ccids = array_merge($ccids,$tempids);
			if(empty($cotype['self_reg'])){
				$wheresql .= " AND a.cotype$coid IN (".mimplode($ccids).")";
			}else{
				$tempstr = self_sqlstr($coid,$ccids,'a.');
				$tempstr && $wheresql .= " AND $tempstr";
				unset($tempstr);
			} 
		}
	}
	if(!submitcheck('balbumsedit')){
		$caidsarr = array('0' => lang('all catalog')) + caidsarr();
		$atidsarr = array('0' => lang('all altype')) + atidsarr();
		$checkedarr = array('-1' => lang('nolimit'),'0' => lang('nocheck album'),'1' => lang('checked album'));
		tabheader(lang('filter0 album').viewcheck('viewdetail',$viewdetail,'tbodyfilter').'&nbsp; &nbsp; '.strbutton('bfilter','filter0'),'albumsedit',"?action=albumsedit&page=$page$param_suffix");
		if($inalbum && $row = $db->fetch_one("SELECT aid,atid,arcurl,subject FROM {$tblprefix}archives WHERE aid='$inalbum' AND mid='$memberid'")){
			trbasic(lang('current album'),'',$altypes[$row['atid']]['cname']."&nbsp; -&nbsp; <a href=$row[arcurl] target=\"_blank\">".mhtmlspecialchars($row['subject'])."</a>",'');
			trhidden('inalbum',$inalbum);
			unset($row);
		}
		echo "<tbody id=\"tbodyfilter\" style=\"display: ".(empty($viewdetail) ? 'none' : '')."\">";
		trbasic(lang('check state'),'',makeradio('checked',$checkedarr,$checked),'');
		trbasic(lang('belong catalog'),'caid',makeoption($caidsarr,$caid),'select');
		trbasic(lang('belong altype'),'atid',makeoption($atidsarr,$atid),'select');
		foreach($cotypes as $coid => $cotype){
			$ccidsarr = array('0' => lang('nolimit'));
			$ccidsarr = $ccidsarr + ccidsarr($coid);	
			trbasic("$cotype[cname]","ccid$coid",makeoption($ccidsarr,${"ccid$coid"}),'select');
		}
		trbasic(lang('search title'),'subject',$subject,'text',lang('agsearchkey'));
		trrange(lang('add date'),array('outdays',empty($outdays) ? '' : $outdays,'','&nbsp; '.lang('day before').'&nbsp; -&nbsp; ',5),array('indays',empty($indays) ? '' : $indays,'','&nbsp; '.lang('day in'),5));
		echo "</tbody>";
		tabfooter();

		$pagetmp = $page;
		do{
			$query = $db->query("SELECT a.*,s.needupdate,s.allowupdate $fromsql $wheresql ORDER BY a.aid DESC LIMIT ".(($pagetmp - 1) * $mrowpp).",$mrowpp");
			$pagetmp--;
		}while(!$db->num_rows($query) && $pagetmp);
		$itemstr = '';
		$ucids = loaduclasses($curuser->infos['mid']);
		$dforwardstr = '&forward='.rawurlencode("?action=albumsedit$param_suffix$filterstr&page=$page");
		while($archive = $db->fetch_array($query)){
			$archive['catalog'] = empty($catalogs[$archive['caid']]) ? lang('nocata') : $catalogs[$archive['caid']]['title'];
			$archive['altype'] = $altypes[$archive['atid']]['cname'];
			$archive['uclass'] = $archive['ucid'] ? $ucids[$archive['ucid']] : '-';
			$archive['arcurl'] = view_arcurl($archive);
			$checkedstr = $archive['checked'] ? 'Y' : '-';
			$viewinfos = "<a href=\"?action=albumsedit&deal=viewinfos&aid=$archive[aid]$param_suffix\" title=\"".date("$dateformat $timeformat", $archive['createdate'])."\">".lang('look')."</a>";
			$setalbumstr = "<a href=\"?action=albumsedit&deal=setalbum&aid=$archive[aid]$param_suffix$dforwardstr\">".lang('setalbum')."</a>";
			$adminstr = "<a href=\"?action=albumsedit&deal=albumadmin&aid=$archive[aid]$param_suffix$dforwardstr\">".lang('admin')."</a>";
			$allowupdate = (!$issueupdatecheck || $archive['allowupdate'] || !$archive['checked']) ? 1 : 0;
			$editstr = $allowupdate ? "<a href=\"?action=albumsedit&aid=$archive[aid]$param_suffix$dforwardstr\">".lang('modify')."</a>" : ($archive['needupdate'] ? lang('needing') : lang('please need'));
			$itemstr .= "<tr><td align=\"center\" class=\"item1\" width=\"30\"><input class=\"checkbox\" type=\"checkbox\" name=\"selectid[$archive[aid]]\" value=\"$archive[aid]\">\n".
				"<td class=\"item2\"><a href=$archive[arcurl] target=\"_blank\">".mhtmlspecialchars($archive['subject'])."</a></td>\n".
				"<td align=\"center\" class=\"item1\">$archive[altype]</td>\n".
				"<td align=\"center\" class=\"item2\">$archive[catalog]</td>\n".
				"<td align=\"center\" class=\"item1\">$archive[uclass]</td>\n".
				"<td align=\"center\" class=\"item2\" width=\"30\">$checkedstr</td>\n".
				"<td align=\"center\" class=\"item1\" width=\"30\">$viewinfos</td>\n".
				"<td align=\"center\" class=\"item2\" width=\"30\">$setalbumstr</td>\n".
				"<td align=\"center\" class=\"item1\" width=\"30\">$adminstr</td>\n".
				"<td align=\"center\" class=\"item2\" width=\"40\">$editstr</td></tr>\n";
		}
		$counts = $db->result_one("SELECT count(*) $fromsql $wheresql");
		$multi = multi($counts,$mrowpp,$page,"?action=albumsedit$param_suffix$filterstr");
		tabheader(lang('album list')."&nbsp;&nbsp;&nbsp;&nbsp;<input class=\"checkbox\" type=\"checkbox\" name=\"select_all\" value=\"1\">&nbsp;".lang('selectallpage'),'','',10);
		trcategory(array("<input class=\"checkbox\" type=\"checkbox\" name=\"chkall\" class=\"category\" onclick=\"checkall(this.form, 'selectid', 'chkall')\">",lang('title'),lang('altype'),lang('catalog'),lang('my coclass'),lang('check'),lang('message'),lang('setalbum'),lang('album'),lang('edit')));
		echo $itemstr;
		tabfooter();
		echo $multi;

		$needupdatearr = array('0' => lang('cancel'),'1' => lang('need'));
		$ucids = array('0' => lang('cancel coclass')) + $ucids;
		$aboverarr = array(0 => lang('cancel'),1 => lang('abover'));
		tabheader(lang('operate item'));
		echo "<tr><td class=\"item1\" colspan=\"2\">".
		"<input class=\"checkbox\" type=\"checkbox\" name=\"arcdeal[delete]\" value=\"1\">&nbsp;".lang('delete album').'&nbsp; &nbsp; &nbsp; '.
		"<input class=\"checkbox\" type=\"checkbox\" name=\"arcdeal[delcopy]\" value=\"1\">&nbsp;".lang('delete album update copys')."</td></tr>";//不管当前会员状态如何,都有可能有副本存在,因为有会员状态变化
		$issueupdatecheck && trbasic("<input class=\"checkbox\" type=\"checkbox\" name=\"arcdeal[needupdate]\" value=\"1\">&nbsp;".lang('album update need'),'arcneedupdate',makeradio('arcneedupdate',$needupdatearr,1),'');
		trbasic("<input class=\"checkbox\" type=\"checkbox\" name=\"arcdeal[abover]\" value=\"1\">&nbsp;".lang('album weather abover'),'',makeradio('arcabover',$aboverarr),'');
		trbasic("<input class=\"checkbox\" type=\"checkbox\" name=\"arcdeal[ucid]\" value=\"1\">&nbsp;".lang('my coclass'),'arcucid',makeoption($ucids),'select');
		trbasic("<input class=\"checkbox\" type=\"checkbox\" name=\"arcdeal[album]\" value=\"1\">&nbsp;".lang('setalbum'),'arcalbum','','text',lang('please input album id'));
		trbasic("<input class=\"checkbox\" type=\"checkbox\" name=\"arcdeal[permission]\" value=\"1\">&nbsp;".lang('content permission project'),'arcpermission',makeoption(pmidsarr(1)),'select');
		trbasic("<input class=\"checkbox\" type=\"checkbox\" name=\"arcdeal[salecp]\" value=\"1\">&nbsp;".lang('browse archive saleprice'),'arcsalecp',makeoption(array('' => lang('freesale')) + $vcps['sale']),'select');
		trbasic("<input class=\"checkbox\" type=\"checkbox\" name=\"arcdeal[fsalecp]\" value=\"1\">&nbsp;".lang('attachment operate saleprice'),'arcfsalecp',makeoption(array('' => lang('freesale')) + $vcps['fsale']),'select');
		tabfooter('balbumsedit');
	}else{
		if(empty($arcdeal) && empty($dealstr)){
			mcmessage(lang('confirmselect operate item'),"?action=albumsedit&page=$page$param_suffix$filterstr");
		}
		if(empty($selectid) && empty($select_all)){
			mcmessage(lang('confirmselect album'),"?action=albumsedit&page=$page$param_suffix$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('arcneedupdate','arcucid','arcabover') as $k) $parastr .= "&$k=".$$k;
			
			$selectid = array();
			$npage = empty($npage) ? 1 : $npage;
			if(empty($pages)){
				$counts = $db->result_one("SELECT count(*) $fromsql $wheresql");
				$pages = @ceil($counts / $mrowpp);
			}
			if($npage <= $pages){
				$fromstr = empty($fromid) ? "" : "a.aid<$fromid";
				$nwheresql = !$wheresql ? ($fromstr ? "WHERE $fromstr" : "") : ($wheresql.($fromstr ? " AND " : "").$fromstr);
				$query = $db->query("SELECT a.aid $fromsql $nwheresql ORDER BY a.aid DESC LIMIT 0,$mrowpp");
				while($item = $db->fetch_array($query)){
					$selectid[] = $item['aid'];
				}
			}
		}

		$aedit = new cls_arcedit;
		foreach($selectid as $aid){
			$aedit->init();
			if(!empty($arcdeal['delete'])){
				$aedit->set_aid($aid);
				$aedit->arc_delete(1);
				continue;
			}
			if(!empty($arcdeal['delcopy'])){
				$aedit->set_updateaid($aid);
				if($aedit->aid) $aedit->arc_delete(0,1);
				$aedit->init();
				$aedit->set_aid($aid);
				$aedit->updatefield('updatecopyid',0,'sub');
			}
			if(!empty($arcdeal['needupdate']) && $issueupdatecheck){
				!$aedit->aid && $aedit->set_aid($aid);
				$aedit->basic_data();
				$aedit->archive['checked'] && $aedit->updatefield('needupdate',$arcneedupdate ? $timestamp : 0,'sub');
			}
			if(!empty($arcdeal['album'])){
				!$aedit->aid && $aedit->set_aid($aid);
				$aedit->set_album($arcalbum);
			}
			if(!empty($arcdeal['abover'])){
				!$aedit->aid && $aedit->set_aid($aid);
				$aedit->updatefield('abover',$arcabover,'main');
			}
			if(!empty($arcdeal['permission'])){
				!$aedit->aid && $aedit->set_aid($aid);
				$aedit->basic_data();
				if(!$issueupdatecheck || $aedit->archive['allowupdate'] || !$aedit->archive['checked']){
					$aedit->updatefield('permission',$arcpermission,'main');
				}
			}
			if(!empty($arcdeal['fsalecp'])){
				!$aedit->aid && $aedit->set_aid($aid);
				$aedit->basic_data();
				if(!$issueupdatecheck || $aedit->archive['allowupdate'] || !$aedit->archive['checked']){
					$aedit->updatefield('fsalecp',$arcfsalecp,'main');
					$aedit->sale_define();
				}
			}
			if(!empty($arcdeal['salecp']) && $issueupdatecheck){
				!$aedit->aid && $aedit->set_aid($aid);
				$aedit->basic_data();
				if(!$issueupdatecheck || $aedit->archive['allowupdate'] || !$aedit->archive['checked']){
					$aedit->updatefield('salecp',$arcsalecp,'main');
					$aedit->sale_define();
				}
			}
			$aedit->updatedb();
		}
		unset($aedit);
		!empty($arcdeal['ucid']) && $db->query("UPDATE {$tblprefix}archives SET ucid='$arcucid' WHERE aid IN (".mimplode($selectid).")",'SILENT');
		if(!empty($select_all)){
			$npage ++;
			if($npage <= $pages){
				$fromid = min($selectid);
				$transtr = '';
				$transtr .= "&select_all=1";
				$transtr .= "&pages=$pages";
				$transtr .= "&npage=$npage";
				$transtr .= "&balbumsedit=1";
				$transtr .= "&fromid=$fromid";
				mcmessage(lang('operating')."<br>
						".lang('all')." $pages ".lang('page0').",".lang('dealing')." $npage ".lang('page0')."<br><br>
						<a href=\"?action=albumsedit&page=$page$param_suffix$filterstr\">>>".lang('pause')."</a>",
						"?action=albumsedit&page=$page$param_suffix$filterstr$transtr$parastr&dealstr=$dealstr",
						500);
			}
		}
		mcmessage(lang('archive operate finish'),"?action=albumsedit&page=$page$filterstr$param_suffix");
	}
}else{
	$aedit = new cls_arcedit;
	$aedit->set_aid($aid);
	$aedit->basic_data();
	!$aedit->aid && mcmessage(lang('confirmchoose album'));
	$aedit->archive['mid'] != $memberid && mcmessage(lang('please choose yourself album'));
	if($sid != $aedit->archive['sid']){
		switch_cache($aedit->archive['sid']);
		$sid = $aedit->archive['sid'];
	}
	//模型与合辑信息是不会变化的
	$chid = $aedit->archive['chid'];
	$atid = $aedit->archive['atid'];
	if(!$atid || !($altype = read_cache('altype',$atid,'',$sid))) mcmessage(lang('confirmchoose album'));

	$forward = empty($forward) ? M_REFERER : $forward;
	$forwardstr = '&forward='.urlencode($forward);
	if(empty($deal)){//合辑内容的编辑
		$iscopy = $copyid = 0;
		if($aedit->archive['checked']){
			($issueupdatecheck && !$aedit->archive['allowupdate']) && mcmessage(lang('please submit archive update need'),$forward);
			if($issueupdatecopy){
				$iscopy = 1;//需要产生副本,
				$copyid = $aedit->archive['updatecopyid'];
				if($copyid){//存在旧副本,
					$aedit->init();
					$aedit->set_aid($copyid);
				}
			}
		}
		$aedit->detail_data();
		$fields = read_cache('fields',$chid);
		if(!submitcheck('barchivedetail')){
			tabheader(lang('album update mode1'));
			trbasic(lang('current content source'),'',$copyid ? lang('album update copys') : lang('album arcself'),'');
			trbasic(lang('update content saveas'),'',$iscopy ? lang('album update copys').'('.lang('want admin check').')' : lang('album arcself'),'');
			tabfooter();
	
			tabheader($altype['cname'].'&nbsp; -&nbsp; '.lang('catas and album setting'),'archivedetail',"?action=albumsedit&aid=$aid$param_suffix$forwardstr",2,1,1);

			//栏目设置
			trbasic(lang('belong catalog').'&nbsp;*','archivenew[caid]',umakeoption(ucaidsarr($atid,1),$aedit->archive['caid']),'select');
			
			//分类设置
			foreach($cotypes as $coid => $cotype){
				if(!$cotype['self_reg'] && !$cotype['ctype'] && (!$cotype['atids'] || !in_array($atid,explode(',',$cotype['atids'])))){
					$optionarr = empty($cotype['notblank']) ? array('0' => array('title' =>lang('nosetting'))) : array();
					$optionarr = $optionarr + uccidsarr($cotype['coid'],$atid,1);
					trbasic($cotype['cname'],"archivenew[cotype$coid]",umakeoption($optionarr,$aedit->archive["cotype$coid"]),'select');
				}
			}
			//个人分类设置
			$ucidsarr = array('0' => lang('nosetting coclass')) + loaduclasses($memberid);
			trbasic(lang('my coclass'),'archivenew[ucid]',makeoption($ucidsarr,$aedit->archive['ucid']),'select');
			tabfooter();
		
			tabheader($altype['cname'].'&nbsp; -&nbsp; '.lang('content setting'));
			$a_field = new cls_field;
			$submitstr = '';
			foreach($fields as $k => $field){
				if($field['available'] && !$field['isadmin'] && !$field['isfunc']){
					$a_field->init();
					$a_field->field = read_cache('field',$chid,$k);
					$a_field->oldvalue = isset($aedit->archive[$k]) ? $aedit->archive[$k] : '';
					$a_field->trfield('archivenew');
					$submitstr .= $a_field->submitstr;
				}
			}
			tabfooter();
	
			tabheader($altype['cname'].'&nbsp; -&nbsp; '.lang('permission setting'));
			trbasic(lang('content permission project'),'archivenew[permission]',makeoption(pmidsarr(1),$aedit->archive['permission']),'select');
			trbasic(lang('browse album saleprice'),'archivenew[salecp]',makeoption(array('' => lang('freesale')) + $vcps['sale'],$aedit->archive['salecp']),'select');
			trbasic(lang('attachment operate saleprice'),'archivenew[fsalecp]',makeoption(array('' => lang('freesale')) + $vcps['fsale'],$aedit->archive['fsalecp']),'select');
			tabfooter('barchivedetail');
			check_submit_func($submitstr);
		}else{
			if($iscopy && !$copyid){//新增副本的操作
				//栏目的分析,如果变化后的栏目被限制,则回到原来的栏目
				if(empty($archivenew['caid']) || !($catalog = read_cache('catalog',$archivenew['caid'],'',$sid))) $archivenew['caid'] = $aedit->archive['caid'];
				if(!in_array($atid,explode(',',$catalog['atids']))) $archivenew['caid'] = $aedit->archive['caid'];
				if(!$curuser->pmbypmids('issue',$catalog['permission'])) $archivenew['caid'] = $aedit->archive['caid'];

				$sqlmain = "sid='$sid',atid='$atid',caid='$archivenew[caid]',updateaid='$aid',chid='$chid',mid='$memberid',mname='".$curuser->infos['mname']."',createdate='$timestamp',ucid='$archivenew[ucid]'";
				foreach($cotypes as $coid => $cotype){
					if(!$cotype['self_reg'] && !$cotype['ctype'] && (!$cotype['atids'] || !in_array($atid,explode(',',$cotype['atids'])))){
						$archivenew["cotype$coid"] = empty($archivenew["cotype$coid"]) ? 0 : $archivenew["cotype$coid"];
						if(!empty($archivenew["cotype$coid"])){
							$coclass = read_cache('coclass',$coid,$archivenew["cotype$coid"]);
							empty($coclass) && $archivenew["cotype$coid"] = 0;
							!in_array($atid,explode(',',$coclass['atids'])) && $archivenew["cotype$coid"] = 0;
						}
						$sqlmain .= ",cotype$coid = ".$archivenew["cotype$coid"];
					}
				}
				$sqlmain .= ",permission='".$archivenew['permission']."'";
				$sqlmain .= ",salecp='".$archivenew['salecp']."'";
				$sqlmain .= ",fsalecp='".$archivenew['fsalecp']."'";
			
				$c_upload = new cls_upload;	
				$fields = fields_order($fields);
				$a_field = new cls_field;
				foreach($fields as $k => $field){
					if($field['available'] && !$field['isadmin'] && !$field['isfunc']){
						$a_field->init();
						$a_field->field = read_cache('field',$chid,$k);
						$a_field->oldvalue = isset($aedit->archive[$k]) ? $aedit->archive[$k] : '';
						$a_field->deal('archivenew');
						if(!empty($a_field->error)){
							$c_upload->rollback();
							mcmessage($a_field->error,"?action=albumsedit&aid=$aid$param_suffix$forwardstr");
						}
						$archivenew[$k] = $a_field->newvalue;
					}
				}
				unset($a_field);
				$oldarr = array();
				$cu_ret = cu_fields_deal($aedit->channel['cuid'],'archivenew',$oldarr);
				$cu_ret && mcmessage($cu_ret,"?action=albumsedit&aid=$aid$param_suffix$forwardstr");
			
				$fields['keywords']['available'] && $archivenew['keywords'] = keywords($archivenew['keywords'],$aedit->archive['keywords']);
				if($arcautoabstract && $fields['abstract']['available'] && !$fields['abstract']['isadmin'] && $aedit->channel['autoabstract'] && empty($archivenew['abstract']) && isset($archivenew[$aedit->channel['autoabstract']])){
					$archivenew['abstract'] = autoabstract($archivenew[$aedit->channel['autoabstract']]);
				}
				if($arcautothumb && $fields['thumb']['available'] && !$fields['thumb']['isadmin'] && $aedit->channel['autothumb'] && empty($archivenew['thumb']) && isset($archivenew[$aedit->channel['autothumb']])){
					$field = read_cache('field',$chid,'thumb');
					$archivenew['thumb'] = $c_upload->thumb_pick(stripslashes($archivenew[$aedit->channel['autothumb']]),$fields[$aedit->channel['autothumb']]['datatype'],$field['rpid']);
				}
				if($aedit->channel['autosize'] && isset($archivenew[$aedit->channel['autosize']]) && $archivenew[$aedit->channel['autosize']] != addslashes($aedit->archive[$aedit->channel['autosize']])){
					$archivenew['atmsize'] = atm_size(stripslashes($archivenew[$aedit->channel['autosize']]),$fields[$aedit->channel['autosize']]['datatype'],$aedit->channel['autosizemode']);
					$sqlmain .= ",atmsize='".$archivenew['atmsize']."'";
				}

				$sqlsub = $sqlcustom = '';
				foreach($fields as $k => $field){
					if($field['available'] && !$field['isadmin'] && !$field['isfunc']){
						if(!empty($field['istxt'])) $archivenew[$k] = saveastxt(stripslashes($archivenew[$k]),$aedit->namepres[$k]);
						${'sql'.$field['tbl']} .= (${'sql'.$field['tbl']} ? ',' : '').$k."='".$archivenew[$k]."'";
					}
				}
				cu_sqls_deal($aedit->channel['cuid'],$archivenew,$sqlmain,$sqlsub,$sqlcustom);

				$db->query("INSERT INTO {$tblprefix}archives SET ".$sqlmain);//插入副本记录
				if(!$nid = $db->insert_id()){
					mcmessage(lang('album edit failed'),"?action=albumsedit&aid=$aid$param_suffix$forwardstr");
				}else{
					$db->query("INSERT INTO {$tblprefix}archives_rec SET aid='$nid'");
					$sqlsub = "aid='$nid',updatedate='$timestamp'".($sqlsub ? ',' : '').$sqlsub;
					$db->query("INSERT INTO {$tblprefix}archives_sub SET ".$sqlsub);
					$sqlcustom = "aid='$nid'".($sqlcustom ? ',' : '').$sqlcustom;
					$db->query("INSERT INTO {$tblprefix}archives_$chid SET ".$sqlcustom);
					$db->query("UPDATE {$tblprefix}archives_sub SET updatecopyid=$nid WHERE aid=$aid");//将副本id关联到正本中
					if(!empty($c_upload->ufids)){
						$db->query("UPDATE {$tblprefix}userfiles SET aid=$nid WHERE ufid IN (".mimplode($c_upload->ufids).")");
					}
				}
				$c_upload->saveuptotal(1);
			}else{//修改已有的正本或副本
				$aedit->arc_caid($archivenew['caid']);
				foreach($cotypes as $coid => $cotype){
					if(!$cotype['self_reg'] && !$cotype['ctype'] && (!$cotype['atids'] || !in_array($atid,explode(',',$cotype['atids'])))){
						$archivenew["cotype$coid"] = empty($archivenew["cotype$coid"]) ? 0 : $archivenew["cotype$coid"];
						$aedit->arc_ccid($archivenew["cotype$coid"],$coid);
					}
				}
				$aedit->updatefield('permission',$archivenew['permission'],'main');
				$aedit->updatefield('salecp',$archivenew['salecp'],'main');
				$aedit->updatefield('fsalecp',$archivenew['fsalecp'],'main');
				$aedit->sale_define();
		
				$c_upload = new cls_upload;	
				$fields = fields_order($fields);
				$a_field = new cls_field;
				foreach($fields as $k => $field){
					if($field['available'] && !$field['isadmin'] && !$field['isfunc']){
						$a_field->init();
						$a_field->field = read_cache('field',$chid,$k);
						$a_field->oldvalue = isset($aedit->archive[$k]) ? $aedit->archive[$k] : '';
						$a_field->deal('archivenew');
						if(!empty($a_field->error)){
							$c_upload->rollback();
							mcmessage($a_field->error,"?action=albumsedit&aid=$aid$param_suffix$forwardstr");
						}
						$archivenew[$k] = $a_field->newvalue;
					}
				}
				unset($a_field);
				$cu_ret = cu_fields_deal($aedit->channel['cuid'],'archivenew',$aedit->archive);
				!empty($cu_ret) && mcmessage($cu_ret,"?action=albumsedit&aid=$aid$forwardstr");
				$aedit->edit_cudata($archivenew,1);
		
				$fields['keywords']['available'] && $archivenew['keywords'] = keywords($archivenew['keywords'],$aedit->archive['keywords']);
				if($arcautoabstract && $fields['abstract']['available'] && !$fields['abstract']['isadmin'] && $aedit->channel['autoabstract'] && empty($archivenew['abstract']) && isset($archivenew[$aedit->channel['autoabstract']])){
					$archivenew['abstract'] = autoabstract($archivenew[$aedit->channel['autoabstract']]);
				}
				if($arcautothumb && $fields['thumb']['available'] && !$fields['thumb']['isadmin'] && $aedit->channel['autothumb'] && empty($archivenew['thumb']) && isset($archivenew[$aedit->channel['autothumb']])){
					$field = read_cache('field',$chid,'thumb');
					$archivenew['thumb'] = $c_upload->thumb_pick(stripslashes($archivenew[$aedit->channel['autothumb']]),$fields[$aedit->channel['autothumb']]['datatype'],$field['rpid']);
				}
				if($aedit->channel['autosize'] && !empty($archivenew[$aedit->channel['autosize']])){
					$archivenew['atmsize'] = atm_size(stripslashes($archivenew[$aedit->channel['autosize']]),$fields[$aedit->channel['autosize']]['datatype'],$aedit->channel['autosizemode']);
					$aedit->updatefield('atmsize',$archivenew['atmsize'],'main');
				}
				foreach($fields as $k => $field){
					if($field['available'] && !$field['isadmin'] && !$field['isfunc']){
						if(!empty($field['istxt'])) $archivenew[$k] = saveastxt(stripslashes($archivenew[$k]),$aedit->namepres[$k]);
						$aedit->updatefield($k,$archivenew[$k],$field['tbl']);
					}
				}
				(!$iscopy && $aedit->channel['autocheck']) && $aedit->arc_check('1');
				$aedit->updatefield('updatedate',$timestamp,'sub');
				$aedit->updatedb();
				if(!empty($c_upload->ufids)){
					$db->query("UPDATE {$tblprefix}userfiles SET aid=".$aedit->aid." WHERE ufid IN (".mimplode($c_upload->ufids).")");
				}
				unset($aedit);
				$c_upload->saveuptotal(1);
			}
			mcmessage(lang('album edit finish'),$forward);
		}
	}
	elseif($deal == 'setalbum'){//归辑
		$page = empty($page) ? 1 : max(1, intval($page));
		submitcheck('bfilter') && $page = 1;
		$viewdetail = empty($viewdetail) ? 0 : $viewdetail;
		$caid = empty($caid) ? 0 : $caid;
		$natid = empty($natid) ? 0 : $natid;
		$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','natid','subject','mname','indays','outdays') as $k){
			$filterstr .= "&$k=".rawurlencode(stripslashes($$k));
		}

		$wheresql = "WHERE sid='$sid' AND abover=0 AND updateaid='0'";
		if(!empty($caid)){
			$caids = array($caid);
			$tempids = array();
			$tempids = son_ids($catalogs,$caid,$tempids);
			$caids = array_merge($caids,$tempids);
			$wheresql .= " AND caid IN (".mimplode($caids).")";
		}
		$natid && $wheresql .= " AND atid='$natid'";
		$subject && $wheresql .= " AND subject LIKE '%".str_replace(array(' ','*'),'%',addcslashes($subject,'%_'))."%'";
		$mname && $wheresql .= " AND mname LIKE '%".str_replace(array(' ','*'),'%',addcslashes($mname,'%_'))."%'";
		$indays && $wheresql .= " AND createdate>'".($timestamp - 86400 * $indays)."'";
		$outdays && $wheresql .= " AND createdate<'".($timestamp - 86400 * $outdays)."'";
		if($atidstr = set_atidstr($aedit->archive['mid'],$aedit->archive['atid'],1)){//取得当前文档可以归入的合辑类型
			$wheresql .= " AND $atidstr";
		}else $wheresql .= " AND atid='-1'";//如果为空表示没有可用的允许合辑类型
		if(!submitcheck('bquitalbum') && !submitcheck('bsetalbum')){
			tabheader(lang('current belong album setting').'&nbsp; -&nbsp; '.$aedit->archive['subject'],'setalbum',"?action=albumsedit&deal=setalbum&aid=$aid$param_suffix$forwardstr",6);
			trcategory(array(lang('id'),lang('exit'),lang('belong album'),lang('altype'),lang('author'),lang('catalog'),lang('inalbum check')));
			$query = $db->query("SELECT b.checked,a.aid,a.sid,a.arcurl,a.subject,a.atid,a.caid,a.mname FROM {$tblprefix}albums b LEFT JOIN {$tblprefix}archives a ON a.aid=b.pid WHERE b.aid=$aid ORDER BY a.aid DESC");
			while($archive = $db->fetch_array($query)){
				$archive['arcurl'] = view_arcurl($archive);
				$altype = read_cache('altype',$archive['atid'],'',$sid);
				$archive['catalog'] = empty($catalogs[$archive['caid']]) ? lang('nocata') : $catalogs[$archive['caid']]['title'];
				echo  "<tr><td align=\"center\" class=\"item1\" width=\"30\">$archive[aid]</td>\n".
					"<td align=\"center\" class=\"item2\" width=\"30\"><input class=\"checkbox\" type=\"checkbox\" name=\"selectid[$archive[aid]]\" value=\"$archive[aid]\"".($altype['onlyload'] ? ' disabled' : '')."></td>\n".
					"<td class=\"item1\"><a href=$archive[arcurl] target=\"_blank\">".mhtmlspecialchars($archive['subject'])."</a></td>\n".
					"<td align=\"center\" class=\"item2\">".$altype['cname']."</td>\n".
					"<td align=\"center\" class=\"item1\">$archive[mname]</td>\n".
					"<td align=\"center\" class=\"item2\">$archive[catalog]</td>\n".
					"<td align=\"center\" class=\"item1\" width=\"60\">".($archive['checked'] ? ' Y' : '-')."</td>\n".
					"</tr>\n";
			}
			tabfooter('bquitalbum',lang('exit album'));
			$caidsarr = array('0' => lang('all catalog')) + caidsarr();
			$atidsarr = array('0' => lang('all altype')) + atidsarr();
			tabheader(lang('filter0 want setin of album').viewcheck('viewdetail',$viewdetail,'tbodyfilter').'&nbsp; &nbsp; '.strbutton('bfilter','filter0'),'setalbum',"?action=albumsedit&deal=setalbum&aid=$aid$param_suffix&page=$page");
			echo "<tbody id=\"tbodyfilter\" style=\"display: ".(empty($viewdetail) ? 'none' : '')."\">";
			trbasic(lang('belong catalog'),'caid',makeoption($caidsarr,$caid),'select');
			trbasic(lang('belong altype'),'natid',makeoption($atidsarr,$natid),'select');
			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,'','&nbsp; '.lang('day before').'&nbsp; -&nbsp; ',5),array('indays',empty($indays) ? '' : $indays,'','&nbsp; '.lang('day in'),5));
			echo "</tbody>";
			tabfooter();
			$pagetmp = $page;
			do{
				$query = $db->query("SELECT aid,sid,subject,arcurl,atid,caid,mname FROM {$tblprefix}archives $wheresql ORDER BY aid DESC LIMIT ".(($pagetmp - 1) * $atpp).",$atpp");
				$pagetmp--;
			} while(!$db->num_rows($query) && $pagetmp);
			$itemstr = '';
			while($archive = $db->fetch_array($query)){
				$archive['arcurl'] = view_arcurl($archive);
				$archive['catalog'] = empty($catalogs[$archive['caid']]) ? lang('nocata') : $catalogs[$archive['caid']]['title'];
				$archive['altype'] = $atidsarr[$archive['atid']];
				$itemstr .= "<tr><td align=\"center\" class=\"item1\" width=\"30\">$archive[aid]</td>\n".
					"<td align=\"center\" class=\"item2\" width=\"30\"><input class=\"checkbox\" type=\"checkbox\" name=\"selectid['$archive[aid]']\" value=\"$archive[aid]\"></td>\n".
					"<td class=\"item1\"><a href=$archive[arcurl] target=\"_blank\">".mhtmlspecialchars($archive['subject'])."</a></td>\n".
					"<td align=\"center\" class=\"item2\">$archive[altype]</td>\n".
					"<td align=\"center\" class=\"item1\">$archive[mname]</td>\n".
					"<td align=\"center\" class=\"item2\">$archive[catalog]</td>\n".
					"</tr>\n";
			}
			$counts = $db->result_one("SELECT count(*) FROM {$tblprefix}archives $wheresql");
			$multi = multi($counts,$atpp,$page, "?action=albumsedit&deal=setalbum&aid=$aid$param_suffix$filterstr");
	
			tabheader(lang('album list').'&nbsp; -&nbsp; '.lang('please choose want setin of album'),'','',10);
			trcategory(array(lang('id'),"<input class=\"checkbox\" type=\"checkbox\" name=\"chkall\" onclick=\"checkall(this.form, 'selectid', 'chkall')\">",lang('title'),lang('altype'),lang('author'),lang('catalog')));
			echo $itemstr;
			tabfooter();
			echo $multi;
			echo "<input class=\"button\" type=\"submit\" name=\"bsetalbum\" value=\"".lang('setalbum')."\"></form>";
		}elseif(submitcheck('bquitalbum')){
			empty($selectid) && mcmessage(lang('confirmselect album'),"?action=albumsedit&deal=setalbum&aid=$aid&page=$page$param_suffix$filterstr");
			$db->query("DELETE FROM {$tblprefix}albums WHERE aid='$aid' AND pid IN (".mimplode($selectid).")", 'UNBUFFERED');
			mcmessage(lang('exit album operate finish'),"?action=albumsedit&deal=setalbum&aid=$aid$param_suffix&page=$page$filterstr");
	
		}elseif(submitcheck('bsetalbum')){
			empty($selectid) && mcmessage(lang('confirmselect album'),"?action=albumsedit&deal=setalbum&aid=$aid&page=$page$param_suffix$filterstr");
			$c_notice = new cls_notice;
			$n_edit = new cls_arcedit;
			foreach($selectid as $k){
				$n_edit->set_aid($aid);
				$n_edit->set_album($k);
				$n_edit->init();
			}
			$c_notice->deal();
			mcmessage(lang('setalbum operate finish'),"?action=albumsedit&deal=setalbum&aid=$aid$param_suffix&page=$page$filterstr");
		}
	}
	elseif($deal == 'albumadmin'){//合辑管理
		$page = empty($page) ? 1 : max(1, intval($page));
		$wheresql = "WHERE a.sid=$sid AND b.pid=$aid AND a.updateaid='0'";
		if(!submitcheck('balbumadmin')){
			tabheader($altype['cname'].'&nbsp; --&nbsp; '.$aedit->archive['subject']);
			//直接在辑内添加的内容
			if(!$aedit->archive['abover']){
				foreach($altype['chids'] as $k) $str = ">>&nbsp; <a href=\"?action=archiveadd$param_suffix&chid=$k&pid=$aid\">".$channels[$k]['cname'].'</a>&nbsp; ';
				foreach($altype['atids'] as $k) $str .= ">>&nbsp; <a href=\"?action=albumadd$param_suffix&atid=$k&pid=$aid\">".$altypes[$k]['cname'].'</a>&nbsp; ';
			}else $str = lang('abover album');
			trbasic(lang('add inalbum archive or album'),'',$str,'');
			//辑内内容详细管理
			$str = ">>&nbsp; <a href=\"?action=archivesedit$param_suffix&inalbum=$aid\">".lang('inalbum archive manager').'</a> &nbsp; '.
					">>&nbsp; <a href=\"?action=albumsedit$param_suffix&inalbum=$aid\">".lang('album cover manager').'</a> &nbsp; ';
			trbasic(lang('inalbum content detail0 manager'),'',$str,'');
			//加载已经存在的合辑
			trbasic(lang('load existed archive or album'),'',!$aedit->archive['abover'] ? ">>&nbsp; <a href=\"?action=albumsedit&deal=loadold$param_suffix&aid=$aid\">".lang('load').'</a>' : lang('abover album'),'');
			tabfooter();
	
			$pagetmp = $page;
			do{
				$query = $db->query("SELECT b.abid,b.aid,b.checked,b.vieworder,a.sid,a.atid,a.mid,a.subject,a.arcurl,a.caid,a.chid FROM {$tblprefix}albums b LEFT JOIN {$tblprefix}archives a ON a.aid=b.aid $wheresql ORDER BY b.vieworder ASC,a.aid DESC LIMIT ".(($pagetmp - 1) * $atpp).",$atpp");
				$pagetmp--;
			} while(!$db->num_rows($query) && $pagetmp);
			tabheader(lang('inalbum content list'),'albumadmin',"?action=albumsedit&deal=albumadmin&aid=$aid&page=$page$param_suffix",6);
			trcategory(array("<input class=\"checkbox\" type=\"checkbox\" name=\"chkall\" onclick=\"checkall(this.form, 'delete', 'chkall')\">".lang('clear'),lang('title'),lang('catalog'),lang('type'),
			"<input class=\"checkbox\" type=\"checkbox\" name=\"chkall1\" onclick=\"checkall(this.form, 'albumsnew', 'chkall1')\">".lang('check'),lang('inalbum order'),lang('edit')));
			while($archive = $db->fetch_array($query)) {
				$arcurl = view_arcurl($archive);
				$detailurl = "?action=".($archive['atid'] ? 'album' : 'archive')."sedit&aid=$archive[aid]$param_suffix";
				echo "<tr><td align=\"center\" class=\"item1\" width=\"50\"><input class=\"checkbox\" type=\"checkbox\" name=\"delete[$archive[abid]]\" value=\"$archive[abid]\"></td>\n".
					"<td class=\"item2\"><a href=$arcurl target=\"_blank\">".mhtmlspecialchars($archive['subject'])."</a></td>\n".
					"<td align=\"center\" class=\"item1\">".(empty($catalogs[$archive['caid']]) ? lang('nocata') : $catalogs[$archive['caid']]['title'])."</td>\n".
					"<td align=\"center\" class=\"item2\">".($archive['atid'] ? '<b>'.$altypes[$archive['atid']]['cname'].'</b>' : $channels[$archive['chid']]['cname'])."</td>\n".
					"<td align=\"center\" class=\"item1\" width=\"50\"><input class=\"checkbox\" type=\"checkbox\" name=\"albumsnew[".$archive['abid']."][checked]\" value=\"1\"".($archive['checked'] ? ' checked' : '')."></td>\n".
					"<td align=\"center\" class=\"item2\" width=\"50\"><input type=\"text\" size=\"5\" maxlength=\"5\" name=\"albumsnew[".$archive['abid']."][vieworder]\" value=\"".$archive['vieworder']."\"></td>\n".
					"<td align=\"center\" class=\"item1\" width=\"30\"><a href=\"$detailurl\">".lang('detail')."</a></td>\n";
					"</tr>\n";
			}
			tabfooter();
			$counts = $db->result_one("SELECT count(*) FROM {$tblprefix}albums b LEFT JOIN {$tblprefix}archives a ON a.aid=b.aid $wheresql");
			$multi = multi($counts, $atpp, $page, "?action=albumsedit&deal=albumadmin&aid=$aid$param_suffix");
			echo $multi;
			echo "<input class=\"button\" type=\"submit\" name=\"balbumadmin\" value=\"".lang('submit')."\">";
		}else{
			if(!empty($delete)){
				$db->query("DELETE FROM {$tblprefix}albums WHERE abid IN (".mimplode($delete).")", 'UNBUFFERED');
			}
			if(!empty($albumsnew)){
				foreach($albumsnew as $k => $albumnew){
					$albumnew['vieworder'] = max(0,intval($albumnew['vieworder']));
					$albumnew['checked'] = empty($albumnew['checked']) ? 0 : 1;
					$db->query("UPDATE {$tblprefix}albums SET 
								vieworder='".$albumnew['vieworder']."',
								checked='".$albumnew['checked']."'
								WHERE abid='$k'");
				}
			}
			mcmessage(lang('album admin finish'),"?action=albumsedit&deal=albumadmin&aid=$aid&page=$page$param_suffix");
		}
	}
	elseif($deal == 'loadold' && $aid){
		$aedit->archive['abover'] && mcmessage(lang('abover album'));//已完结的合辑,不能再加载内容
		$page = empty($page) ? 1 : max(1, intval($page));
		submitcheck('bfilter') && $page = 1;
		$viewdetail = empty($viewdetail) ? 0 : $viewdetail;
		$caid = empty($caid) ? 0 : $caid;
		$natid = empty($natid) ? 0 : $natid;
		$nchid = empty($nchid) ? 0 : $nchid;
		$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','natid','nchid','subject','mname','indays','outdays') as $k){
			$filterstr .= "&$k=".rawurlencode(stripslashes($$k));
		}

		!($wheresql = $aedit->inalbumsqlstr()) && mcmessage(lang('nohave allow load of archive or album'));
		if(!empty($caid)){
			$caids = array($caid);
			$tempids = array();
			$tempids = son_ids($catalogs,$caid,$tempids);
			$caids = array_merge($caids,$tempids);
			$wheresql .= " AND caid IN (".mimplode($caids).")";
		}
		$nchid && $wheresql .= " AND chid='$nchid' AND atid=0";
		$natid && $wheresql .= " AND atid='$natid'";
		$subject && $wheresql .= " AND subject LIKE '%".str_replace(array(' ','*'),'%',addcslashes($subject,'%_'))."%'";
		$mname && $wheresql .= " AND mname LIKE '%".str_replace(array(' ','*'),'%',addcslashes($mname,'%_'))."%'";
		$indays && $wheresql .= " AND createdate>'".($timestamp - 86400 * $indays)."'";
		$outdays && $wheresql .= " AND createdate<'".($timestamp - 86400 * $outdays)."'";
		if(!submitcheck('bloadold')){
			$caidsarr = array('0' => lang('all catalog')) + caidsarr();
			$atidsarr = array('0' => lang('all altype')) + atidsarr();
			$chidsarr = array('0' => lang('all channel')) + chidsarr();
			tabheader(lang('filter0 archive and album').viewcheck('viewdetail',$viewdetail,'tbodyfilter').'&nbsp; &nbsp; '.strbutton('bfilter','filter0'),'arcsedit',"?action=albumsedit&deal=loadold&aid=$aid&page=$page$param_suffix");
			echo "<tbody id=\"tbodyfilter\" style=\"display: ".(empty($viewdetail) ? 'none' : '')."\">";
			trbasic(lang('belong catalog'),'caid',makeoption($caidsarr,$caid),'select');
			trbasic(lang('archive belong channel'),'nchid',makeoption($chidsarr,$nchid),'select');
			trbasic(lang('album belong type'),'natid',makeoption($atidsarr,$natid),'select');
			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,'','&nbsp; '.lang('day before').'&nbsp; -&nbsp; ',5),array('indays',empty($indays) ? '' : $indays,'','&nbsp; '.lang('day in'),5));
			echo "</tbody>";
			tabfooter();

			$pagetmp = $page;
			do{
				$query = $db->query("SELECT aid,sid,subject,arcurl,atid,caid,mname,chid FROM {$tblprefix}archives $wheresql ORDER BY aid DESC LIMIT ".(($pagetmp - 1) * $atpp).",$atpp");
				$pagetmp--;
			} while(!$db->num_rows($query) && $pagetmp);
			$itemstr = '';
			while($archive = $db->fetch_array($query)){
				$archive['arcurl'] = view_arcurl($archive);
				$archive['catalog'] = empty($catalogs[$archive['caid']]) ? lang('nocata') : $catalogs[$archive['caid']]['title'];
				$itemstr .= "<tr><td align=\"center\" class=\"item1\" width=\"30\">$archive[aid]</td>\n".
					"<td align=\"center\" class=\"item2\" width=\"30\"><input class=\"checkbox\" type=\"checkbox\" name=\"selectid['$archive[aid]']\" value=\"$archive[aid]\"></td>\n".
					"<td class=\"item1\"><a href=$archive[arcurl] target=\"_blank\">".mhtmlspecialchars($archive['subject'])."</a></td>\n".
					"<td align=\"center\" class=\"item2\">".($archive['atid'] ? $altypes[$archive['atid']]['cname'] : $channels[$archive['chid']]['cname'])."</td>\n".
					"<td align=\"center\" class=\"item1\">$archive[mname]</td>\n".
					"<td align=\"center\" class=\"item2\">$archive[catalog]</td>\n".
					"</tr>\n";
			}
			$counts = $db->result_one("SELECT count(*) FROM {$tblprefix}archives $wheresql");
			$multi = multi($counts,$atpp,$page, "?action=albumsedit&deal=loadold&aid=$aid$param_suffix$filterstr");
	
			tabheader(lang('archive and album list').'&nbsp; -&nbsp; '.$aedit->archive['subject']."&nbsp; &nbsp; &nbsp; <a href=\"?action=albumsedit&deal=albumadmin&aid=$aid\">>>".lang('goback')."</a>",'','',10);
			trcategory(array(lang('id'),"<input class=\"checkbox\" type=\"checkbox\" name=\"chkall\" onclick=\"checkall(this.form, 'selectid', 'chkall')\">",lang('title'),lang('channel or album'),lang('author'),lang('catalog')));
			echo $itemstr;
			tabfooter();
			echo $multi;
			echo "<input class=\"button\" type=\"submit\" name=\"bloadold\" value=\"".lang('load')."\"></form>";
		}else{
			empty($selectid) && mcmessage(lang('confirmselect album'),"?action=albumsedit&deal=loadold&aid=$aid&page=$page$param_suffix$filterstr");
			$n_edit = new cls_arcedit;
			foreach($selectid as $k){
				$n_edit->set_aid($k);
				$n_edit->set_album($aid,1);
				$n_edit->init();
			}
			mcmessage(lang('setalbum operate finish'),"?action=albumsedit&deal=loadold&aid=$aid$param_suffix&page=$page$filterstr");
		}
	}elseif($deal == 'viewinfos'){//显示更多信息
		$aedit->detail_data();
		$chid = $aedit->archive['chid'];
		tabheader(lang('based message'));
		trbasic(lang('album title'),'',$aedit->archive['subject'],'');
		trbasic(lang('member cname'),'',$aedit->archive['mname'],'');
		trbasic(lang('add time'),'',date("Y-m-d H:i:s",$aedit->archive['createdate']),'');
		trbasic(lang('check').'('.lang('state').'&nbsp;/&nbsp;'.lang('edit').')','',($aedit->archive['checked'] ? lang('check') : lang('uncheck')).'&nbsp;&nbsp;/&nbsp;&nbsp;'.($aedit->archive['editor'] ? $aedit->archive['editor'] : '-'),'');
		trbasic(lang('clicks').'&nbsp;/&nbsp;'.lang('comments'),'',$aedit->archive['clicks'].'&nbsp;&nbsp;/&nbsp;&nbsp;'.$aedit->archive['comments'],'');
		tabfooter();
		tabheader(lang('other message'));
		trbasic(lang('album type'),'',$aedit->archive['atid'] ? $altypes[$aedit->archive['atid']]['cname'] : '-','');
		$albumstr = '';
		foreach($altypes as $atid => $altype){
			$albumstr .= empty($aedit->archive['album'.$atid]) ? '' : $altype['cname'].'('.(empty($aedit->archive['album'.$atid.'check']) ? lang('nocheck') : lang('checked')).')&nbsp;&nbsp;&nbsp;';
		}
		trbasic(lang('belong album'),'',$albumstr ? $albumstr : '-','');
		//trbasic(lang('browse album deductvalue'),'',empty($aedit->archive['tax_price']) ? '-' : $aedit->archive['tax_price'],'');
		//trbasic(lang('browse album saleprice'),'',empty($aedit->archive['sale_price']) ? '-' : $aedit->archive['sale_price'],'');
		//trbasic(lang('attachment deductvalue').'/'.lang('piece'),'',empty($aedit->archive['f_tax_price']) ? '-' : $aedit->archive['f_tax_price'],'');
		//trbasic(lang('attachment saleprice').'/'.lang('piece'),'',empty($aedit->archive['f_sale_price']) ? '-' : $aedit->archive['f_sale_price'],'');
		tabfooter();
		echo "<input class=\"button\" type=\"submit\" name=\"\" value=\"".lang('goback')."\" onclick=\"history.go(-1);\">";
	}
}
?>