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;
$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';
} $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']); }
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; }