jieqi_printfail(implode('<br />', $check_errors)); } } //检查是否有管理书评权力 $canedit = jieqi_checkpower($jieqiPower['article']['manageallreview'], $jieqiUsersStatus, $jieqiUsersGroup, true); if (!$canedit && !empty($_SESSION['jieqiUserId'])) { //除了斑竹,作者、发表者和代理人可以管理书评 $tmpvar = $_SESSION['jieqiUserId']; if ($tmpvar > 0 && ($topic->getVar('authorid') == $tmpvar || $topic->getVar('posterid') == $tmpvar || $topic->getVar('agentid') == $tmpvar)) { $canedit = true; } } //处理删除回复 if ($canedit && isset($_REQUEST['action']) && isset($_REQUEST['did']) && $_REQUEST['action'] == 'del' && is_numeric($_REQUEST['did'])) { include_once $jieqiModules['article']['path'] . '/class/replies.php'; $replies_handler =& JieqiRepliesHandler::getInstance('JieqiRepliesHandler'); //减少书评积分 if (!empty($jieqiConfigs['article']['scorereview'])) { $replyobj = $replies_handler->get(intval($_REQUEST['did'])); if (is_object($replyobj)) { include_once JIEQI_ROOT_PATH . '/class/users.php'; $users_handler =& JieqiUsersHandler::getInstance('JieqiUsersHandler'); $users_handler->changeScore(intval($replyobj->getVar('posterid', 'n')), $jieqiConfigs['article']['scorereview'], false); } } $replies_handler->delete(intval($_REQUEST['did'])); $addnewreply = -1; } //显示页面 include_once JIEQI_ROOT_PATH . '/header.php'; $article_static_url = empty($jieqiConfigs['article']['staticurl']) ? $jieqiModules['article']['url'] : $jieqiConfigs['article']['staticurl'];
function jieqi_article_delete($aid, $usescore = true) { global $jieqiModules; global $article_handler; global $chapter_handler; global $jieqiArticleuplog; global $jieqiConfigs; global $jieqi_file_postfix; $article = $article_handler->get($aid); if (!is_object($article)) { return false; } //删除文章 $article_handler->delete($aid); //更新最新文章 $jieqiArticleuplog['articleuptime'] = JIEQI_NOW_TIME; jieqi_setcachevars('articleuplog', 'jieqiArticleuplog', $jieqiArticleuplog, 'article'); //删除文本、html及zip $package = new JieqiPackage($aid); $package->delete(); //删除章节 //检查这篇文章章节发表人,扣积分用 if ($usescore) { $posterary = array(); if (!empty($jieqiConfigs['article']['scorechapter'])) { $criteria0 = new CriteriaCompo(new Criteria('articleid', $aid, '=')); $chapter_handler->queryObjects($criteria0); while ($chapterobj = $chapter_handler->getObject()) { $posterid = intval($chapterobj->getVar('posterid')); if (isset($posterary[$posterid])) { $posterary[$posterid] += $jieqiConfigs['article']['scorechapter']; } else { $posterary[$posterid] = $jieqiConfigs['article']['scorechapter']; } } unset($criteria0); } } //真正删除章节 $criteria = new CriteriaCompo(new Criteria('articleid', $aid, '=')); $chapter_handler->delete($criteria); //删除附件 include_once $jieqiModules['article']['path'] . '/class/articleattachs.php'; $attachs_handler =& JieqiArticleattachsHandler::getInstance('JieqiArticleattachsHandler'); $attachs_handler->delete($criteria); //删除书评 $criteria1 = new CriteriaCompo(new Criteria('ownerid', $aid, '=')); include_once $jieqiModules['article']['path'] . '/class/reviews.php'; $reviews_handler =& JieqiReviewsHandler::getInstance('JieqiReviewsHandler'); $reviews_handler->delete($criteria1); include_once $jieqiModules['article']['path'] . '/class/replies.php'; $replies_handler =& JieqiRepliesHandler::getInstance('JieqiRepliesHandler'); $replies_handler->delete($criteria1); /* include_once($jieqiModules['article']['path'].'/class/review.php'); $review_handler =& JieqiReviewHandler::getInstance('JieqiReviewHandler'); $review_handler->delete($criteria); */ //删除封面 $imagedir = jieqi_uploadpath($jieqiConfigs['article']['imagedir'], 'article') . jieqi_getsubdir($aid) . '/' . $aid; if (is_dir($imagedir)) { jieqi_delfolder($imagedir, true); } //记录删除日志 include_once $jieqiModules['article']['path'] . '/class/articlelog.php'; $articlelog_handler =& JieqiArticlelogHandler::getInstance('JieqiArticlelogHandler'); $newlog = $articlelog_handler->create(); $newlog->setVar('siteid', JIEQI_SITE_ID); $newlog->setVar('logtime', JIEQI_NOW_TIME); $newlog->setVar('userid', $_SESSION['jieqiUserId']); $newlog->setVar('username', $_SESSION['jieqiUserName']); $newlog->setVar('articleid', $article->getVar('articleid', 'n')); $newlog->setVar('articlename', $article->getVar('articlename', 'n')); $newlog->setVar('chapterid', 0); $newlog->setVar('chaptername', ''); $newlog->setVar('reason', ''); $newlog->setVar('chginfo', $jieqiLang['article']['delete_article']); $newlog->setVar('chglog', ''); $newlog->setVar('ischapter', '0'); $newlog->setVar('isdel', '1'); $newlog->setVar('databak', serialize($article->getVars())); $articlelog_handler->insert($newlog); //减少文章和章节积分 if ($usescore) { include_once JIEQI_ROOT_PATH . '/class/users.php'; $users_handler =& JieqiUsersHandler::getInstance('JieqiUsersHandler'); if (!empty($jieqiConfigs['article']['scorearticle'])) { $posterid = intval($article->getVar('posterid')); if (isset($posterary[$posterid])) { $posterary[$posterid] += $jieqiConfigs['article']['scorearticle']; } else { $posterary[$posterid] = $jieqiConfigs['article']['scorearticle']; } } foreach ($posterary as $pid => $pscore) { $users_handler->changeScore($pid, $pscore, false); } } return $article; }