给您的dedecms5.3添加复制栏目功能
来源:asp之家 发布时间:2009-05-12 10:56:00
修改文件dede/templets/content_batch_up.htm
修改头部脚本函数ShowHideMove()
function ShowHideMove()
{
var selBox = document.getElementById('moveradio');
var selBox2 = document.getElementById('copyradio');//edited by adan;090508
var obj = document.getElementById('moveField');
if(selBox.checked||selBox2.checked) obj.style.display = "block";//edited by adan;090508
else obj.style.display = "none";
}
添加复制栏目按钮
查找
<input name="action" type="radio" class="np" value="move" id="moveradio" onClick="ShowHideMove()" />
移动文档
后面添加
<input name="action" type="radio" class="np" value="copy" id="copyradio" onClick="ShowHideMove()" /><!--added by adan;090508-->
复制栏目文档
修改文件dede/content_batch_action.php
首先删除文件最后的两段代码
//删除空标题内容
else if($action=='delnulltitle')
{
$dsql->SetQuery("Select id From dede_archives where trim(title)='' ");
$dsql->Execute('x');
$tdd = 0;
while($row = $dsql->GetObject('x'))
{
if(DelArc($row->id))
{
$tdd++;
}
}
ShowMsg("成功删除 $tdd 条记录!","javascript:;");
exit();
}
//修正缩略图错误
else if($action=='modddpic')
{
$dsql->ExecuteNoneQuery("Update dede_archives set litpic='' where trim(litpic)='litpic' ");
ShowMsg("成功修正缩略图错误!","javascript:;");
exit();
}
上面2段代码,官方人员竟然把上面2段代码搞重复了,先汗一个!
然后在最后添加下面代码
//start 添加复制栏目文章功能 added by adan;090508
else if($action=='copy')
{
if(empty($typeid))
{
ShowMsg('该操作必须指定栏目!','javascript:;');
exit();
}
$typeold = $dsql->GetOne("Select * From `dede_arctype` where id='$typeid'; ");
$typenew = $dsql->GetOne("Select * From `dede_arctype` where id='$newtypeid'; ");
if(!is_array($typenew))
{
$dsql->Close();
ShowMsg("无法检测复制到的新栏目的信息,不能完成操作!","javascript:;");
exit();
}
if($typenew['ispart']!=0)
{
$dsql->Close();
ShowMsg("你不能把数据复制到非最终列表的栏目!","javascript:;");
exit();
}
if($typenew['channeltype']!=$typeold['channeltype'])
{
$dsql->Close();
ShowMsg("不能把数据复制到内容类型不同的栏目!","javascript:;");
exit();
}
$gwhere .= " And channel='".$typenew['channeltype']."' And title like '%$keyword%'";
$ch = $dsql->GetOne("Select addtable From `dede_channeltype` where id={$typenew['channeltype']} ");
$addtable = $ch['addtable'];
$dsql->SetQuery("Select * From `dede_archives` where typeid='$typeid'");
$dsql->Execute('c');
$tdd = 0;
while($row = $dsql->GetObject('c'))
{
$senddate = time();
$sortrank = AddDay($senddate,0);//第二个参数是排序值,参考article_add.php
$ID = $row->id;
$typeid = $newtypeid;//$newtypeid
$sortrank = $row->sortrank;
$flag = $row->flag;
$ismake = $row->ismake;
$channelid = $row->channel;
$arcrank = $row->arcrank;
$click = $row->click;
$money = $row->money;
$title = addslashes($row->title);//需要添加addslashes()转换; adan;090508
$shorttitle = $row->shorttitle;
$color = $row->color;
$writer = $row->writer;
$source = $row->source;
$litpic = $row->litpic;
$pubdate = $row->pubdate;
$adminid = $cuserLogin->getUserID();
$notpost = $row->notpost;
$description = addslashes($row->description);//需要添加addslashes()转换; adan;090508
$keywords = $row->keywords;
require_once(DEDEADMIN."/inc/inc_archives_functions.php");
//生成文档ID
$arcID = GetIndexKey($arcrank,$typeid,$sortrank,$channelid,$senddate,$adminid);
if(empty($arcID))
{
ShowMsg("无法获得主键,因此无法进行后续操作!","-1");
exit();
}
//加入数据表dede_archives的SQL语句
//----------------------------------
$inQuery = "INSERT INTO `dede_archives`(id,typeid,typeid2,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,
color,writer,source,litpic,pubdate,senddate,mid,lastpost,scores,goodpost,badpost,notpost,description,keywords,filename)
VALUES ('$arcID','$typeid','','$sortrank','$flag','$ismake','$channelid','$arcrank','0','$money',
'$title','$shorttitle','$color','$writer','$source','$litpic','$pubdate','$senddate',
'$adminid','0','0','0','0','0','$description','$keywords','');";
if(!$dsql->ExecuteNoneQuery($inQuery))
{
$gerr = $dsql->GetError();
$dsql->ExecuteNoneQuery("Delete From `dede_arctiny` where id='$arcID'");
ShowMsg("把数据保存到数据库主表 `dede_archives` 时出错,请把相关信息提交给DedeCms官方。".str_replace('"','',$gerr),"javascript:;");
exit();
}
//保存到附加表
$cts = $dsql->GetOne("Select addtable From `dede_channeltype` where id='$channelid' ");
$addtable = trim($cts['addtable']);
if(empty($addtable))
{
$dsql->ExecuteNoneQuery("Delete From `dede_archives` where id='$arcID'");
$dsql->ExecuteNoneQuery("Delete From `dede_arctiny` where id='$arcID'");
ShowMsg("没找到当前模型[{$channelid}]的主表信息,无法完成操作!。","javascript:;");
exit();
}
$useip = GetIP();
$redirecturl = $addRow['redirecturl'];
$templet = $addRow['templet'];
$addRow = $dsql->GetOne("Select * from `{$addtable}` where aid='$ID'");
$body = addslashes($addRow["body"]);
$query = "INSERT INTO `{$addtable}`(aid,typeid,redirecturl,templet,userip,body) Values('$arcID','$typeid','$redirecturl','$templet','$useip','$body')";
if(!$dsql->ExecuteNoneQuery($query))
{
$gerr = $dsql->GetError();
$dsql->ExecuteNoneQuery("Delete From `dede_archives` where id='$arcID'");
$dsql->ExecuteNoneQuery("Delete From `dede_arctiny` where id='$arcID'");
ShowMsg("把数据保存到数据库附加表 `{$addtable}` 时出错,请把相关信息提交给DedeCms官方。".str_replace('"','',$gerr),"javascript:;");
exit();
}
else $tdd++;
}
if($tdd>0)
{
$jumpurl = "makehtml_archives_action.php?endid=$endid&startid=$startid";
$jumpurl .= "&typeid=$newtypeid&pagesize=20&seltime=$seltime";
$jumpurl .= "&stime=".urlencode($starttime)."&etime=".urlencode($endtime);
ShowMsg("成功复制了 $tdd 条记录,准备重新生成HTML...",$jumpurl);
}
else ShowMsg("完成操作,没复制任何数据...","javascript:;");
exit();
}
//end ;090508
保存完毕,对应位置上传后,就可以在文档批量维护里使用此功能了


