function DelArc($aid,$onlyfile=false,$channelid=0) { global $dsql; if(!is_object($dsql)) $dsql = new DedeSql(false); $tables = GetChannelTable($dsql,$aid,'arc'); //读取文档信息 $arctitle = ""; $arcurl = ""; $arcQuery = " Select a.ID,a.title,a.typeid, a.ismake,a.senddate,a.arcrank,c.addtable, a.money,t.typedir,t.typename,a.adminID, t.namerule,t.namerule2,t.ispart, t.moresite,t.siteurl,t.siterefer,t.sitepath from `{$tables['maintable']}` a left join `#@__arctype` t on a.typeid=t.ID left join `#@__channeltype` c on c.ID=a.channel where a.ID='$aid' "; $arcRow = $dsql->GetOne($arcQuery); if(!is_array($arcRow)) return false; //删除数据库的内容 $rs = $dsql->ExecuteNoneQuery("Delete From `{$tables['maintable']}` where ID='$aid'"); if($rs){ $dsql->ExecuteNoneQuery("Delete From `#@__full_search` where aid='$aid'"); if($arcRow['addtable']!=""){ $dsql->ExecuteNoneQuery("Delete From `{$tables['addtable']}` where aid='$aid'"); } $dsql->ExecuteNoneQuery("Delete From `#@__feedback` where aid='$aid'"); $dsql->ExecuteNoneQuery("Delete From `#@__memberstow` where arcid='$aid'"); } //删除HTML if($arcRow['ismake']==-1||$arcRow['arcrank']!=0 ||$arcRow['typeid']==0||$arcRow['money']>0){ return true; } $arcurl = GetFileUrl($arcRow['ID'],$arcRow['typeid'],$arcRow['senddate'],$arcRow['title'],$arcRow['ismake'], $arcRow['arcrank'],$arcRow['namerule'],$arcRow['typedir'],$arcRow['money'],false,''); if(!ereg("\?",$arcurl)){ $truedir = GetTruePath($arcRow['siterefer'],$arcRow['sitepath']); $htmlfile = $truedir.$arcurl; if(file_exists($htmlfile) && !is_dir($htmlfile)) unlink($htmlfile); $arcurls = explode(".",$arcurl); $sname = $arcurls[count($arcurls)-1]; $fname = ereg_replace("(\.$sname)$","",$arcurl); for($i=2;$i<=100;$i++){ $htmlfile = $truedir.$fname."_$i".".".$sname; if(file_exists($htmlfile) && !is_dir($htmlfile)) unlink($htmlfile); else break; } } //删除文本文件 $ipath = $GLOBALS['cfg_cmspath']."/data/textdata/".(ceil($aid/5000))."/"; $filename = $GLOBALS['cfg_basedir'].$ipath."{$aid}.txt"; if(is_file($filename)) unlink($filename); return true; }
$arcRow['ismake'] = 1; $arcRow['arcrank'] = $trow['corank']; $arcRow['namerule'] = $trow['namerule']; $arcRow['typedir'] = $trow['typedir']; $arcRow['money'] = 0; $arcRow['filename'] = ''; $arcRow['moresite'] = $trow['moresite']; $arcRow['siteurl'] = $trow['siteurl']; $arcRow['sitepath'] = $trow['sitepath']; } $arcurl = GetFileUrl($arcRow['id'], $arcRow['typeid'], $arcRow['senddate'], $arcRow['title'], $arcRow['ismake'], $arcRow['arcrank'], $arcRow['namerule'], $arcRow['typedir'], $arcRow['money'], $arcRow['filename'], $arcRow['moresite'], $arcRow['siteurl'], $arcRow['sitepath']); $arcfile = GetFileUrl($arcRow['id'], $arcRow['typeid'], $arcRow['senddate'], $arcRow['title'], $arcRow['ismake'], $arcRow['arcrank'], $arcRow['namerule'], $arcRow['typedir'], $arcRow['money'], $arcRow['filename']); if (preg_match("#^http:#", $arcfile)) { $arcfile = preg_replace("#^http:\\/\\/([^\\/]*)\\/#i", '/', $arcfile); } $truefile = GetTruePath() . $arcfile; if (!file_exists($truefile)) { MakeArt($aid, TRUE); } echo "<script language='javascript'>location.href='{$arcurl}" . "?" . time() . "';</script>"; exit; } else { if ($dopost == "uploadLitpic") { $upfile = AdminUpload('litpic', 'imagelit', 0, false); if ($upfile == '-1') { $msg = "<script language='javascript'>\n parent.document.getElementById('uploadwait').style.display = 'none';\n alert('你没指定要上传的文件或文件大小超过限制!');\n </script>"; } else { if ($upfile == '-2') { $msg = "<script language='javascript'>\n parent.document.getElementById('uploadwait').style.display = 'none';\n alert('上传文件失败,请检查原因!');\n </script>"; } else { if ($upfile == '0') {
left join #@__channeltype c on c.ID = arc.channel where arc.ID='$aid' "; $arcRow = $dsql->GetOne($arcQuery); if($arcRow['ismake']==-1||$arcRow['arcrank']!=0 ||$arcRow['typeid']==0||$arcRow['money']>0||$arcRow['channel']<-1) { $dsql->Close(); echo "<script language='javascript'>location.href='{$cfg_plus_dir}/view.php?aid={$aid}';</script>"; exit(); } $arcurl = GetFileUrl($arcRow['ID'],$arcRow['typeid'],$arcRow['senddate'],$arcRow['title'],$arcRow['ismake'], $arcRow['arcrank'],$arcRow['namerule'],$arcRow['typedir'],$arcRow['money'],true,$arcRow['siteurl']); $arcfile = GetFileUrl($arcRow['ID'],$arcRow['typeid'],$arcRow['senddate'],$arcRow['title'],$arcRow['ismake'], $arcRow['arcrank'],$arcRow['namerule'],$arcRow['typedir'],$arcRow['money'],false,''); $truefile = GetTruePath($arcRow['siterefer'],$arcRow['sitepath']).$arcfile; MakeArt($aid,true,true); $dsql->Close(); echo "<script language='javascript'>location.href='$arcurl"."?".time()."';</script>"; exit(); } /*-------------------------- //推荐文档 function commendArchives(); ---------------------------*/ else if($dopost=="commendArchives") { CheckPurview('a_Commend,sys_ArcBatch'); $dsql = new DedeSql(false); if( $aid!="" && !ereg("(".$aid."`|`".$aid.")",$qstr) ) $qstr .= "`".$aid; if($qstr==""){
/** * 删除不带主表内容模型的数据 * * @access public * @param int $aid 文档ID * @return string */ function DelArcSg($aid) { global $dsql, $cfg_cookie_encode, $cfg_ml, $cfg_upload_switch, $cfg_medias_dir; $aid = intval($aid); //读取文档信息 $arctitle = ''; $arcurl = ''; $arcQuery = "Select arc.id,arc.typeid,arc.senddate,arc.arcrank,ch.addtable,ch.nid,\n tp.typedir,tp.typename,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath\n from `#@__arctiny` arc\n left join `#@__arctype` tp on tp.id=arc.typeid\n left join `#@__channeltype` ch on ch.id=arc.channel\n where arc.id='{$aid}' "; $arcRow = $dsql->GetOne($arcQuery); if (!is_array($arcRow)) { return FALSE; } //删除数据库的内容 $dsql->ExecuteNoneQuery("DELETE FROM `#@__arctiny` where id='{$aid}' "); $dsql->ExecuteNoneQuery("DELETE FROM `" . $arcRow['addtable'] . "` where aid='{$aid}' "); $dsql->ExecuteNoneQuery("DELETE FROM `#@__feedback` where aid='{$aid}'"); $dsql->ExecuteNoneQuery("DELETE FROM `#@__member_stow` where aid='{$aid}'"); $dsql->ExecuteNoneQuery("DELETE FROM `#@__taglist ` where aid='{$aid}'"); //删除HTML if ($arcRow['arcrank'] != 0 || $arcRow['typeid'] == 0) { return TRUE; } $arcurl = GetFileUrl($arcRow['id'], $arcRow['typeid'], $arcRow['senddate'], '', 1, $arcRow['arcrank'], $arcRow['namerule'], $arcRow['typedir'], 0, ''); if (!preg_match("#\\?#", $arcurl)) { $htmlfile = GetTruePath() . str_replace($GLOBALS['cfg_basehost'], '', $arcurl); if (file_exists($htmlfile) && !is_dir($htmlfile)) { @unlink($htmlfile); $arcurls = explode(".", $htmlfile); $sname = $arcurls[count($arcurls) - 1]; $fname = preg_replace("#(\\.{$sname})\$#", "", $htmlfile); for ($i = 2; $i <= 100; $i++) { $htmlfile = $fname . "_{$i}" . "." . $sname; if (file_exists($htmlfile) && !is_dir($htmlfile)) { @unlink($htmlfile); } else { break; } } } } //删除文本文件 $filenameh = DEDEDATA . "/textdata/" . ceil($aid / 5000) . "/{$aid}-" . substr(md5($cfg_cookie_encode), 0, 16) . ".txt"; return TRUE; }
function DelArc($aid, $type = 'ON', $onlyfile = false) { global $dsql, $cfg_cookie_encode, $cfg_multi_site, $cfg_medias_dir; global $cuserLogin, $cfg_upload_switch, $cfg_delete, $cfg_basedir; global $admin_catalogs, $cfg_admin_channel; if ($cfg_delete == 'N') { $type = 'OK'; } if (empty($aid)) { return; } $aid = ereg_replace("[^0-9]", '', $aid); $arctitle = $arcurl = ''; //查询表信息 $query = "Select ch.maintable,ch.addtable,ch.nid,ch.issystem From `#@__arctiny` arc\r\n\t left join `#@__arctype` tp on tp.id=arc.typeid\r\n left join `#@__channeltype` ch on ch.id=arc.channel where arc.id='{$aid}' "; $row = $dsql->GetOne($query); $nid = $row['nid']; $maintable = trim($row['maintable']) == '' ? '#@__archives' : trim($row['maintable']); $addtable = trim($row['addtable']); $issystem = $row['issystem']; //查询档案信息 if ($issystem == -1) { $arcQuery = "Select arc.*,tp.* from `{$addtable}` arc left join `#@__arctype` tp on arc.typeid=tp.id where arc.aid='{$aid}' "; } else { $arcQuery = "Select arc.*,tp.*,arc.id as aid from `{$maintable}` arc left join `#@__arctype` tp on arc.typeid=tp.id where arc.id='{$aid}' "; } $arcRow = $dsql->GetOne($arcQuery); //检测权限 if (!TestPurview('a_Del,sys_ArcBatch')) { if (TestPurview('a_AccDel')) { if (!in_array($arcRow['typeid'], $admin_catalogs) && (count($admin_catalogs) != 0 || $cfg_admin_channel != 'all')) { return false; } } else { if (TestPurview('a_MyDel')) { if ($arcRow['mid'] != $cuserLogin->getUserID()) { return false; } } else { return false; } } } //$issystem==-1 是单表模型,不使用回收站 if ($issystem == -1) { $type = 'OK'; } if (!is_array($arcRow)) { return false; } /** 删除到回收站 **/ if ($cfg_delete == 'Y' && $type == 'ON') { $dsql->ExecuteNoneQuery("Update `{$maintable}` set arcrank='-2' where id='{$aid}' "); $dsql->ExecuteNoneQuery("Update `#@__arctiny` set `arcrank` = '-2' where id = '{$aid}'; "); } else { //删除数据库记录 if (!$onlyfile) { //删除相关附件 if ($cfg_upload_switch == 'Y') { $dsql->Execute("me", "SELECT * FROM `#@__uploads` WHERE arcid = '{$aid}'"); while ($row = $dsql->GetArray('me')) { $addfile = $row['url']; $aid = $row['aid']; $dsql->ExecuteNoneQuery("Delete From `#@__uploads` where aid = '{$aid}' "); $upfile = $cfg_basedir . $addfile; if (@file_exists($upfile)) { @unlink($upfile); } } } $dsql->ExecuteNoneQuery("Delete From `#@__arctiny` where id='{$aid}'"); if ($addtable != '') { $dsql->ExecuteNoneQuery("Delete From `{$addtable}` where aid='{$aid}' "); } if ($issystem != -1) { $dsql->ExecuteNoneQuery("Delete From `#@__archives` where id='{$aid}' "); } $dsql->ExecuteNoneQuery("Delete From `#@__feedback` where aid='{$aid}' "); $dsql->ExecuteNoneQuery("Delete From `#@__member_stow` where aid='{$aid}' "); $dsql->ExecuteNoneQuery("Delete From `#@__taglist` where aid='{$aid}' "); $dsql->ExecuteNoneQuery("Delete From `#@__erradd` where aid='{$aid}' "); } //删除文本数据 $filenameh = DEDEDATA . "/textdata/" . ceil($aid / 5000) . "/{$aid}-" . substr(md5($cfg_cookie_encode), 0, 16) . ".txt"; if (@is_file($filenameh)) { @unlink($filenameh); } } if (empty($arcRow['money'])) { $arcRow['money'] = 0; } if (empty($arcRow['ismake'])) { $arcRow['ismake'] = 1; } if (empty($arcRow['arcrank'])) { $arcRow['arcrank'] = 0; } if (empty($arcRow['filename'])) { $arcRow['filename'] = ''; } //删除HTML if ($arcRow['ismake'] == -1 || $arcRow['arcrank'] != 0 || $arcRow['typeid'] == 0 || $arcRow['money'] > 0) { return true; } //强制转换非多站点模式,以便统一方式获得实际HTML文件 $GLOBALS['cfg_multi_site'] = 'N'; $arcurl = GetFileUrl($arcRow['aid'], $arcRow['typeid'], $arcRow['senddate'], $arcRow['title'], $arcRow['ismake'], $arcRow['arcrank'], $arcRow['namerule'], $arcRow['typedir'], $arcRow['money'], $arcRow['filename']); if (!ereg("\\?", $arcurl)) { $htmlfile = GetTruePath() . str_replace($GLOBALS['cfg_basehost'], '', $arcurl); if (file_exists($htmlfile) && !is_dir($htmlfile)) { @unlink($htmlfile); $arcurls = explode(".", $htmlfile); $sname = $arcurls[count($arcurls) - 1]; $fname = ereg_replace("(\\.{$sname})\$", "", $htmlfile); for ($i = 2; $i <= 100; $i++) { $htmlfile = $fname . "_{$i}." . $sname; if (@file_exists($htmlfile)) { @unlink($htmlfile); } else { break; } } } } return true; }