温馨提醒
如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢
本文最后更新于2023年9月19日,已超过 180天没有更新
打开后台目录(/dede)下archives_do.php约430行下添加:
/*----------------------------- //复制文档 ------------------------------*/ elseif ($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 = "<select name='totype' style='width:90%'> <option value='0'>请选择复制到的位置...</option>\r\n $typeOptions </select>"; //输出AJAX可移动窗体 $divname = 'copyArchives'; echo "<div class='title' onmousemove=\"DropMoveHand('{$divname}', 225);\" onmousedown=\"DropStartHand();\" onmouseup=\"DropStopHand();\">\r\n"; echo " <div class='titLeft'>复制文档</div>\r\n"; echo " <div class='titRight'><img src='images/ico-close.gif' style='cursor:pointer;' onclick='HideObj(\"{$divname}\");ChangeFullDiv(\"hide\");' alt='关闭' title='关闭' /></div>\r\n"; echo "</div>\r\n"; echo "<form name='quickeditform' action='archives_do.php' method='post'>\r\n"; echo "<input type='hidden' name='dopost' value='{$dopost}' />\r\n"; echo "<input type='hidden' name='qstr' value='{$qstr}' />\r\n"; echo "<table width='100%' style='margin-top:6px;z-index:9000;'>\r\n"; ?> <tr height='28'> <td class='bline'> 目标栏目:</td> <td class='bline'> <?php echo $typeOptions; ?> </td> </tr> <tr height='32'> <td class='bline'> 文档ID:</td> <td class='bline'> <input type='text' name='tmpids' value="<?php echo $qstr; ?>" style='width:310px;overflow:hidden;'/> <br/> 复制到的目标栏目必须和选定的文档频道类型一致,否则程序会自动勿略不符合的文档。 </td> </tr> <tr height='32'> <td colspan='2' align='center' style='padding-top:12px'> <input name="imageField" type="image" src="images/button_ok.gif" class="np" border="0" style="cursor:pointer"/> <img src="images/button_back.gif" border="0" onclick='HideObj("<?php echo $divname; ?>");ChangeFullDiv("hide");' style="cursor:pointer"/> </td> </td> </tr> </table> </form> <?php //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 `#@__arctype` tp LEFT JOIN `#@__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'] = '`#@__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 `#@__arctiny` (typeid,typeid2,arcrank,channel,senddate,sortrank,mid) select typeid,typeid2,arcrank,channel,senddate,sortrank,mid from `#@__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) select case when aid>'0' then '$xid' else '' end,$totype,body,redirecturl,templet,userip from `{$typeInfos['addtable']}` WHERE aid='{$row[$idtype]}' "); $okids[] = $row[$idtype]; $j++; } } UpDateCatCache(); $sql = " TRUNCATE TABLE `#@__arctiny`"; $dsql->ExecuteNoneQuery($sql); //导入普通模型微数据 $sql = "INSERT INTO `#@__arctiny`(id, typeid, typeid2, arcrank, channel, senddate, sortrank, mid) SELECT id, typeid, typeid2, arcrank, channel, senddate, sortrank, mid FROM `#@__archives` "; $dsql->ExecuteNoneQuery($sql); //导入单表模型微数据 $dsql->SetQuery("SELECT id,addtable FROM `#@__channeltype` WHERE id < -1 "); $dsql->Execute(); $doarray = array(); while($row = $dsql->GetArray()) { $tb = str_replace('#@__', $cfg_dbprefix, $row['addtable']); if(empty($tb) || isset($doarray[$tb]) ) { continue; } else { $sql = "INSERT INTO `#@__arctiny`(id, typeid, typeid2, arcrank, channel, senddate, sortrank, mid) SELECT aid, typeid, 0, arcrank, channel, senddate, 0, mid FROM `$tb` "; $rs = $dsql->executenonequery($sql); $doarray[$tb] = 1; } } //更新HTML foreach ($okids as $aid) { $arc = new Archives($aid); $arc->MakeHtml(); } ShowMsg("成功复制 $j 个文档!", $ENV_GOBACK_URL); exit(); } }
打开dede/js/list.js 搜索 function moveArc(e, obj, cid)下约35行添加
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/js/list.js 搜索 function ShowMenu(evt,obj,aid,atitle)里面的
new ContextItem("推荐文档",function(){ adArc(aid); }),的下面添加
new ContextItem("复制(<u>C</u>)",function(){ copyToClipboard(atitle); }),
打开dede/templets下的content_list.htm找到
<a href="javascript:;" onClick="moveArc(event,this,<?php echo (empty($channelid) ? 0 : $channelid); ?>)" class="layui-btn layui-btn-small"> 移动 </a>
当前行的下方添加:
<a href="javascript:;" onClick="copyArc(event,this,<?php echo (empty($channelid) ? 0 : $channelid); ?>);" class="coolbg"> 复制 </a>
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论0+