|
- <?php
- /**
- * 文档处理
- *
- * @version $Id: archives_do.php 1 8:26 2010年7月12日Z tianya $
- * @package DedeBIZ.Administrator
- * @copyright Copyright (c) 2022, DedeBIZ.COM
- * @license https://www.dedebiz.com/license
- * @link https://www.dedebiz.com
- */
- require_once(dirname(__FILE__).'/config.php');
- require_once(DEDEADMIN.'/inc/inc_batchup.php');
- require_once(DEDEADMIN.'/inc/inc_archives_functions.php');
- require_once(DEDEINC.'/typelink.class.php');
- require_once(DEDEINC.'/arc.archives.class.php');
- $ENV_GOBACK_URL = (empty($_COOKIE['ENV_GOBACK_URL']) ? 'content_list.php' : $_COOKIE['ENV_GOBACK_URL']);
- if (empty($dopost)) {
- ShowMsg('对不起,您没指定运行参数', '-1');
- exit();
- }
- $aid = isset($aid) ? preg_replace("#[^0-9]#", '', $aid) : '';
- /*--------------------------
- //编辑文档
- function editArchives(){ }
- ---------------------------*/
- if ($dopost == 'editArchives') {
- $query = "SELECT arc.id,arc.typeid,ch.maintable,ch.editcon
- FROM `#@__arctiny` arc
- LEFT JOIN `#@__arctype` tp ON tp.id=arc.typeid
- LEFT JOIN `#@__channeltype` ch ON ch.id=arc.channel
- WHERE arc.id='$aid' ";
- $row = $dsql->GetOne($query);
- $gurl = $row['editcon'];
- if ($gurl == '') $gurl = 'article_edit.php';
- header("location:{$gurl}?aid=$aid");
- exit();
- }
- /*--------------------------
- //浏览文档
- function viewArchives(){ }
- ---------------------------*/
- else if ($dopost == "viewArchives") {
- $aid = preg_replace("#[^0-9]#", '', $aid);
- //获取主表信息
- $query = "SELECT arc.*,ch.maintable,ch.addtable,ch.issystem,ch.editcon,
- tp.typedir,tp.typename,tp.corank,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.sitepath,tp.siteurl
- FROM `#@__arctiny` arc
- LEFT JOIN `#@__arctype` tp ON tp.id=arc.typeid
- LEFT JOIN `#@__channeltype` ch ON ch.id=tp.channeltype
- WHERE arc.id='$aid' ";
- $trow = $dsql->GetOne($query);
- $trow['maintable'] = (trim($trow['maintable']) == '' ? '#@__archives' : trim($trow['maintable']));
- if ($trow['issystem'] != -1) {
- $arcQuery = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.sitepath,tp.siteurl
- FROM `{$trow['maintable']}` arc LEFT JOIN `#@__arctype` tp on arc.typeid=tp.id
- LEFT JOIN `#@__channeltype` ch on ch.id=arc.channel WHERE arc.id='$aid' ";
- $arcRow = $dsql->GetOne($arcQuery);
- PutCookie('DedeUserID', $arcRow['mid'], 1800);
- PutCookie('DedeLoginTime', time(), 1800);
- if ($arcRow['ismake'] == -1 || $arcRow['corank'] != 0 || $arcRow['arcrank'] != 0 || ($arcRow['typeid'] == 0 && $arcRow['channel'] != -1) || $arcRow['money'] > 0) {
- echo "<script>location.href='{$cfg_phpurl}/view.php?aid={$aid}';</script>";
- exit();
- }
- } else {
- $arcRow['id'] = $aid;
- $arcRow['typeid'] = $trow['typeid'];
- $arcRow['senddate'] = $trow['senddate'];
- $arcRow['title'] = '';
- $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>location.href='$arcurl"."?".time()."';</script>";
- exit();
- }
- /*--------------------------
- //异步上传缩略图
- function uploadLitpic(){ }
- ---------------------------*/
- else if ($dopost == "uploadLitpic") {
- $upfile = AdminUpload('litpic', 'imagelit', 0, false);
- if ($upfile == '-1') {
- $msg = "<script>
- parent.document.getElementById('uploadwait').style.display = 'none';
- alert('您没指定要上传的文件或文件大小超过限制');
- </script>";
- } else if ($upfile == '-2') {
- $msg = "<script>
- parent.document.getElementById('uploadwait').style.display = 'none';
- alert('上传文件失败,请检查原因');
- </script>";
- } else if ($upfile == '0') {
- $msg = "<script>
- parent.document.getElementById('uploadwait').style.display = 'none';
- alert('文件类型不正确');
- </script>";
- } else {
- if (!empty($cfg_uplitpic_cut) && $cfg_uplitpic_cut == 'N') {
- $msg = "<script>
- parent.document.getElementById('uploadwait').style.display = 'none';
- parent.document.getElementById('picname').value = '{$upfile}';
- if(parent.document.getElementById('divpicview'))
- {
- parent.document.getElementById('divpicview').style.width = '150px';
- parent.document.getElementById('divpicview').innerHTML = \"<img src='{$upfile}?n' width='150'>\";
- }
- </script>";
- } else {
- $msg = "<script>
- parent.document.getElementById('uploadwait').style.display = 'none';
- window.open('imagecut.php?f=picname&isupload=yes&file={$upfile}', 'popUpImagesWin', 'scrollbars=yes,resizable=yes,statebar=no,width=800,height=600,left=150, top=50');
- </script>";
- }
- }
- echo $msg;
- exit();
- }
- /*--------------------------
- //推荐文档
- function commendArchives(){ }
- ---------------------------*/
- else if ($dopost == "commendArchives") {
- CheckPurview('a_Commend,sys_ArcBatch');
- if (!empty($aid) && empty($qstr)) {
- $qstr = $aid;
- }
- if ($qstr == '') {
- ShowMsg("参数无效", $ENV_GOBACK_URL);
- exit();
- }
- $arcids = preg_replace("#[^0-9,]#", '', preg_replace("#`#", ',', $qstr));
- $query = "SELECT arc.id,arc.typeid,ch.issystem,ch.maintable,ch.addtable FROM `#@__arctiny` arc
- LEFT JOIN `#@__arctype` tp on tp.id=arc.typeid
- LEFT JOIN `#@__channeltype` ch on ch.id=tp.channeltype
- WHERE arc.id in($arcids) ";
- $dsql->SetQuery($query);
- $dsql->Execute();
- while ($row = $dsql->GetArray()) {
- $aid = $row['id'];
- if ($row['issystem'] != -1) {
- $maintable = (trim($row['maintable']) == '' ? '#@__archives' : trim($row['maintable']));
- $arr = $dsql->GetOne("SELECT flag FROM `{$maintable}` WHERE id='$aid' ");
- $flag = ($arr['flag'] == '' ? 'c' : $arr['flag'].',c');
- $dsql->ExecuteNoneQuery(" UPDATE `{$maintable}` SET `flag`='$flag' WHERE id='{$aid}' ");
- } else {
- $maintable = trim($row['addtable']);
- $arr = $dsql->GetOne("SELECT flag From `{$maintable}` where aid='$aid' ");
- $flag = ($arr['flag'] == '' ? 'c' : $arr['flag'].',c');
- $dsql->ExecuteNoneQuery(" UPDATE `{$maintable}` SET `flag`='$flag' WHERE aid='{$aid}' ");
- }
- }
- ShowMsg("成功把所选的文档设为推荐", $ENV_GOBACK_URL);
- exit();
- }
- /*--------------------------
- //生成HTML
- function makeArchives();
- ---------------------------*/
- else if ($dopost == "makeArchives") {
- CheckPurview('sys_MakeHtml,sys_ArcBatch');
- if (!empty($aid) && empty($qstr)) $qstr = $aid;
- if ($qstr == '') {
- ShowMsg('参数无效', $ENV_GOBACK_URL);
- exit();
- }
- require_once(DEDEADMIN.'/inc/inc_archives_functions.php');
- $qstrs = explode('`', $qstr);
- $i = 0;
- foreach ($qstrs as $aid) {
- $i++;
- $pageurl = MakeArt($aid, false);
- }
- ShowMsg("成功更新指定 $i 个文件", $ENV_GOBACK_URL);
- exit();
- }
- /*--------------------------
- //审核文档
- function checkArchives() { }
- ---------------------------*/
- else if ($dopost == "checkArchives") {
- CheckPurview('a_Check,a_AccCheck,sys_ArcBatch');
- require_once(DEDEADMIN."/inc/inc_archives_functions.php");
- if (!empty($aid) && empty($qstr)) $qstr = $aid;
- if ($qstr == '') {
- ShowMsg("参数无效", $ENV_GOBACK_URL);
- exit();
- }
- $arcids = preg_replace("#[^0-9,]#", '', preg_replace("#`#", ',', $qstr));
- $query = "SELECT arc.id,arc.typeid,ch.issystem,ch.maintable,ch.addtable FROM `#@__arctiny` arc
- LEFT JOIN `#@__arctype` tp ON tp.id=arc.typeid
- LEFT JOIN `#@__channeltype` ch ON ch.id=tp.channeltype
- WHERE arc.id in($arcids) ";
- $dsql->SetQuery($query);
- $dsql->Execute('ckall');
- while ($row = $dsql->GetArray('ckall')) {
- $aid = $row['id'];
- $maintable = (trim($row['maintable']) == '' ? '#@__archives' : trim($row['maintable']));
- $dsql->ExecuteNoneQuery("UPDATE `#@__arctiny` SET arcrank='0' WHERE id='$aid' ");
- if ($row['issystem'] == -1) {
- $dsql->ExecuteNoneQuery("UPDATE `".trim($row['addtable'])."` SET arcrank='0' WHERE aid='$aid' ");
- } else {
- $dsql->ExecuteNoneQuery("UPDATE `$maintable` SET arcrank='0', dutyadmin='".$cuserLogin->getUserID()."' WHERE id='$aid' ");
- }
- $dsql->ExecuteNoneQuery("UPDATE `#@__taglist` SET arcrank='0' WHERE aid='$aid' ");
- $pageurl = MakeArt($aid, false);
- }
- ShowMsg("成功审核指定的文档", $ENV_GOBACK_URL);
- exit();
- }
- /*--------------------------
- //删除文档
- function delArchives(){ }
- ---------------------------*/
- else if ($dopost == "delArchives") {
- CheckPurview('a_Del,a_AccDel,a_MyDel,sys_ArcBatch');
- require_once(DEDEINC."/oxwindow.class.php");
- if (empty($fmdo)) $fmdo = '';
-
- if ($fmdo == 'yes') {
- if (!empty($aid) && empty($qstr)) {
- $qstr = $aid;
- }
- if ($qstr == '') {
- ShowMsg("参数无效", $ENV_GOBACK_URL);
- exit();
- }
- $qstrs = explode("`", $qstr);
- $okaids = array();
- foreach ($qstrs as $aid) {
- if (!isset($okaids[$aid])) {
- DelArc($aid);
- } else {
- $okaids[$aid] = 1;
- }
- }
- ShowMsg("成功删除指定的文档", $ENV_GOBACK_URL);
- exit();
- } else {
- $wintitle = "文档管理-删除文档";
- $wecome_info = "<a href='".$ENV_GOBACK_URL."'>文档管理</a>::删除文档";
- $win = new OxWindow();
- $win->Init("archives_do.php", "js/blank.js", "POST");
- $win->AddHidden("fmdo", "yes");
- $win->AddHidden("dopost", $dopost);
- $win->AddHidden("qstr", $qstr);
- $win->AddHidden("aid", $aid);
- $win->AddTitle("您确实要删除 $qstr 和 $aid 这些文档");
- $winform = $win->GetWindow("ok");
- $win->Display();
- }
- }
- /*-----------------------------
- function moveArchives(){ }
- ------------------------------*/
- else if ($dopost == 'moveArchives') {
- 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:320px'>
- <option value='0'>请选择移动到的位置</option>
- $typeOptions
- </select>";
- //输出AJAX可移动窗体
- $divname = 'moveArchives';
- echo "<div class='title' onmousemove=\"DropMoveHand('{$divname}', 225);\" onmousedown=\"DropStartHand();\" onmouseup=\"DropStopHand();\">";
- echo "<div class='titLeft'>移动文档</div>";
- echo "<div class='titRight'><img src='images/ico-close.gif' style='cursor:pointer;' onclick='HideObj(\"{$divname}\");ChangeFullDiv(\"hide\");' title='关闭'></div>";
- echo "</div>";
- echo "<form name='quickeditform' action='archives_do.php' method='post'>";
- echo "<input type='hidden' name='dopost' value='{$dopost}'>";
- echo "<input type='hidden' name='qstr' value='{$qstr}'>";
- echo "<table width='100%' style='display:inline-block;z-index:9000'>";
- ?>
- <tr height='26'>
- <td width="86" class='bline'> 目标栏目:</td>
- <td class='bline'><?php echo $typeOptions; ?></td>
- </tr>
- <tr height='26'>
- <td width="86" class='bline'> 文档ID:</td>
- <td class='bline'>
- <input type='text' name='tmpids' value="<?php echo $qstr; ?>" style='width:320px;overflow:hidden'>
- <br>移动到的目标栏目必须和选定的文档频道类型一致,否则程序会自动勿略不符合的文档
- </td>
- </tr>
- <tr height='36'>
- <td colspan='2' align='center' style='padding-top:10px'>
- <button type='submit' class='btn btn-success'>保存</button>
- <button type='button' onclick='HideObj("<?php echo $divname; ?>");ChangeFullDiv("hide");' class='btn btn-success'>关闭</button>
- </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("UPDATE `#@__arctiny` SET typeid='$totype' WHERE id='{$row[$idtype]}' ");
- $dsql->ExecuteNoneQuery("UPDATE `{$typeInfos['maintable']}` SET typeid='$totype' WHERE id='{$row[$idtype]}' ");
- $dsql->ExecuteNoneQuery("UPDATE `{$typeInfos['addtable']}` SET typeid='$totype' 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();
- }
- }
- /*-----------------------------
- //还原文档
- function RbReturnArchives(){ }
- ------------------------------*/
- else if ($dopost == 'return') {
- CheckPurview('a_Del,a_AccDel,a_MyDel,sys_ArcBatch');
- require_once(DEDEINC."/oxwindow.class.php");
-
- if (!empty($aid) && empty($qstr)) $qstr = $aid;
-
- if ($qstr == '') {
- ShowMsg("参数无效", "recycling.php");
- exit();
- }
- $qstrs = explode("`", $qstr);
- foreach ($qstrs as $aid) {
- $dsql->ExecuteNoneQuery("UPDATE `#@__archives` SET arcrank='-1',ismake='0' WHERE id='$aid'");
- $dsql->ExecuteNoneQuery("UPDATE `#@__arctiny` SET `arcrank` = '-1' WHERE id = '$aid'; ");
- }
- ShowMsg("成功还原指定的文档", "recycling.php");
- exit();
- }
- /*-----------------------------
- //清空文档
- function RbClearArchives(){ }
- ------------------------------*/
- else if ($dopost == 'clear') {
- CheckPurview('a_Del,a_AccDel,a_MyDel,sys_ArcBatch');
- require_once(DEDEINC."/oxwindow.class.php");
- if (empty($fmdo)) $fmdo = '';
- $recycle = empty($recycle) ? "" : $recycle;
-
- if ($fmdo == 'yes') {
- if (!empty($aid) && empty($qstr)) $qstr = $aid;
- if ($qstr == '') {
- ShowMsg("参数无效", "recycling.php");
- exit();
- }
- $qstrs = explode(",", $qstr);
- $okaids = array();
- foreach ($qstrs as $qstr) {
- if (!isset($okaids[$qstr])) {
- DelArc($qstr, "OK", FALSE, $recycle);
- $okaids[$qstr] = $qstr;
- } else {
- $okaids[$qstr] = 1;
- }
- }
- ShowMsg("成功删除指定的文档", "recycling.php");
- exit();
- } else {
- $dsql->SetQuery("SELECT id FROM `#@__archives` WHERE `arcrank` = '-2'");
- $dsql->Execute();
- $qstr = '';
- while ($row = $dsql->GetArray()) {
- $qstr .= $row['id'].",";
- $aid = $row['id'];
- }
- $num = $dsql->GetTotalRow();
- if (empty($num)) {
- ShowMsg("对不起,未发现相关文档", "recycling.php");
- exit();
- }
- $wintitle = "文档管理-清空所有文档";
- $wecome_info = "<a href='recycling.php'>文档回收站</a>::清空所有文档";
- $win = new OxWindow();
- $win->Init("archives_do.php", "js/blank.js", "POST");
- $win->AddHidden("fmdo", "yes");
- $win->AddHidden("dopost", $dopost);
- $win->AddHidden("qstr", $qstr);
- $win->AddHidden("aid", $aid);
- $win->AddHidden("recycle", $recycle);
- $win->AddTitle("本次操作将清空回收站所有共 $num 篇文档<br>您确实要永久删除 $qstr 这些文档");
- $winform = $win->GetWindow("ok");
- $win->Display();
- }
- }
- /*-----------------------------
- //清除文档
- function RbDelArchives(){ }
- ------------------------------*/
- else if ($dopost == 'del') {
- CheckPurview('a_Del,a_AccDel,a_MyDel,sys_ArcBatch');
- require_once(DEDEINC."/oxwindow.class.php");
- if (empty($fmdo)) $fmdo = '';
- $recycle = empty($recycle) ? "" : $recycle;
- if ($fmdo == 'yes') {
- if (!empty($aid) && empty($qstr)) $qstr = $aid;
- if ($qstr == '') {
- ShowMsg("参数无效", "recycling.php");
- exit();
- }
- $qstrs = explode("`", $qstr);
- $okaids = array();
- foreach ($qstrs as $aid) {
- if (!isset($okaids[$aid])) {
- DelArc($aid, "OK", "", $recycle);
- } else {
- $okaids[$aid] = 1;
- }
- }
- ShowMsg("成功删除指定的文档", "recycling.php");
- exit();
- } else {
- $wintitle = "文档管理-删除文档";
- $wecome_info = "<a href='recycling.php'>文档管理</a>::删除文档";
- $win = new OxWindow();
- $win->Init("archives_do.php", "js/blank.js", "POST");
- $win->AddHidden("fmdo", "yes");
- $win->AddHidden("dopost", $dopost);
- $win->AddHidden("qstr", $qstr);
- $win->AddHidden("aid", $aid);
- $win->AddHidden("recycle", $recycle);
- $win->AddTitle("您确实要永久删除 $qstr 和 $aid 这些文档");
- $winform = $win->GetWindow("ok");
- $win->Display();
- }
- }
- /*-----------------------------
- //快速编辑
- function quickEdit(){ }
- ------------------------------*/
- else if ($dopost == 'quickEdit') {
- require_once(DEDEADMIN."/inc/inc_catalog_options.php");
- AjaxHead();
- $query = "SELECT ch.typename as channelname,ch.addtable,ar.membername as rankname,arc.*
- FROM `#@__archives` arc
- LEFT JOIN `#@__channeltype` ch ON ch.id=arc.channel
- LEFT JOIN `#@__arcrank` ar ON ar.rank=arc.arcrank WHERE arc.id='$aid' ";
- $arcRow = $dsql->GetOne($query);
- $divname = 'quickEdit';
- echo "<div class='title' onmousemove=\"DropMoveHand('{$divname}', 225);\" onmousedown=\"DropStartHand();\" onmouseup=\"DropStopHand();\">";
- echo "<div class='titLeft'>快速属性编辑</div>";
- echo "<div class='titRight'><img src='images/ico-close.gif' style='cursor:pointer;' onclick='HideObj(\"{$divname}\");ChangeFullDiv(\"hide\");' title='关闭'></div>";
- echo "</div>";
- echo "<form name='quickeditform' action='archives_do.php?dopost=quickEditSave&aid={$aid}' method='post'>";
- echo "<input type='hidden' name='addtable' value='{$arcRow['addtable']}'>";
- echo "<input type='hidden' name='oldtypeid' value='{$arcRow['typeid']}'>";
- echo "<table width='100%' style='display:inline-block;z-index:9000'>";
- ?>
- <tr height='26'>
- <td width="86" class='bline'> 所属栏目:</td>
- <td class='bline'>
- <?php
- $typeOptions = GetOptionList($arcRow['typeid'], $cuserLogin->getUserChannel(), $arcRow['channel']);
- echo "<select name='typeid' style='width:320px'>";
- if ($arcRow["typeid"] == "0") echo "<option value='0' selected>请选择栏目</option>";
- echo $typeOptions;
- echo "</select>";
- ?>
- </td>
- </tr>
- <tr height='26'>
- <td width="86" class='bline'> 属性:</td>
- <td class='bline'>
- <input type='hidden' name='oldflag' value='<?php echo $arcRow['flag']; ?>'>
- <?php
- $dsql->SetQuery("SELECT * FROM `#@__arcatt` ORDER BY sortid ASC");
- $dsql->Execute();
- while ($trow = $dsql->GetObject()) {
- if ($trow->att == 'j' || $trow->att == 'p') continue;
- if (preg_match("#".$trow->att."#", $arcRow['flag']))
- echo "<label><input class='np' type='checkbox' name='flags[]' id='flags{$trow->att}' value='{$trow->att}' checked='checked'> {$trow->attname}{$trow->att}[{$trow->att}]</label> ";
- else
- echo "<label><input class='np' type='checkbox' name='flags[]' id='flags{$trow->att}' value='{$trow->att}'> {$trow->attname}[{$trow->att}]</label> ";
- }
- ?>
- </td>
- </tr>
- <tr height='26'>
- <td width="86" class='bline'> 标题:</td>
- <td class='bline'><input name="title" type="text" id="title" value="<?php echo $arcRow['title']; ?>" style="width:320px"></td>
- </tr>
- <tr height='26'>
- <td width="86" class='bline'> 简略标题:</td>
- <td class='bline'><input name="shorttitle" type="text" id="shorttitle" value="<?php echo $arcRow['shorttitle']; ?>" style="width:320px"></td>
- </tr>
- <tr height='26'>
- <td width="86" class='bline'> 阅读权限:</td>
- <td class='bline'>
- <select name="arcrank" id="arcrank" style="width:100px">
- <option value='<?php echo $arcRow["arcrank"] ?>'>
- <?php echo $arcRow["rankname"] ?> </option>
- <?php
- $urank = $cuserLogin->getUserRank();
- $dsql->SetQuery("SELECT * FROM `#@__arcrank` WHERE adminrank<='$urank'");
- $dsql->Execute();
- while ($row = $dsql->GetObject()) {
- echo "<option value='".$row->rank."'>".$row->membername."</option>";
- }
- ?>
- </select>
- 需要金币:<input name="money" type="text" id="money" value="<?php echo $arcRow["money"]; ?>" style="width:100px">
- </td>
- </tr>
- <tr height='26'>
- <td width="86" class='bline'> 关键字:</td>
- <td class='bline'><input name="keywords" type="text" id="keywords" value="<?php echo $arcRow['keywords']; ?>" style="width:320px"></td>
- </tr>
- <tr height='36'>
- <td colspan='2' align='center' class='py-3' style='padding-top:10px'>
- <button type='submit' class='btn btn-success'>保存</button>
- <button type='button' onclick='HideObj("<?php echo $divname; ?>");ChangeFullDiv("hide");' class='btn btn-success'>关闭</button>
- </td>
- </tr>
- </table>
- </form>
- <?php
- //AJAX窗体结束
- }
- /*-----------------------------
- //保存快速编辑的内容
- function quickEditSave(){ }
- ------------------------------*/
- else if ($dopost == 'quickEditSave') {
- require_once(DEDEADMIN.'/inc/inc_archives_functions.php');
- //权限检测
- if (!TestPurview('a_Edit')) {
- if (TestPurview('a_AccEdit')) {
- CheckCatalog($typeid, "对不起,您没有操作栏目 {$typeid} 的文档权限");
- } else {
- CheckArcAdmin($aid, $cuserLogin->getUserID());
- }
- }
- $title = dede_htmlspecialchars(cn_substrR($title, $cfg_title_maxlen));
- $shorttitle = cn_substrR($shorttitle, 36);
- $keywords = trim(cn_substrR($keywords, 60));
- if (!TestPurview('a_Check,a_AccCheck,a_MyCheck')) $arcrank = -1;
- $adminid = $cuserLogin->getUserID();
- //属性处理
- $flag = isset($flags) ? join(',', $flags) : '';
- if (!empty($flag)) {
- if (preg_match("#p#", $oldflag)) $flag .= ',p';
- if (preg_match("#j#", $oldflag)) $flag .= ',j';
- }
- $query = "UPDATE `#@__archives` SET
- typeid = '$typeid',
- flag = '$flag',
- arcrank = '$arcrank',
- money = '$money',
- title = '$title',
- shorttitle = '$shorttitle',
- keywords = '$keywords',
- dutyadmin = '$adminid'
- WHERE id = '$aid'; ";
- //更新主表
- $dsql->ExecuteNoneQuery($query);
- //更新微表
- $dsql->ExecuteNoneQuery(" UPDATE `#@__arctiny` SET typeid='$typeid',arcrank='$arcrank' WHERE id='$aid' ");
- //更新附加表
- if ($typeid != $oldtypeid) {
- $addtable = trim($addtable);
- if (empty($addtable)) $addtable = '#@__addonarticle';
- else $addtable = preg_replace("#[^a-z0-9__#@-]#i", "", $addtable);
- $dsql->ExecuteNoneQuery(" UPDATE `$addtable` SET typeid='$typeid' WHERE aid='$aid' ");
- }
- //更新HTML
- $artUrl = MakeArt($aid, TRUE, TRUE);
- $backurl = !empty($_COOKIE['ENV_GOBACK_URL']) ? $_COOKIE['ENV_GOBACK_URL'] : '-1';
- ShowMsg('成功更新一篇文档的基本信息', $backurl);
- exit();
- }
- /*--------------------------
- 分析并自动获取文档关键词
- function makekw(){ }
- --------------------------*/
- else if ($dopost == "makekw") {
- CheckPurview('a_Commend,sys_ArcBatch');
- if (!empty($aid) && empty($qstr)) $qstr = $aid;
- if ($qstr == '') {
- ShowMsg("参数无效", $ENV_GOBACK_URL);
- exit();
- }
- $arcids = preg_replace("#[^0-9,]#", '', preg_replace("#`#", ',', $qstr));
- $query = "SELECT arc.*, addt.* From `#@__archives` arc LEFT JOIN `#@__addonarticle` addt ON addt.aid=arc.id WHERE arc.id in($arcids) AND arc.channel=1 ";
- $dsql->SetQuery($query);
- $dsql->Execute();
- if (!empty($cfg_bizcore_appid) && !empty($cfg_bizcore_key)) {
- $client = new DedeBizClient($cfg_bizcore_hostname, $cfg_bizcore_port);
- $client->appid = $cfg_bizcore_appid;
- $client->key = $cfg_bizcore_key;
- while ($row = $dsql->GetArray()) {
- //跳过已经有关键字的内容
- if (trim($row['keywords']) != '') continue;
- $aid = $row['id'];
- $keywords = '';
- $title = $row['title'];
- $description = $row['description'];
- $body = cn_substr($row['body'], 5000);
- $data = $client->Spliteword($title.Html2Text($body));
- $keywords = $data->data;
- $description = str_replace(' ', ' ', trim($description));
- $description = str_replace('[', ' ', $description);
- $description = str_replace(']', ' ', $description);
- $description = preg_replace("#[ \t]{1,}#is", ' ', $description);
- $description = str_replace('关键字', '', $description);
- $description = str_replace('关键词', '', $description);
- $description = addslashes($description);
- $dsql->ExecuteNoneQuery(" UPDATE `#@__archives` SET `keywords`='$keywords',`description`='$description' WHERE id='{$aid}' ");
- }
- $client->Close();
- } else {
- include_once(DEDEINC.'/splitword.class.php');
- $sp = new SplitWord($cfg_soft_lang, $cfg_soft_lang);
- while ($row = $dsql->GetArray()) {
- //跳过已经有关键字的内容
- if (trim($row['keywords']) != '') continue;
- $aid = $row['id'];
- $keywords = '';
- $title = $row['title'];
- $description = $row['description'];
- $body = cn_substr($row['body'], 5000);
- $sp->SetSource($title, $cfg_soft_lang, $cfg_soft_lang);
- $sp->StartAnalysis();
- $titleindexs = preg_replace("/#p#|#e#/", '', $sp->GetFinallyIndex());
- $sp->SetSource(Html2Text($body), $cfg_soft_lang, $cfg_soft_lang);
- $sp->StartAnalysis();
- $allindexs = preg_replace("/#p#|#e#/", '', $sp->GetFinallyIndex());
- if (is_array($allindexs) && is_array($titleindexs)) {
- foreach ($titleindexs as $k => $v) {
- if (strlen($keywords.$k) >= 60) {
- break;
- } else {
- if (strlen($k) <= 2) continue;
- $keywords .= $k.',';
- }
- }
- foreach ($allindexs as $k => $v) {
- if (strlen($keywords.$k) >= 60) {
- break;
- } else if (!in_array($k, $titleindexs)) {
- if (strlen($k) <= 2) continue;
- $keywords .= $k.',';
- }
- }
- }
- $description = str_replace(' ', ' ', trim($description));
- $description = str_replace('[', ' ', $description);
- $description = str_replace(']', ' ', $description);
- $description = preg_replace("#[ \t]{1,}#is", ' ', $description);
- $description = str_replace('关键字', '', $description);
- $description = str_replace('关键词', '', $description);
- $description = addslashes($description);
- $dsql->ExecuteNoneQuery(" UPDATE `#@__archives` SET `keywords`='$keywords',`description`='$description' WHERE id='{$aid}' ");
- }
- $sp = null;
- }
- ShowMsg("成功分析指定文档的关键词", $ENV_GOBACK_URL);
- exit();
- }
- /*--------------------------
- //批量增加属性
- function attsAdd(){ }
- ---------------------------*/
- else if ($dopost == 'attsAdd') {
- CheckPurview('a_Commend,sys_ArcBatch');
- if (!empty($aid) && empty($qstr)) $qstr = $aid;
- if ($qstr == '') {
- ShowMsg("参数无效", $ENV_GOBACK_URL);
- exit();
- }
- if (empty($flagname)) {
- ShowMsg("必须指定要添加的属性", $ENV_GOBACK_URL);
- exit();
- }
- $arcids = preg_replace("#[^0-9,]#", '', preg_replace("#`#", ',', $qstr));
- $query = "SELECT arc.id,arc.typeid,ch.issystem,ch.maintable,ch.addtable FROM `#@__arctiny` arc
- LEFT JOIN `#@__arctype` tp ON tp.id=arc.typeid
- LEFT JOIN `#@__channeltype` ch ON ch.id=tp.channeltype
- WHERE arc.id in($arcids) ";
- $dsql->SetQuery($query);
- $dsql->Execute();
- while ($row = $dsql->GetArray()) {
- $aid = $row['id'];
- if ($row['issystem'] != -1) {
- $maintable = (trim($row['maintable']) == '' ? '#@__archives' : trim($row['maintable']));
- $arr = $dsql->GetOne("SELECT flag FROM `{$maintable}` WHERE id='$aid' ");
- $flag = ($arr['flag'] == '' ? $flagname : $arr['flag'].','.$flagname);
- $dsql->ExecuteNoneQuery(" UPDATE `{$maintable}` SET `flag`='$flag' WHERE id='{$aid}' ");
- } else {
- $maintable = trim($row['addtable']);
- $arr = $dsql->GetOne("SELECT flag FROM `{$maintable}` WHERE aid='$aid' ");
- $flag = ($arr['flag'] == '' ? $flagname : $arr['flag'].','.$flagname);
- $dsql->ExecuteNoneQuery(" UPDATE `{$maintable}` SET `flag`='$flag' WHERE aid='{$aid}' ");
- }
- }
- ShowMsg("成功对选中文档增加指定的属性", $ENV_GOBACK_URL);
- exit();
- }
- /*--------------------------
- //批量删除属性
- function attsDel(){ }
- ---------------------------*/
- else if ($dopost == 'attsDel') {
- CheckPurview('a_Commend,sys_ArcBatch');
- if (!empty($aid) && empty($qstr)) $qstr = $aid;
- if ($qstr == '') {
- ShowMsg("参数无效", $ENV_GOBACK_URL);
- exit();
- }
- if (empty($flagname)) {
- ShowMsg("必须指定要删除的属性", $ENV_GOBACK_URL);
- exit();
- }
- $arcids = preg_replace("#[^0-9,]#", '', preg_replace("#`#", ',', $qstr));
- $query = "SELECT arc.id,arc.typeid,ch.issystem,ch.maintable,ch.addtable FROM `#@__arctiny` arc
- LEFT JOIN `#@__arctype` tp ON tp.id=arc.typeid
- LEFT JOIN `#@__channeltype` ch ON ch.id=tp.channeltype
- WHERE arc.id in($arcids) ";
- $dsql->SetQuery($query);
- $dsql->Execute();
- while ($row = $dsql->GetArray()) {
- $aid = $row['id'];
- if ($row['issystem'] != -1) {
- $idname = 'id';
- $maintable = (trim($row['maintable']) == '' ? '#@__archives' : trim($row['maintable']));
- $arr = $dsql->GetOne("SELECT flag FROM `{$maintable}` WHERE id='$aid' ");
- } else {
- $idname = 'aid';
- $maintable = trim($row['addtable']);
- $arr = $dsql->GetOne("SELECT flag FROM `{$maintable}` WHERE aid='$aid' ");
- }
- $flag = $arr['flag'];
- if (trim($flag) == '' || !preg_match("#".$flagname."#", $flag)) {
- continue;
- } else {
- $flags = explode(',', $flag);
- $okflags = array();
- foreach ($flags as $f) {
- if ($f != $flagname) $okflags[] = $f;
- }
- }
- $flag = trim(join(',', $okflags));
- $dsql->ExecuteNoneQuery(" UPDATE `{$maintable}` SET `flag`='$flag' WHERE {$idname}='{$aid}' ");
- }
- ShowMsg("成功对选中文档删除指定的属性", $ENV_GOBACK_URL);
- exit();
- }
- /*--------------------------
- //获得批量属性处理的AJAX窗体
- function attsDlg(){ }
- ---------------------------*/
- else if ($dopost == 'attsDlg') {
- if (!empty($aid) && empty($qstr)) $qstr = $aid;
- $dojobname = ($dojob == 'attsDel' ? '批量删除属性' : '批量增加属性');
- AjaxHead();
- //输出AJAX可移动窗体
- $divname = 'attsDlg';
- echo "<div class='title' onmousemove=\"DropMoveHand('{$divname}', 225);\" onmousedown=\"DropStartHand();\" onmouseup=\"DropStopHand();\">";
- echo "<div class='titLeft'>{$dojobname}</div>";
- echo "<div class='titRight'><img src='images/ico-close.gif' style='cursor:pointer;' onclick='HideObj(\"{$divname}\");ChangeFullDiv(\"hide\");' title='关闭'></div>";
- echo "</div>";
- echo "<form name='quickeditform' action='archives_do.php' method='post'>";
- echo "<input type='hidden' name='dopost' value='{$dojob}'>";
- echo "<input type='hidden' name='qstr' value='{$qstr}'>";
- echo "<table width='100%' style='display:inline-block;z-index:9000'>";
- ?>
- <tr height='26'>
- <td width="86" class='bline'> 属性:</td>
- <td class='bline'>
- <input type='hidden' name='oldflag' value='<?php echo $arcRow['flag']; ?>'>
- <?php
- $dsql->SetQuery("SELECT * FROM `#@__arcatt` ORDER BY sortid ASC");
- $dsql->Execute();
- while ($trow = $dsql->GetObject()) {
- if ($trow->att == 'j' || $trow->att == 'p') continue;
- echo "<label><input class='np' type='radio' name='flagname' id='flags{$trow->att}' value='{$trow->att}'> {$trow->attname}[{$trow->att}]</label> ";
- }
- ?>
- </td>
- </tr>
- <tr height='26'>
- <td width="86" class='bline'> 文档ID:</td>
- <td class='bline'><input type='text' name='tmpids' value="<?php echo $qstr; ?>" style='width:320px;overflow:hidden'></td>
- </tr>
- <tr height='36'>
- <td colspan='2' align='center' style='padding-top:10px'>
- <button type='submit' class='btn btn-success'>保存</button>
- <button type='button' onclick='HideObj("<?php echo $divname; ?>");ChangeFullDiv("hide");' class='btn btn-success'>关闭</button>
- </td>
- </tr>
- </table>
- </form>
- <?php
- //AJAX窗体结束
- }
- /*------------------------
- function getCatMap() { }
- -------------------------*/
- else if ($dopost == 'getCatMap') {
- require_once(DEDEINC.'/typeunit.class.selector.php');
- AjaxHead();
- //输出AJAX可移动窗体
- $divname = 'getCatMap';
- echo "<div class='title' style='cursor:default'>";
- echo "<div class='titLeft'>栏目快速选择器</div>";
- echo "<div class='titRight'><img src='images/ico-close.gif' style='cursor:pointer;' onclick='HideObj(\"{$divname}\");ChangeFullDiv(\"hide\");' title='关闭'></div>";
- echo "</div>";
- $tus = new TypeUnitSelector();
- ?>
- <form name='quicksel' action='javascript:;' method='get'>
- <div class='quicksel'><?php $tus->ListAllType($channelid); ?></div>
- <div align='center' class='quickselfoot'>
- <button onclick='getSelCat("<?php echo $targetid; ?>");' class='btn btn-success'>保存</button>
- <button type='button' onclick='HideObj("<?php echo $divname; ?>");ChangeFullDiv("hide");' class='btn btn-success'>关闭</button>
- </div>
- </form>
- <?php
- //AJAX窗体结束
- }
- ?>
|