Exemplo n.º 1
0
if (empty($_REQUEST['key'])) {
    exit('no key');
} elseif (defined('JIEQI_SITE_KEY') && $_REQUEST['key'] != JIEQI_SITE_KEY) {
    exit('error key');
} elseif ($_REQUEST['key'] != md5(JIEQI_DB_USER . JIEQI_DB_PASS . JIEQI_DB_NAME)) {
    exit('error key');
}
@set_time_limit(0);
@session_write_close();
jieqi_getcachevars('article', 'articleuplog');
if (!is_array($jieqiArticleuplog)) {
    $jieqiArticleuplog = array('articleuptime' => 0, 'chapteruptime' => 0);
}
$jieqiArticleuplog['articleuptime'] = JIEQI_NOW_TIME;
$jieqiArticleuplog['chapteruptime'] = JIEQI_NOW_TIME;
jieqi_setcachevars('articleuplog', 'jieqiArticleuplog', $jieqiArticleuplog, 'article');
//更新静态页
include_once $jieqiModules['article']['path'] . '/include/funstatic.php';
switch ($_REQUEST['action']) {
    case 'articlenew':
        article_make_sinfo($_REQUEST['id']);
        article_make_ptoplist('lastupdate', 1);
        article_make_psort(intval($_REQUEST['sortid']), 1);
        article_make_psort(0, 1);
        break;
    case 'articledel':
        article_delete_sinfo($_REQUEST['id']);
        break;
    case 'articleedit':
        article_make_sinfo($_REQUEST['id']);
        break;
Exemplo n.º 2
0
    $k = 0;
    while ($v = $article_handler->getObject()) {
        $articlerows[$k] = jieqi_article_vars($v);
        $k++;
    }
    $jieqiTpl->assign_by_ref('articlerows', $articlerows);
    //处理页面跳转
    include_once JIEQI_ROOT_PATH . '/lib/html/page.php';
    if (JIEQI_USE_CACHE) {
        $pagecacheid = $_REQUEST['sort'] . '_' . $_REQUEST['class'];
        jieqi_getcachevars('article', 'toplistlog');
        if (!is_array($jieqiToplistlog)) {
            $jieqiToplistlog = array();
        }
        if (!isset($jieqiToplistlog[$pagecacheid]) || JIEQI_NOW_TIME - $jieqiToplistlog[$pagecacheid]['time'] > JIEQI_CACHE_LIFETIME) {
            $jieqiToplistlog[$pagecacheid] = array('rows' => $article_handler->getCount($criteria), 'time' => JIEQI_NOW_TIME);
            jieqi_setcachevars('toplistlog', 'jieqiToplistlog', $jieqiToplistlog, 'article');
        }
        $toplistrows = $jieqiToplistlog[$pagecacheid]['rows'];
    } else {
        $toplistrows = $article_handler->getCount($criteria);
    }
    $jumppage = new JieqiPage($toplistrows, $jieqiConfigs['article']['toppagenum'], $_REQUEST['page']);
    if (!empty($jieqiConfigs['article']['faketoplist'])) {
        $jumppage->setlink(jieqi_geturl('article', 'toplist', 0, $_REQUEST['sort'], $_REQUEST['class']));
    }
    $jieqiTpl->assign('url_jumppage', $jumppage->whole_bar());
}
//$jieqiTset['jieqi_contents_template'] = $jieqiModules['article']['path'].'/templates/toplist.html';
//$jieqiTset['jieqi_contents_cacheid'] =  'toplist_'.$_REQUEST['sort'].'_'.$_REQUEST['class'].'_'.$_REQUEST['page'];
include_once JIEQI_ROOT_PATH . '/footer.php';
Exemplo n.º 3
0
    }
    $obook->setVar('chapters', $obook->getVar('chapters') + 1);
    $obook->setVar('size', $obook->getVar('size') + $chaptersize);
    if ($chaptertype == 1) {
        $obook->setVar('fullflag', 1);
    }
    $obook->setVar('lastupdate', JIEQI_NOW_TIME);
    $obook_handler->insert($obook);
    //更新最新文章
    if ($chaptertype != 2 && $obook->getVar('display') == '0') {
        jieqi_getcachevars('obook', 'obookuplog');
        if (!is_array($jieqiObookuplog)) {
            $jieqiObookuplog = array('obookuptime' => 0, 'chapteruptime' => 0);
        }
        $jieqiObookuplog['chapteruptime'] = JIEQI_NOW_TIME;
        jieqi_setcachevars('obookuplog', 'jieqiObookuplog', $jieqiObookuplog, 'obook');
    }
    if ($from_draft) {
        $draft_handler->delete($delid);
    }
    //增加章节积分
    jieqi_getconfigs(JIEQI_MODULE_NAME, 'configs');
    $obook_static_url = empty($jieqiConfigs['obook']['staticurl']) ? $jieqiModules['obook']['url'] : $jieqiConfigs['obook']['staticurl'];
    $obook_dynamic_url = empty($jieqiConfigs['obook']['dynamicurl']) ? $jieqiModules['obook']['url'] : $jieqiConfigs['obook']['dynamicurl'];
    if (!empty($jieqiConfigs['obook']['scorechapter'])) {
        include_once JIEQI_ROOT_PATH . '/class/users.php';
        $users_handler =& JieqiUsersHandler::getInstance('JieqiUsersHandler');
        $users_handler->changeScore($_SESSION['jieqiUserId'], $jieqiConfigs['obook']['scorechapter'], true);
    }
    jieqi_jumppage($obook_static_url . '/obookmanage.php?id=' . $_REQUEST['aid'], LANG_DO_SUCCESS, $jieqiLang['obook']['add_chapter_success']);
}
Exemplo n.º 4
0
function jieqi_article_delchapter($aid, $criteria, $usescore = false)
{
    global $jieqiModules;
    global $article_handler;
    global $chapter_handler;
    global $jieqiArticleuplog;
    global $jieqiConfigs;
    global $jieqi_file_postfix;
    if (!is_object($criteria)) {
        return false;
    }
    $criteria->add(new Criteria('articleid', intval($aid)));
    $article = $article_handler->get($aid);
    if (!is_object($article)) {
        return false;
    }
    //查询符合条件章节
    $posterary = array();
    $chapter_handler->queryObjects($criteria);
    $chapterary = array();
    $k = 0;
    $cids = '';
    $lastchapterid = intval($article->getVar('lastchapterid'));
    $lastvolumeid = intval($article->getVar('lastvolumeid'));
    $uplastchapter = false;
    //是否更新最新章节
    $uplastvolume = false;
    //是否更新最新章节
    $subsize = 0;
    while ($chapterobj = $chapter_handler->getObject()) {
        $chapterary[$k]['id'] = intval($chapterobj->getVar('chapterid'));
        if ($chapterary[$k]['id'] == $lastchapterid) {
            $uplastchapter = true;
        }
        if ($chapterary[$k]['id'] == $lastvolumeid) {
            $uplastvolume = true;
        }
        if ($cids != '') {
            $cids .= ',';
        }
        $cids .= $chapterary[$k]['id'];
        $chapterary[$k]['size'] = $chapterobj->getVar('size');
        $subsize += intval($chapterary[$k]['size']);
        $chapterary[$k]['attach'] = $chapterobj->getVar('attachment', 'n') == '' ? 0 : 1;
        $k++;
        if (!empty($jieqiConfigs['article']['scorechapter'])) {
            $posterid = intval($chapterobj->getVar('posterid'));
            if (isset($posterary[$posterid])) {
                $posterary[$posterid] += $jieqiConfigs['article']['scorechapter'];
            } else {
                $posterary[$posterid] = $jieqiConfigs['article']['scorechapter'];
            }
        }
    }
    //删除章节
    $chapter_handler->delete($criteria);
    //删除附件数据库
    if ($cids != '') {
        $criteria1 = new CriteriaCompo();
        $criteria1->add(new Criteria('chapterid', '(' . $cids . ')', 'IN'));
        include_once $jieqiModules['article']['path'] . '/class/articleattachs.php';
        $attachs_handler =& JieqiArticleattachsHandler::getInstance('JieqiArticleattachsHandler');
        $attachs_handler->delete($criteria1);
    }
    //删除文本文件、附件文件、html
    $txtdir = jieqi_uploadpath($jieqiConfigs['article']['txtdir'], 'article') . jieqi_getsubdir($aid) . '/' . $aid;
    $htmldir = jieqi_uploadpath($jieqiConfigs['article']['htmldir'], 'article') . jieqi_getsubdir($aid) . '/' . $aid;
    $attachdir = jieqi_uploadpath($jieqiConfigs['article']['attachdir'], 'article') . jieqi_getsubdir($aid) . '/' . $aid;
    foreach ($chapterary as $c) {
        if (is_file($txtdir . '/' . $c['id'] . $jieqi_file_postfix['txt'])) {
            jieqi_delfile($txtdir . '/' . $c['id'] . $jieqi_file_postfix['txt']);
        }
        if (is_file($htmldir . '/' . $c['id'] . $jieqiConfigs['article']['htmlfile'])) {
            jieqi_delfile($htmldir . '/' . $c['id'] . $jieqiConfigs['article']['htmlfile']);
        }
        if (is_dir($attachdir . '/' . $c['id'])) {
            jieqi_delfolder($attachdir . '/' . $c['id']);
        }
    }
    //重新生成网页和打包
    include_once $jieqiModules['article']['path'] . '/include/repack.php';
    $ptypes = array('makeopf' => 1, 'makehtml' => $jieqiConfigs['article']['makehtml'], 'makezip' => $jieqiConfigs['article']['makezip'], 'makefull' => $jieqiConfigs['article']['makefull'], 'maketxtfull' => $jieqiConfigs['article']['maketxtfull'], 'makeumd' => $jieqiConfigs['article']['makeumd'], 'makejar' => $jieqiConfigs['article']['makejar']);
    article_repack($aid, $ptypes, 0);
    //减少文章和章节积分
    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);
        }
    }
    //更新文章信息
    $newsize = $article->getVar('size') - $subsize;
    if ($newsize < 0) {
        $newsize = 0;
    }
    $article->setVar('size', $newsize);
    if ($uplastchapter) {
        $criteria = new CriteriaCompo(new Criteria('articleid', $article->getVar('articleid')));
        $criteria->add(new Criteria('chaptertype', 0, '='));
        $criteria->setSort('chapterorder');
        $criteria->setOrder('DESC');
        $criteria->setStart(0);
        $criteria->setLimit(1);
        $chapter_handler->queryObjects($criteria);
        $tmpchapter = $chapter_handler->getObject();
        if ($tmpchapter) {
            $article->setVar('lastchapter', $tmpchapter->getVar('chaptername', 'n'));
            $article->setVar('lastchapterid', $tmpchapter->getVar('chapterid', 'n'));
            unset($tmpchapter);
        } else {
            $article->setVar('lastchapter', '');
            $article->setVar('lastchapterid', 0);
        }
    }
    if ($uplastvolume) {
        $criteria = new CriteriaCompo(new Criteria('articleid', $article->getVar('articleid')));
        $criteria->add(new Criteria('chaptertype', 1, '='));
        $criteria->setSort('chapterorder');
        $criteria->setOrder('DESC');
        $criteria->setStart(0);
        $criteria->setLimit(1);
        $chapter_handler->queryObjects($criteria);
        $tmpchapter = $chapter_handler->getObject();
        if ($tmpchapter) {
            $article->setVar('lastvolume', $tmpchapter->getVar('chaptername', 'n'));
            $article->setVar('lastvolumeid', $tmpchapter->getVar('chapterid', 'n'));
            unset($tmpchapter);
        } else {
            $article->setVar('lastvolume', '');
            $article->setVar('lastvolumeid', 0);
        }
    }
    $article_handler->insert($article);
    //更新最新文章
    $jieqiArticleuplog['articleuptime'] = JIEQI_NOW_TIME;
    $jieqiArticleuplog['chapteruptime'] = JIEQI_NOW_TIME;
    jieqi_setcachevars('articleuplog', 'jieqiArticleuplog', $jieqiArticleuplog, 'article');
    return $article;
}