|
给织梦添加复制文档的功能步骤如下:
一、打开templets下的content_list.htm
找到 这一行:
[url=,)" class="coolbg"> 移动 [/url]
在这一行的下方添加:
[url=,);" class="coolbg"> 复制 [/url]
二、打开dede/js/list.js
找到moveArc这个函数
function moveArc(e, obj, cid){
var qstr=getCheckboxItem();
if(qstr=='')
{
alert('必须选择一个或多个文档!');
return;
}
LoadQuickDiv(e, 'archives_do.php?dopost=moveArchives&qstr='+qstr+'&channelid='+cid+'&rnd='+Math.random()] 'moveArchives', '450px', '180px');
ChangeFullDiv('show');
}
然后在下方添加copyArc这个函数
function copyArc(e, obj, cid){
var qstr=getCheckboxItem();
if(qstr=='')
{
alert('必须选择一个或多个文档!');
return;
}
LoadQuickDiv(e, 'archives_do.php?dopost=copyArchives&qstr='+qstr+'&channelid='+cid+'&rnd='+Math.random()] 'copyArchives', '450px', '180px');
ChangeFullDiv('show');
}
三、打开 dede/archives_do.php找到
else if($dopost=='moveArchives')
{
这句代码 然后在这个大括弧结尾处 也就是在433行左右添加如下代码:
/*-----------------------------
function copyArchives(){ }
------------------------------*/
else if($dopost=='copyArchives')
{
CheckPurview('sys_ArcBatch');
if(empty($totype))
{
require_once(DEDEINC.'/typelink.class.php');
if( !empty($aid) && empty($qstr) ) $qstr = $aid;
AjaxHead();
$channelid = empty($channelid) ? 0 : $channelid;
$tl = new TypeLink($aid);
$typeOptions = $tl->GetOptionArray(0] $admin_catalogs, $channelid);
$typeOptions = "
请选择复制到的位置...\r\n
$typeOptions
";
//输出AJAX可移动窗体
$divname = 'copyArchives';
echo "\r\n";
echo " 复制文档\r\n";
echo "
\r\n";
echo "\r\n";
echo "\r\n";
echo "[i,\r\n";
echo "[i,\r\n";
echo "\r\n";
?>
目标栏目:
文档ID:
[i," style='width:310px;overflow:hidden;' />
复制到的目标栏目必须和选定的文档频道类型一致,否则程序会自动勿略不符合的文档。
[i,
[img][/img]
");ChangeFullDiv("hide");' style="cursor:pointer" />
//AJAX窗体结束
}
else
{
$totype = preg_replace("#[^0-9,#", '', $totype);
$typeInfos = $dsql->GetOne("SELECT tp.channeltype,tp.ispart,tp.channeltype,ch.maintable]ch.addtable]ch.issystem FROM `me_arctype` tp LEFT JOIN `me_channeltype` ch on ch.id=tp.channeltype WHERE tp.id='$totype' ");
$idtype = "id";
if(!is_array($typeInfos))
{
ShowMsg('参数错误!','-1');
exit();
}
if($typeInfos['ispart',!=0)
{
ShowMsg('文档保存的栏目必须为最终列表栏目!','-1');
exit();
}
if(empty($typeInfos['addtable',))
{
$typeInfos['maintable', = 'me_archives';
}
//增加单表模型判断
if($typeInfos['issystem', == -1)
{
$typeInfos['maintable', = $typeInfos['addtable',;
$idtype = "aid";
}
$arcids = preg_replace("#[^0-9,,#", '', preg_replace("#`#", ',', $qstr));
$arc = '';
$j = 0;
$okids = array();
$dsql->SetQuery("SELECT {$idtype},typeid FROM `{$typeInfos['maintable',}` WHERE {$idtype} in($arcids) AND channel='{$typeInfos['channeltype',}' ");
$dsql->Execute();
while($row = $dsql->GetArray())
{
if($row['typeid',!=$totype)
{
$dsql->ExecuteNoneQuery("insert into me_arctiny (typeid,typeid2,arcrank,channel,senddate,sortrank,mid) select typeid,typeid2,arcrank,channel,senddate,sortrank,mid from me_arctiny where id='{$row[$idtype,}'");
$xid = $dsql->GetLastID();
$dsql->ExecuteNoneQuery("insert into `{$typeInfos['maintable',}`(id,typeid,typeid2,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,color]writer,source,litpic,pubdate,senddate,mid,keywords,lastpost,scores,goodpost,badpost,voteid,notpost,description,filename,dutyadmin,tackid,mtype,weight) select case when id>'0' then '$xid' else '' end, case when typeid>'0' then '$totype' else '' end,typeid2,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,color]writer,source,litpic,pubdate,senddate,mid,keywords ,lastpost,scores,goodpost,badpost,voteid,notpost,description,filename,dutyadmin,tackid,mtype,weight from `{$typeInfos['maintable',}` WHERE id='{$row[$idtype,}' ");
$dsql->ExecuteNoneQuery("insert into `{$typeInfos['addtable',}`(aid,typeid,body,redirecturl]templet,userip]bigpic) select case when aid>'0' then '$xid' else '' end,$totype,body,redirecturl]templet,userip]bigpic from `{$typeInfos['addtable',}` WHERE aid='{$row[$idtype,}' ");
$okids[, = $row[$idtype,;
$j++;
}
}
//更新HTML
foreach($okids as $aid)
{
$arc = new Archives($aid);
$arc->MakeHtml();
}
ShowMsg("成功复制 $j 个文档!", $ENV_GOBACK_URL);
exit();
}
} |
|