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

140 line
5.4KB

  1. <?php
  2. /**
  3. * 处理文档管理列表操作
  4. *
  5. * @version $id:archives_do.php 13:52 2010年7月9日 tianya $
  6. * @package DedeBIZ.User
  7. * @copyright Copyright (c) 2022 DedeBIZ.COM
  8. * @license GNU GPL v2 (https://www.dedebiz.com/license)
  9. * @link https://www.dedebiz.com
  10. */
  11. require_once(dirname(__FILE__)."/config.php");
  12. if (empty($dopost)) $dopost = '';
  13. $aid = isset($aid) && is_numeric($aid) ? $aid : 0;
  14. $channelid = isset($channelid) && is_numeric($channelid) ? $channelid : 1;
  15. //删除收藏
  16. if ($dopost == "delStow") {
  17. $type = empty($type) ? '' : HtmlReplace(trim($type), -1);
  18. $tupdate = '';
  19. if (!empty($type)) {
  20. $tupdate = " AND type = '$type'";
  21. }
  22. $ENV_GOBACK_URL = empty($_COOKIE['ENV_GOBACK_URL']) ? "mystow.php" : $_COOKIE['ENV_GOBACK_URL'];
  23. $dsql->ExecuteNoneQuery("DELETE FROM `#@__member_stow` WHERE aid='$aid' AND mid='".$cfg_ml->M_ID."'$tupdate;");
  24. //更新会员统计
  25. $row = $dsql->GetOne("SELECT COUNT(*) AS nums FROM `#@__member_stow` WHERE `mid`='".$cfg_ml->M_ID."' ");
  26. $dsql->ExecuteNoneQuery("UPDATE `#@__member_tj` SET `stow`='$row[nums]' WHERE `mid`='".$cfg_ml->M_ID."'");
  27. ShowMsg("成功删除一条收藏记录", $ENV_GOBACK_URL);
  28. exit();
  29. }
  30. //添加投稿
  31. else if ($dopost == "addArc") {
  32. if ($channelid == 1) {
  33. $addcon = 'article_add.php?channelid='.$channelid;
  34. } else if ($channelid == 2) {
  35. $addcon = 'album_add.php?channelid='.$channelid;
  36. } else if ($channelid == 3) {
  37. $addcon = 'soft_add.php?channelid='.$channelid;
  38. } else {
  39. $row = $dsql->GetOne("SELECT useraddcon FROM `#@__channeltype` WHERE id='$channelid' ");
  40. if (!is_array($row)) {
  41. ShowMsg("模型参数错误", "-1");
  42. exit();
  43. }
  44. $addcon = $row['useraddcon'];
  45. if (trim($addcon) == '') {
  46. $addcon = 'archives_add.php';
  47. }
  48. $addcon = $addcon."?channelid=$channelid";
  49. }
  50. header("Location:$addcon");
  51. exit();
  52. }
  53. //修改投稿
  54. else if ($dopost == "edit") {
  55. if ($channelid == 1) {
  56. $edit = 'article_edit.php?channelid='.$channelid;
  57. } else if ($channelid == 2) {
  58. $edit = 'album_edit.php?channelid='.$channelid;
  59. } else if ($channelid == 3) {
  60. $edit = 'soft_edit.php?channelid='.$channelid;
  61. } else {
  62. $row = $dsql->GetOne("SELECT usereditcon FROM `#@__channeltype` WHERE id='$channelid' ");
  63. if (!is_array($row)) {
  64. ShowMsg("操作失败", "-1");
  65. exit();
  66. }
  67. $edit = $row['usereditcon'];
  68. if (trim($edit) == '') {
  69. $edit = 'archives_edit.php';
  70. }
  71. $edit = $edit."?channelid=$channelid";
  72. }
  73. header("Location:$edit"."&aid=$aid");
  74. exit();
  75. }
  76. //删除文档
  77. else if ($dopost == "delArc") {
  78. CheckRank(0, 0);//禁止游客操作
  79. include_once(DEDEMEMBER."/inc/inc_batchup.php");
  80. $ENV_GOBACK_URL = empty($_COOKIE['ENV_GOBACK_URL']) ? 'content_list.php?channelid=' : $_COOKIE['ENV_GOBACK_URL'];
  81. $equery = "SELECT arc.channel,arc.senddate,arc.arcrank,ch.maintable,ch.addtable,ch.issystem,ch.arcsta FROM `#@__arctiny` arc LEFT JOIN `#@__channeltype` ch ON ch.id=arc.channel WHERE arc.id='$aid' ";
  82. $row = $dsql->GetOne($equery);
  83. if (!is_array($row)) {
  84. ShowMsg("您没有权限删除这篇文档", "-1");
  85. exit();
  86. }
  87. if (trim($row['maintable']) == '') $row['maintable'] = '#@__archives';
  88. if ($row['issystem'] == -1) {
  89. $equery = "SELECT mid FROM `{$row['addtable']}` WHERE aid='$aid' AND mid='".$cfg_ml->M_ID."' ";
  90. } else {
  91. $equery = "SELECT mid,litpic from `{$row['maintable']}` WHERE id='$aid' AND mid='".$cfg_ml->M_ID."' ";
  92. }
  93. $arr = $dsql->GetOne($equery);
  94. if (!is_array($arr)) {
  95. ShowMsg("您没有权限删除这篇文档", "-1");
  96. exit();
  97. }
  98. if ($row['arcrank'] >= 0) {
  99. $dtime = time();
  100. $maxtime = $cfg_mb_editday * 24 * 3600;
  101. if ($dtime - $row['senddate'] > $maxtime) {
  102. ShowMsg("这篇文档已经锁定,暂时无法删除", "-1");
  103. exit();
  104. }
  105. }
  106. $channelid = $row['channel'];
  107. $row['litpic'] = (isset($arr['litpic']) ? $arr['litpic'] : '');
  108. //删除文档
  109. if ($row['issystem'] != -1) $rs = DelArc($aid);
  110. else $rs = DelArcSg($aid);
  111. //删除缩略图
  112. if (trim($row['litpic']) != '' && preg_match("#^".$cfg_user_dir."/{$cfg_ml->M_ID}#", $row['litpic'])) {
  113. $dsql->ExecuteNoneQuery("DELETE FROM `#@__uploads` WHERE url LIKE '{$row['litpic']}' AND mid='{$cfg_ml->M_ID}' ");
  114. @unlink($cfg_basedir.$row['litpic']);
  115. }
  116. if ($ENV_GOBACK_URL == 'content_list.php?channelid=') {
  117. $ENV_GOBACK_URL = $ENV_GOBACK_URL.$channelid;
  118. }
  119. if ($rs) {
  120. //更新会员记录
  121. countArchives($channelid);
  122. //扣除积分
  123. $dsql->ExecuteNoneQuery("Update `#@__member` set scores=scores-{$cfg_sendarc_scores} WHERE mid='".$cfg_ml->M_ID."' And (scores-{$cfg_sendarc_scores}) > 0;");
  124. ShowMsg("成功删除一篇文档", $ENV_GOBACK_URL);
  125. exit();
  126. } else {
  127. ShowMsg("删除文档失败", $ENV_GOBACK_URL);
  128. exit();
  129. }
  130. exit();
  131. }
  132. //查看文档
  133. else if ($dopost == "viewArchives") {
  134. if ($type == "") {
  135. header("location:".$cfg_phpurl."/view.php?aid=".$aid);
  136. } else {
  137. header("location:/book/book.php?bid=".$aid);
  138. }
  139. }
  140. ?>