Example #1
0
     }
     if ($_REQUEST['vsize'] > 1) {
         $jieqiTpl->assign('vsize', $_REQUEST['vsize']);
     } else {
         $jieqiTpl->assign('vsize', 0);
     }
     $packrows = array();
     if ($_REQUEST['vsize'] <= 1) {
         $packxml = jieqi_uploadpath($jieqiConfigs['article']['umddir'], 'article') . jieqi_getsubdir($_REQUEST['id']) . '/' . $_REQUEST['id'] . '/' . $_REQUEST['id'] . '.xml';
     } else {
         $packxml = jieqi_uploadpath($jieqiConfigs['article']['umddir'], 'article') . jieqi_getsubdir($_REQUEST['id']) . '/' . $_REQUEST['id'] . '/' . $_REQUEST['id'] . '_' . $_REQUEST['vsize'] . '.xml';
     }
     //文件不存在或者过期自动生成
     if (!is_file($packxml) || filemtime($packxml) + 600 < $lastupdate) {
         include_once JIEQI_ROOT_PATH . '/modules/article/include/repack.php';
         article_repack($_REQUEST['id'], array('makeumd' => 1), 1);
     }
     if (is_file($packxml)) {
         include_once JIEQI_ROOT_PATH . '/lib/xml/xmlarray.php';
         $xmlarray = new XMLArray();
         if ($_REQUEST['vsize'] <= 1) {
             $packrows[1] = $xmlarray->xml2array(jieqi_readfile($packxml));
         } else {
             $packrows = $xmlarray->xml2array(jieqi_readfile($packxml));
         }
     }
     $jieqiTpl->assign_by_ref('packrows', $packrows);
     $jieqiTset['jieqi_contents_template'] = $jieqiModules['article']['path'] . '/templates/packumd.html';
     break;
 case 'txtchapter':
 default:
Example #2
0
    $criteria->setStart($startlimit);
    $criteria->setLimit(1);
    $article_handler->queryObjects($criteria);
    $article = $article_handler->getObject();
    if (is_object($article)) {
        $articlename = $article->getVar('articlename');
        include_once $jieqiModules['article']['path'] . '/include/repack.php';
        $ptypes = array();
        foreach ($_REQUEST['flagary'] as $v) {
            $ptypes[$v] = 1;
        }
        echo '                                                                                                                                                                                                                                                                ';
        echo sprintf($jieqiLang['article']['batch_repack_doing'], $articlename, date('Y-m-d H:i:s', $starttime), date('Y-m-d H:i:s', $stoptime), date('Y-m-d H:i:s', $article->getVar('lastupdate')), $article->getVar('articleid'));
        ob_flush();
        flush();
        article_repack($article->getVar('articleid'), $ptypes, 1);
        $showinfo = $jieqiLang['article']['repack_success_next'];
    } else {
        jieqi_msgwin(LANG_DO_SUCCESS, sprintf($jieqiLang['article']['batch_repack_success'], $article_static_url . '/admin/batchrepack.php'));
        exit;
    }
    $startlimit++;
    $url = $article_static_url . '/admin/batchrepack.php?action=packwithtime&starttime=' . $starttime . '&stoptime=' . $stoptime . '&startlimit=' . $startlimit;
    foreach ($_REQUEST['packflag'] as $k => $v) {
        $url .= '&packflag[' . $k . ']=' . $v;
    }
    echo sprintf($jieqiLang['article']['repack_next_html'], JIEQI_CHAR_SET, $showinfo, $url, $url);
} else {
    include_once JIEQI_ROOT_PATH . '/admin/header.php';
    $jieqiTpl->assign('article_static_url', $article_static_url);
    $jieqiTpl->assign('article_dynamic_url', $article_dynamic_url);
Example #3
0
$canedit = jieqi_checkpower($jieqiPower['article']['manageallarticle'], $jieqiUsersStatus, $jieqiUsersGroup, true);
if (!$canedit && !empty($_SESSION['jieqiUserId'])) {
    //除了斑竹,作者、发表者和代理人可以修改文章
    $tmpvar = $_SESSION['jieqiUserId'];
    if ($tmpvar > 0 && ($article->getVar('authorid') == $tmpvar || $article->getVar('posterid') == $tmpvar || $article->getVar('agentid') == $tmpvar)) {
        $canedit = true;
    }
}
if (!$canedit) {
    jieqi_printfail($jieqiLang['article']['noper_manage_article']);
}
@set_time_limit(3600);
@session_write_close();
if (!is_array($_REQUEST['packflag']) || count($_REQUEST['packflag']) < 1) {
    jieqi_printfail($jieqiLang['article']['need_repack_option']);
} else {
    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'] . '/include/repack.php';
    $ptypes = array();
    foreach ($_REQUEST['packflag'] as $v) {
        $ptypes[$v] = 1;
    }
    echo '                                                                                                                                                                                                                                                                ';
    echo $jieqiLang['article']['wait_to_execute'];
    ob_flush();
    flush();
    $ret = article_repack($_REQUEST['id'], $ptypes);
    jieqi_jumppage($article_static_url . '/articlemanage.php?id=' . $_REQUEST['id'], LANG_DO_SUCCESS, $jieqiLang['article']['article_repack_success']);
}
Example #4
0
         }
         */
         echo $jieqiLang['article']['chapter_collect_success'];
         ob_flush();
         flush();
         //生成html和zip和全文阅读
         $jieqiConfigs['article']['makehtml'] = $old_makehtml;
         if ($old_makehtml == 1) {
             echo $jieqiLang['article']['collect_create_readfile'];
             ob_flush();
             flush();
             include_once $GLOBALS['jieqiModules']['article']['path'] . '/include/repack.php';
             article_repack($_REQUEST['toid'], array('makeopf' => 1, 'makehtml' => $old_makehtml, 'makezip' => $jieqiConfigs['article']['makezip'], 'makefull' => $jieqiConfigs['article']['makefull'], 'maketxtfull' => $jieqiConfigs['article']['maketxtfull'], 'makeumd' => $jieqiConfigs['article']['makeumd'], 'makejar' => $jieqiConfigs['article']['makejar']), 1);
         } else {
             include_once $GLOBALS['jieqiModules']['article']['path'] . '/include/repack.php';
             article_repack($_REQUEST['toid'], array('makeopf' => 1, 'makehtml' => 0, 'makezip' => 0, 'makefull' => 0, 'maketxtfull' => 0, 'makeumd' => 0, 'makejar' => 0), 1);
         }
         //更新静态页
         if ($jieqiConfigs['article']['fakestatic'] > 0) {
             include_once $GLOBALS['jieqiModules']['article']['path'] . '/include/funstatic.php';
             article_update_static('articleedit', $_REQUEST['toid'], 0);
         }
         //采集完成
         $retflag = 1;
     } else {
         //没有需要更新的
         if ($retflag == 0) {
             $retflag = 2;
         }
     }
 }
Example #5
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;
}