Example #1
0
 * 
 * @category   jieqicms
 * @package    article
 * @copyright  Copyright (c) Hangzhou Jieqi Network Technology Co.,Ltd. (http://www.jieqi.com)
 * @author     $Author: juny $
 * @version    $Id: reviews.php 332 2009-02-23 09:15:08Z juny $
 */
define('JIEQI_MODULE_NAME', 'article');
require_once '../../../global.php';
jieqi_getconfigs(JIEQI_MODULE_NAME, 'power');
jieqi_checkpower($jieqiPower['article']['manageallreview'], $jieqiUsersStatus, $jieqiUsersGroup, false, true);
jieqi_getconfigs(JIEQI_MODULE_NAME, 'configs');
$article_static_url = empty($jieqiConfigs['article']['staticurl']) ? $jieqiModules['article']['url'] : $jieqiConfigs['article']['staticurl'];
$article_dynamic_url = empty($jieqiConfigs['article']['dynamicurl']) ? $jieqiModules['article']['url'] : $jieqiConfigs['article']['dynamicurl'];
include_once $jieqiModules['article']['path'] . '/class/reviews.php';
$reviews_handler =& JieqiReviewsHandler::getInstance('JieqiReviewsHandler');
$query = JieqiQueryHandler::getInstance('JieqiQueryHandler');
//处理置顶、加精、删除
if (isset($_REQUEST['action']) && !empty($_REQUEST['rid'])) {
    $actreview = $reviews_handler->get($_REQUEST['rid']);
    if (is_object($actreview)) {
        $criteria = new CriteriaCompo(new Criteria('topicid', $_REQUEST['rid']));
        switch ($_REQUEST['action']) {
            case 'top':
                $reviews_handler->updatefields(array('istop' => 1), $criteria);
                break;
            case 'untop':
                $reviews_handler->updatefields(array('istop' => 0), $criteria);
                break;
            case 'good':
                $reviews_handler->updatefields(array('isgood' => 1), $criteria);
Example #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;
}