猜你喜欢
- 什么是IISIIS即因特网信息服务,作为当今流行的Web服务器之一,它提供了强大的Internet和Intranet服务功能。因此,现在采用
- Dash,有“冲撞,锐气,精力,干劲”之意,VeryCD站长黄一孟网名就是Dash,他的身上也名副其实有着这样的精神。黄一孟的父亲从事体育运
- 10月10日消息,淘宝内部人士向腾讯科技证实,淘宝已启用search.taobao.com域名,目前正在内测自己的独立搜索引擎。淘宝搜索内测
- 有Godaddy主机用户说想配置一个Javaservlet,首先需要做的就是在localbox里汇编它。可以把类文档上载到WEB-INF/c
- 相关性,是搜索引擎优化中的重点。但是对于相关性的搜索引擎工作原理,相信大部分的SEOER对于都缺乏了解。但是只需要我们主流搜索引擎技术的方向
- 最近听到很多站长都在说:“做完这个月就辞职,专心在家做站,争取的XX月内赚到多少多少”,同样的也会听到很多站长在说:“拿完google这个月
- 因为喜欢PHP和开源所以喜欢上DEDECMS,但是因为技术有限所以用起来遇到很多的困难而又没人帮忙,只能自己摸索加向朋友提问,从中也体会到做
- 如何修改VMware vSphere ESXi系统设置静态IP前言:实验测试的环境中,我们为了方便管理,一般将采取静态IP配置来测试实验,接
- 什么是POSH ?不,这不是一些新的网页设计上的时尚的宣传- POSH是Plain Old Semantic HTML(清晰老式语义化HTM
- 给程序和库添加版本号和库,有利于维护和升级。当然你可以在文件名上体现,比如有个程序叫 yun,文件名写为 yun_1.0.2,但这个需要每次
- 所谓入门级网站,就是访问量在500到5000之间的网站,一般来说,进入这个级数的网站需要了解alexa的排名原理,具体的情况请www.ale
- 北京时间10月29日消息,据国外媒体报道,谷歌旗下视频共享网站YouTube周三表示,在上周日YouTube全程直播爱尔兰知名乐队U2的演唱
- Google帐户会默认绑定一个邮箱地址作为主关联邮箱,用户可直接用邮箱信息(比如邮箱地址、密码)登录Google的各种产品及服务。而现在,G
- 北京时间9时52分,搜狐公司董事局主席兼首席执行官张朝阳从第十棒火炬手Douglas Jackson手中接过奥运火炬,完成了第11棒火炬手传
- 作为一个刚刚接触linux系统的小白来说,VMware虚拟机安装好CentOS6.5系统后,纯净的系统多克隆几份出来方便后期做试验。克隆步骤
- 1、何谓虚拟系统“虚拟系统”的意思是“假的系统”,亦即当一个
- 互联网经济在我国发展得如火如荼,从而掀起了一波又一波的建站热潮。只要互联网不衰退,每天就会有不同的网站诞生,建站热潮扩大了对虚拟主机的需求,
- UCenter Home是Comsenz公司发布的一款SNS建站系统,目前最新版本是1.5。本期教程笔者为大家详细的介绍下,UCenter
- 上周(2007.9.20)在搜索引擎调查分析师吕伯望先生举办的“搜索引擎调查报告与市场格局座谈会”我有幸见到了google谷歌全球副总裁大中
- 最近和一个做市场调查的客户聊天,从他那边了解到市场调查的一些大概步骤。企业在推出一个新产品前一般都是要先对该产品的市场需求做一个市场调查,以