Exemple #1
0
        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'];
Exemple #2
0
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;
}