国内流行的内容管理系统(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.

247 lines
11KB

  1. <?php
  2. /**
  3. * 栏目编辑
  4. *
  5. * @version $Id: catalog_edit.php 1 14:31 2010年7月12日Z 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
  33. issend='$issend',
  34. sortrank='$sortrank',
  35. typename='$typename',
  36. namegk='$namegk',
  37. enname='$enname',
  38. ennamegk='$ennamegk',
  39. bigpic='$bigpic',
  40. litimg='$litimg',
  41. typedir='$typedir',
  42. isdefault='$isdefault',
  43. defaultname='$defaultname',
  44. issend='$issend',
  45. ishidden='$ishidden',
  46. channeltype='$channeltype',
  47. tempindex='$tempindex',
  48. templist='$templist',
  49. temparticle='$temparticle',
  50. namerule='$namerule',
  51. namerule2='$namerule2',
  52. ispart='$ispart',
  53. corank='$corank',
  54. description='$description',
  55. keywords='$keywords',
  56. seotitle='$seotitle',
  57. moresite='$moresite',
  58. `cross`='$cross',
  59. `content`='$content',
  60. `crossid`='$crossid',
  61. `smalltypes`='$smalltypes'
  62. $uptopsql
  63. WHERE id='$id' ";
  64. if (!$dsql->ExecuteNoneQuery($upquery)) {
  65. ShowMsg("保存当前栏目修改时失败,请检查您的输入资料是否存在问题", "-1");
  66. exit();
  67. }
  68. //如果选择子栏目可投稿,更新顶级栏目为可投稿
  69. if ($topid > 0 && $issend == 1) {
  70. $dsql->ExecuteNoneQuery("UPDATE `#@__arctype` SET issend='$issend' WHERE id='$topid'; ");
  71. }
  72. $slinks = " id IN (".GetSonIds($id).")";
  73. //修改顶级栏目时强制修改下级的多站点支持属性
  74. if ($topid == 0 && preg_match("#,#", $slinks)) {
  75. $upquery = "UPDATE `#@__arctype` SET moresite='$moresite', siteurl='$siteurl',sitepath='$sitepath',ishidden='$ishidden' WHERE 1=1 AND $slinks";
  76. $dsql->ExecuteNoneQuery($upquery);
  77. }
  78. //修改子栏目属性
  79. if (!empty($upnext)) {
  80. $upquery = "UPDATE `#@__arctype` SET
  81. issend='$issend',
  82. defaultname='$defaultname',
  83. channeltype='$channeltype',
  84. tempindex='$tempindex',
  85. templist='$templist',
  86. temparticle='$temparticle',
  87. namerule='$namerule',
  88. namerule2='$namerule2',
  89. ishidden='$ishidden'
  90. WHERE 1=1 AND $slinks";
  91. if (!$dsql->ExecuteNoneQuery($upquery)) {
  92. ShowMsg("修改当前栏目成功,但修改下级栏目属性时失败", "-1");
  93. exit();
  94. }
  95. }
  96. UpDateCatCache();
  97. ShowMsg("成功修改一个分类", "catalog_main.php");
  98. exit();
  99. } //End Save Action
  100. else if ($dopost == "savetime") {
  101. $uptopsql = '';
  102. $slinks = " id IN (".GetSonIds($id).")";
  103. //顶级栏目二级域名根目录处理
  104. if ($topid == 0 && $moresite == 1) {
  105. $sitepath = $typedir;
  106. $uptopsql = " ,sitepath='$sitepath' ";
  107. if (preg_match("#,#", $slinks)) {
  108. $upquery = "UPDATE `#@__arctype` SET sitepath='$sitepath' WHERE $slinks";
  109. $dsql->ExecuteNoneQuery($upquery);
  110. }
  111. }
  112. //如果选择子栏目可投稿,更新顶级栏目为可投稿
  113. if ($topid > 0 && $issend == 1) {
  114. $dsql->ExecuteNoneQuery("UPDATE `#@__arctype` SET issend='$issend' WHERE id='$topid'; ");
  115. }
  116. $upquery = "UPDATE `#@__arctype` SET
  117. issend='$issend',
  118. sortrank='$sortrank',
  119. typedir='$typedir',
  120. typename='$typename',
  121. isdefault='$isdefault',
  122. defaultname='$defaultname',
  123. ispart='$ispart',
  124. corank='$corank' $uptopsql
  125. WHERE id='$id' ";
  126. if (!$dsql->ExecuteNoneQuery($upquery)) {
  127. ShowMsg("保存当前栏目修改时失败,请检查您的输入资料是否存在问题", "-1");
  128. exit();
  129. }
  130. UpDateCatCache();
  131. ShowMsg("成功修改一个分类", "catalog_main.php");
  132. exit();
  133. }
  134. //读取栏目信息
  135. $dsql->SetQuery("SELECT tp.*,ch.typename as ctypename FROM `#@__arctype` tp LEFT JOIN `#@__channeltype` ch ON ch.id=tp.channeltype WHERE tp.id=$id");
  136. $myrow = $dsql->GetOne();
  137. $topid = $myrow['topid'];
  138. if ($topid > 0) {
  139. $toprow = $dsql->GetOne("SELECT moresite,siteurl,sitepath FROM `#@__arctype` WHERE id=$topid");
  140. foreach ($toprow as $k => $v) {
  141. if (!preg_match("#[0-9]#", $k)) {
  142. $myrow[$k] = $v;
  143. }
  144. }
  145. }
  146. $myrow['content'] = empty($myrow['content']) ? "&nbsp;" : $myrow['content'];
  147. //读取频道模型信息
  148. $channelid = $myrow['channeltype'];
  149. $dsql->SetQuery("SELECT id,typename,nid FROM `#@__channeltype` WHERE id<>-1 AND isshow=1 ORDER BY id");
  150. $dsql->Execute();
  151. while ($row = $dsql->GetObject()) {
  152. $channelArray[$row->id]['typename'] = $row->typename;
  153. $channelArray[$row->id]['nid'] = $row->nid;
  154. if ($row->id == $channelid) {
  155. $nid = $row->nid;
  156. }
  157. }
  158. PutCookie('lastCid', GetTopid($id), 3600 * 24, "/");
  159. if ($dopost == 'time') {
  160. ?>
  161. <form name="form1" action="catalog_edit.php" method="post" onSubmit="return checkSubmit();">
  162. <input type="hidden" name="dopost" value="savetime">
  163. <input type="hidden" name="id" value="<?php echo $id; ?>">
  164. <input type="hidden" name="topid" value="<?php echo $myrow['topid']; ?>">
  165. <input type="hidden" name="moresite" value="<?php echo $myrow['moresite']; ?>">
  166. <table width="100%" cellpadding="0" cellspacing="0">
  167. <tr>
  168. <td width="160" class="bline" height="26" align="center">是否支持投稿:</td>
  169. <td class="bline">
  170. <label><input type='radio' name='issend' value='0' class='np' <?php if ($myrow['issend'] == "0") echo " checked='1' "; ?>>&nbsp;不支持</label>
  171. <label><input type='radio' name='issend' value='1' class='np' <?php if ($myrow['issend'] == "1") echo " checked='1' "; ?>>&nbsp;支持</label>
  172. </td>
  173. </tr>
  174. <tr>
  175. <td class="bline" height="26" align="center">内容模型:</td>
  176. <td class="bline">
  177. <?php
  178. foreach ($channelArray as $k => $arr) {
  179. if ($k == $channelid) echo "{$arr['typename']} | {$arr['nid']}";
  180. }
  181. ?>
  182. <a href='catalog_edit.php?id=<?php echo $id; ?>' class='btn btn-success btn-sm'>更多模型</a>
  183. </td>
  184. </tr>
  185. <tr>
  186. <td class="bline" height="26" align="center">栏目名称:</td>
  187. <td class="bline"><input name="typename" type="text" id="typename" value="<?php echo $myrow['typename'] ?>" style="width:260px" class="iptxt"></td>
  188. </tr>
  189. <tr>
  190. <td class="bline" height="26" align="center"> 排列顺序:</td>
  191. <td class="bline"> <input name="sortrank" type="text" value="<?php echo $myrow['sortrank'] ?>" style="width:100px" class="iptxt">(由低 &gt; 高)</td>
  192. </tr>
  193. <tr>
  194. <td class="bline" height="26" align="center">浏览权限:</td>
  195. <td class="bline">
  196. <select name="corank" id="corank" style="width:100px">
  197. <?php
  198. $dsql->SetQuery("SELECT * FROM `#@__arcrank` WHERE `rank` >= 0");
  199. $dsql->Execute();
  200. while ($row = $dsql->GetObject()) {
  201. if ($myrow['corank'] == $row->rank)
  202. echo "<option value='".$row->rank."' selected>".$row->membername."</option>\r\n";
  203. else
  204. echo "<option value='".$row->rank."'>".$row->membername."</option>\r\n";
  205. }
  206. ?>
  207. </select>(仅限制栏目里的文档浏览权限)
  208. </td>
  209. </tr>
  210. <tr>
  211. <td class="bline" height="26" align="center">文件保存目录:</td>
  212. <td class="bline"><input name="typedir" type="text" id="typedir" value="<?php echo $myrow['typedir'] ?>" style="width:260px"class="iptxt"></td>
  213. </tr>
  214. <tr>
  215. <td height="26" align="center" class="bline">栏目列表选项:</td>
  216. <td class="bline">
  217. <label><input type='radio' name='isdefault' value='1' class='np' <?php if ($myrow['isdefault'] == 1) echo " checked='1' "; ?>>&nbsp;链接到默认页</label>
  218. <label><input type='radio' name='isdefault' value='0' class='np' <?php if ($myrow['isdefault'] == 0) echo " checked='1' "; ?>>&nbsp;链接到列表第一页</label>
  219. <label><input type='radio' name='isdefault' value='-1' class='np' <?php if ($myrow['isdefault'] == -1) echo " checked='1' "; ?>>&nbsp;使用动态页</label>
  220. </td>
  221. </tr>
  222. <tr>
  223. <td class="bline" height="26" align="center">默认页的名称:</td>
  224. <td class="bline"><input name="defaultname" type="text" value="<?php echo $myrow['defaultname'] ?>" style="width:260px" class="iptxt"></td>
  225. </tr>
  226. <tr>
  227. <td height="26" class="bline" align="center">栏目属性:</td>
  228. <td class="bline">
  229. <label><input name="ispart" type="radio" id="radio" value="0" class='np' <?php if ($myrow['ispart'] == 0) echo " checked='1' "; ?>>&nbsp;最终列表栏目(允许在本栏目发布文档,并生成文档列表)</label><br>
  230. <label><input name="ispart" type="radio" id="radio2" value="1" class='np' <?php if ($myrow['ispart'] == 1) echo " checked='1' "; ?>>&nbsp;频道封面(栏目本身不允许发布文档)</label><br>
  231. <label><input name="ispart" type="radio" id="radio3" value="2" class='np' <?php if ($myrow['ispart'] == 2) echo " checked='1' "; ?>>&nbsp;外部连接(在"文件保存目录"处填写网址)</label>
  232. </td>
  233. </tr>
  234. <tr>
  235. <td bgcolor="#F8FCF1" colspan="2" align="center" class="py-3">
  236. <button onclick='getSelCat("<?php echo $targetid; ?>");' class='btn btn-success btn-sm'>保存</button>
  237. <button type='button' onclick='CloseMsg()' class='btn btn-success btn-sm'>关闭</button>
  238. </td>
  239. </tr>
  240. </table>
  241. </form>
  242. <?php
  243. exit();
  244. } else {
  245. include DedeInclude('templets/catalog_edit.htm');
  246. }
  247. ?>