国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

197 lines
10.0KB

  1. <?php
  2. /**
  3. * 栏目编辑
  4. *
  5. * @version $id:catalog_edit.php 14:31 2010年7月12日 tianya $
  6. * @package DedeBIZ.Administrator
  7. * @copyright Copyright (c) 2022 DedeBIZ.COM
  8. * @license https://www.dedebiz.com/license
  9. * @link https://www.dedebiz.com
  10. */
  11. require_once(dirname(__FILE__)."/config.php");
  12. require_once(DEDEINC."/typelink/typelink.class.php");
  13. if (empty($dopost)) $dopost = '';
  14. $id = isset($id) ? intval($id) : 0;
  15. //检查权限许可
  16. CheckPurview('t_Edit,t_AccEdit');
  17. //检查栏目操作许可
  18. CheckCatalog($id, '您无权修改本栏目');
  19. /*-----------------------
  20. function action_save()
  21. ----------------------*/
  22. if ($dopost == "save") {
  23. $description = Html2Text($description, 1);
  24. $keywords = Html2Text($keywords, 1);
  25. $uptopsql = $smalltypes = '';
  26. if (isset($smalltype) && is_array($smalltype)) $smalltypes = join(',', $smalltype);
  27. if ($topid == 0) {
  28. $sitepath = $typedir;
  29. $uptopsql = " ,siteurl='$siteurl',sitepath='$sitepath',ishidden='$ishidden' ";
  30. }
  31. if ($ispart != 0) $cross = 0;
  32. $upquery = "UPDATE `#@__arctype` SET issend='$issend',sortrank='$sortrank',typename='$typename',cnoverview='$cnoverview',enname='$enname',enoverview='$enoverview',bigpic='$bigpic',litimg='$litimg',typedir='$typedir',isdefault='$isdefault',defaultname='$defaultname',issend='$issend',ishidden='$ishidden',channeltype='$channeltype',tempindex='$tempindex',templist='$templist',temparticle='$temparticle',namerule='$namerule',namerule2='$namerule2',ispart='$ispart',corank='$corank',description='$description',keywords='$keywords',seotitle='$seotitle',moresite='$moresite',`cross`='$cross',`content`='$content',`crossid`='$crossid',`smalltypes`='$smalltypes'$uptopsql WHERE id='$id' ";
  33. if (!$dsql->ExecuteNoneQuery($upquery)) {
  34. ShowMsg("保存当前栏目修改时失败,请检查您的输入资料是否存在问题", "-1");
  35. exit();
  36. }
  37. //如果选择子栏目可投稿,更新顶级栏目为可投稿
  38. if ($topid > 0 && $issend == 1) {
  39. $dsql->ExecuteNoneQuery("UPDATE `#@__arctype` SET issend='$issend' WHERE id='$topid'; ");
  40. }
  41. $slinks = " id IN (".GetSonIds($id).")";
  42. //修改顶级栏目时强制修改下级的多站点支持属性
  43. if ($topid == 0 && preg_match("#,#", $slinks)) {
  44. $upquery = "UPDATE `#@__arctype` SET moresite='$moresite', siteurl='$siteurl',sitepath='$sitepath',ishidden='$ishidden' WHERE 1=1 AND $slinks";
  45. $dsql->ExecuteNoneQuery($upquery);
  46. }
  47. //修改子栏目属性
  48. if (!empty($upnext)) {
  49. $upquery = "UPDATE `#@__arctype` SETissend='$issend',defaultname='$defaultname',channeltype='$channeltype',tempindex='$tempindex',templist='$templist',temparticle='$temparticle',namerule='$namerule',namerule2='$namerule2',ishidden='$ishidden' WHERE 1=1 AND $slinks";
  50. if (!$dsql->ExecuteNoneQuery($upquery)) {
  51. ShowMsg("修改当前栏目成功,但修改下级栏目属性时失败", "-1");
  52. exit();
  53. }
  54. }
  55. UpDateCatCache();
  56. ShowMsg("成功修改一个分类", "catalog_main.php");
  57. exit();
  58. } //End Save Action
  59. else if ($dopost == "savetime") {
  60. $uptopsql = '';
  61. $slinks = " id IN (".GetSonIds($id).")";
  62. //顶级栏目二级域名根目录处理
  63. if ($topid == 0 && $moresite == 1) {
  64. $sitepath = $typedir;
  65. $uptopsql = " ,sitepath='$sitepath' ";
  66. if (preg_match("#,#", $slinks)) {
  67. $upquery = "UPDATE `#@__arctype` SET sitepath='$sitepath' WHERE $slinks";
  68. $dsql->ExecuteNoneQuery($upquery);
  69. }
  70. }
  71. //如果选择子栏目可投稿,更新顶级栏目为可投稿
  72. if ($topid > 0 && $issend == 1) {
  73. $dsql->ExecuteNoneQuery("UPDATE `#@__arctype` SET issend='$issend' WHERE id='$topid'; ");
  74. }
  75. $upquery = "UPDATE `#@__arctype` SET issend='$issend',sortrank='$sortrank',typedir='$typedir',typename='$typename',isdefault='$isdefault',defaultname='$defaultname',ispart='$ispart',corank='$corank' $uptopsql WHERE id='$id' ";
  76. if (!$dsql->ExecuteNoneQuery($upquery)) {
  77. ShowMsg("保存当前栏目修改时失败,请检查您的输入资料是否存在问题", "-1");
  78. exit();
  79. }
  80. UpDateCatCache();
  81. ShowMsg("成功修改一个分类", "catalog_main.php");
  82. exit();
  83. }
  84. //读取栏目信息
  85. $dsql->SetQuery("SELECT tp.*,ch.typename as ctypename FROM `#@__arctype` tp LEFT JOIN `#@__channeltype` ch ON ch.id=tp.channeltype WHERE tp.id=$id");
  86. $myrow = $dsql->GetOne();
  87. $topid = $myrow['topid'];
  88. if ($topid > 0) {
  89. $toprow = $dsql->GetOne("SELECT moresite,siteurl,sitepath FROM `#@__arctype` WHERE id=$topid");
  90. foreach ($toprow as $k => $v) {
  91. if (!preg_match("#[0-9]#", $k)) {
  92. $myrow[$k] = $v;
  93. }
  94. }
  95. }
  96. $myrow['content'] = empty($myrow['content']) ? "&nbsp;" : $myrow['content'];
  97. //读取频道模型信息
  98. $channelid = $myrow['channeltype'];
  99. $dsql->SetQuery("SELECT id,typename,nid FROM `#@__channeltype` WHERE id<>-1 AND isshow=1 ORDER BY id");
  100. $dsql->Execute();
  101. while ($row = $dsql->GetObject()) {
  102. $channelArray[$row->id]['typename'] = $row->typename;
  103. $channelArray[$row->id]['nid'] = $row->nid;
  104. if ($row->id == $channelid) {
  105. $nid = $row->nid;
  106. }
  107. }
  108. PutCookie('lastCid', GetTopid($id), 3600 * 24, "/");
  109. if ($dopost == 'time') {
  110. ?>
  111. <form name="form1" action="catalog_edit.php" method="post" onSubmit="return checkSubmit();">
  112. <input type="hidden" name="dopost" value="savetime">
  113. <input type="hidden" name="id" value="<?php echo $id;?>">
  114. <input type="hidden" name="topid" value="<?php echo $myrow['topid'];?>">
  115. <input type="hidden" name="moresite" value="<?php echo $myrow['moresite'];?>">
  116. <table width="100%" cellpadding="0" cellspacing="0">
  117. <tr>
  118. <td width="160" class="biz-td" align="center">是否支持投稿:</td>
  119. <td class="biz-td">
  120. <label><input type="radio" name="issend" value="1" <?php if ($myrow['issend'] == "1") echo "checked='1'";?>> 支持</label>
  121. <label><input type="radio" name="issend" value="0" <?php if ($myrow['issend'] == "0") echo "checked='1'";?>> 不支持</label>
  122. </td>
  123. </tr>
  124. <tr>
  125. <td class="biz-td" align="center">内容模型:</td>
  126. <td class="biz-td">
  127. <?php
  128. foreach ($channelArray as $k => $arr) {
  129. if ($k == $channelid) echo "{$arr['typename']} | {$arr['nid']}";
  130. }
  131. ?>
  132. <a href='catalog_edit.php?id=<?php echo $id;?>' class='btn btn-success btn-sm'>更多模型</a>
  133. </td>
  134. </tr>
  135. <tr>
  136. <td class="biz-td" align="center">栏目名称:</td>
  137. <td class="biz-td"><input type="text" name="typename" value="<?php echo $myrow['typename'] ?>" class="biz-input-md"></td>
  138. </tr>
  139. <tr>
  140. <td class="biz-td" align="center"> 排列顺序:</td>
  141. <td class="biz-td"> <input type="text" name="sortrank" value="<?php echo $myrow['sortrank'] ?>" class="biz-input-sm">(由低 &gt; 高)</td>
  142. </tr>
  143. <tr>
  144. <td class="biz-td" align="center">浏览权限:</td>
  145. <td class="biz-td">
  146. <select name="corank" id="corank" class="biz-input-sm">
  147. <?php
  148. $dsql->SetQuery("SELECT * FROM `#@__arcrank` WHERE `rank` >= 0");
  149. $dsql->Execute();
  150. while ($row = $dsql->GetObject()) {
  151. if ($myrow['corank'] == $row->rank)
  152. echo "<option value='".$row->rank."' selected>".$row->membername."</option>\r\n";
  153. else
  154. echo "<option value='".$row->rank."'>".$row->membername."</option>\r\n";
  155. }
  156. ?>
  157. </select>(仅限制栏目里的文档浏览权限)
  158. </td>
  159. </tr>
  160. <tr>
  161. <td class="biz-td" align="center">文件保存目录:</td>
  162. <td class="biz-td"><input type="text" name="typedir" value="<?php echo $myrow['typedir'] ?>" class="biz-input-md"></td>
  163. </tr>
  164. <tr>
  165. <td align="center" class="biz-td">栏目列表选项:</td>
  166. <td class="biz-td">
  167. <label><input type="radio" name="isdefault" value="1" <?php if ($myrow['isdefault'] == 1) echo "checked='1'";?>> 链接到默认页</label>
  168. <label><input type="radio" name="isdefault" value="0" <?php if ($myrow['isdefault'] == 0) echo "checked='1'";?>> 链接到列表第一页</label>
  169. <label><input type="radio" name="isdefault" value="-1" <?php if ($myrow['isdefault'] == -1) echo "checked='1'";?>> 使用动态页</label>
  170. </td>
  171. </tr>
  172. <tr>
  173. <td class="biz-td" align="center">默认页的名称:</td>
  174. <td class="biz-td"><input type="text" name="defaultname" value="<?php echo $myrow['defaultname'] ?>" class="biz-input-md"></td>
  175. </tr>
  176. <tr>
  177. <td class="biz-td" align="center">栏目属性:</td>
  178. <td class="biz-td">
  179. <label><input name="ispart" type="radio" value="0" <?php if ($myrow['ispart'] == 0) echo "checked='1'";?>> 最终列表栏目(允许在本栏目发布文档,并生成文档列表)</label><br>
  180. <label><input name="ispart" type="radio" value="1" <?php if ($myrow['ispart'] == 1) echo "checked='1'";?>> 频道封面(栏目本身不允许发布文档)</label><br>
  181. <label><input name="ispart" type="radio" value="2" <?php if ($myrow['ispart'] == 2) echo "checked='1'";?>> 外部连接(在"文件保存目录"处填写网址)</label>
  182. </td>
  183. </tr>
  184. <tr>
  185. <td bgcolor="#fbfce2" colspan="2" align="center" class="py-2">
  186. <button onclick='getSelCat("<?php echo $targetid;?>");' class='btn btn-success btn-sm'>保存</button>
  187. <button type='button' onclick='CloseMsg()' class='btn btn-success btn-sm'>关闭</button>
  188. </td>
  189. </tr>
  190. </table>
  191. </form>
  192. <?php
  193. exit();
  194. } else {
  195. include DedeInclude('templets/catalog_edit.htm');
  196. }
  197. ?>