Exemplo n.º 1
0
/**
 * 返回用户头像图片url
 * 
 * @param      int         $uid 用户id
 * @param      int         $size 返回类型 'd'=>图片目录, 'l'=>大图(默认), 's'=>小图, 'i'=>图标, 'a'=>返回前面几个合并的数组
 * @param      int         $type 图片类型 -1 系统自动判断,0 无头像 1=>'.gif', 2=>'.jpg', 3=>'.jpeg', 4=>'.png', 5=>'.bmp'
 * @param      bool        $retdft 无头像是否返回默认头像地址,true-是(默认),false-否
 * @access     public
 * @return     mixed
 */
function jieqi_url_system_avatar($uid, $size = 'l', $type = -1, $retdft = true)
{
    global $jieqiConfigs;
    global $jieqi_image_type;
    if (!isset($jieqiConfigs['system'])) {
        jieqi_getconfigs('system', 'configs');
    }
    if (empty($jieqi_image_type)) {
        $jieqi_image_type = array(1 => '.gif', 2 => '.jpg', 3 => '.jpeg', 4 => '.png', 5 => '.bmp');
    }
    if (function_exists('gd_info') && $jieqiConfigs['system']['avatarcut']) {
        $avatar_cut = true;
    } else {
        $avatar_cut = false;
    }
    $base_avatar = '';
    if ($uid == 0 || $type == 0 || $type > 0 && !isset($jieqi_image_type[$type])) {
        if ($retdft) {
            $base_avatar = JIEQI_USER_URL . '/images';
            $type = 2;
            $uid = 'noavatar';
        } else {
            return false;
        }
    } elseif ($type < 0) {
        return JIEQI_USER_URL . '/avatar.php?uid=' . $uid . '&size=' . $size;
    }
    $prefix = $jieqi_image_type[$type];
    if (empty($base_avatar)) {
        $base_avatar = jieqi_uploadurl($jieqiConfigs['system']['avatardir'], $jieqiConfigs['system']['avatarurl'], 'system') . jieqi_getsubdir($uid);
    }
    switch ($size) {
        case 'd':
            return $base_avatar;
            break;
        case 'l':
            return $base_avatar . '/' . $uid . $prefix;
            break;
        case 's':
            return $avatar_cut ? $base_avatar . '/' . $uid . 's' . $prefix : $base_avatar . '/' . $uid . $prefix;
            break;
        case 'i':
            return $avatar_cut ? $base_avatar . '/' . $uid . 'i' . $prefix : $base_avatar . '/' . $uid . $prefix;
            break;
        case 'a':
        default:
            if ($avatar_cut) {
                return array('l' => $base_avatar . '/' . $uid . $prefix, 's' => $base_avatar . '/' . $uid . 's' . $prefix, 'i' => $base_avatar . '/' . $uid . 'i' . $prefix, 'd' => $base_avatar);
            } else {
                return array('l' => $base_avatar . '/' . $uid . $prefix, 's' => $base_avatar . '/' . $uid . $prefix, 'i' => $base_avatar . '/' . $uid . $prefix, 'd' => $base_avatar);
            }
            break;
    }
}
Exemplo n.º 2
0
 function pageurl($page)
 {
     if (strpos($this->linkhead, '<{$page') === false) {
         $url = $this->linkhead . $page;
     } else {
         $url = str_replace(array('<{$page|subdirectory}>', '<{$page}>'), array(jieqi_getsubdir($page), $page), $this->linkhead);
     }
     if ($this->useajax == 1) {
         $url = 'javascript:Ajax.Update(\'' . urldecode($url) . '\',' . $this->ajax_parm . ');';
     }
     return $url;
 }
Exemplo n.º 3
0
$_REQUEST['oid'] = intval($_REQUEST['oid']);
//更新书架的最后访问
if (!empty($_REQUEST['bid'])) {
    $_REQUEST['bid'] = intval($_REQUEST['bid']);
    include_once $jieqiModules['obook']['path'] . '/class/obookcase.php';
    $obookcase_handler =& JieqiObookcaseHandler::getInstance('JieqiObookcaseHandler');
    $obookcase_handler->db->query('UPDATE ' . jieqi_dbprefix('obook_obookcase') . ' SET lastvisit=' . JIEQI_NOW_TIME . ' WHERE ocaseid=' . $_REQUEST['bid']);
}
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($_REQUEST['cid'])) {
    header('Location: ' . $obook_static_url . '/reader.php?oid=' . $_REQUEST['oid'] . '&cid=' . $_REQUEST['cid']);
    exit;
} else {
    if (empty($indexflag)) {
        if ($jieqiConfigs['obook']['fakeinfo'] == 1) {
            if (!empty($jieqiConfigs['obook']['fakeprefix'])) {
                $tmpvar = '/' . $jieqiConfigs['obook']['fakeprefix'] . 'info';
            } else {
                $tmpvar = '/files/obook/info';
            }
            header('Location: ' . $obook_dynamic_url . $tmpvar . jieqi_getsubdir($_REQUEST['oid']) . '/' . $_REQUEST['oid'] . $jieqiConfigs['obook']['fakefile']);
        } else {
            header('Location: ' . $obook_dynamic_url . '/obookinfo.php?id=' . $_REQUEST['oid']);
        }
    } else {
        header('Location: ' . $obook_static_url . '/reader.php?oid=' . $_REQUEST['oid']);
    }
    exit;
}
Exemplo n.º 4
0
 function delete()
 {
     global $jieqiConfigs;
     global $jieqi_file_postfix;
     jieqi_delfolder($this->getDir('txtdir', true, false));
     if ($jieqiConfigs['article']['makehtml']) {
         jieqi_delfolder($this->getDir('htmldir', true, false));
     }
     if ($jieqiConfigs['article']['makezip']) {
         jieqi_delfile($this->getDir('zipdir', false, false) . '/' . $this->id . $jieqi_file_postfix['zip']);
     }
     if ($jieqiConfigs['article']['makefull']) {
         jieqi_delfile($this->getDir('fulldir', false, false) . '/' . $this->id . $jieqiConfigs['article']['htmlfile']);
     }
     if ($jieqiConfigs['article']['maketxtfull']) {
         jieqi_delfile($this->getDir('txtfulldir', false, false) . '/' . $this->id . $jieqi_file_postfix['txt']);
     }
     //if($jieqiConfigs['article']['makeumd']) jieqi_delfile($this->getDir('umddir', false, false).'/'.$this->id.$jieqi_file_postfix['umd']);
     if ($jieqiConfigs['article']['makeumd']) {
         jieqi_delfolder($this->getDir('umddir', true, false));
     }
     if ($jieqiConfigs['article']['makejar']) {
         jieqi_delfolder($this->getDir('jardir', true, false));
         jieqi_delfolder($this->getDir('jardir', true, false));
     }
     //删除附件
     $attachdir = jieqi_uploadpath($jieqiConfigs['article']['attachdir'], 'article') . jieqi_getsubdir($this->id) . '/' . $this->id;
     if (is_dir($attachdir)) {
         jieqi_delfolder($attachdir);
     }
 }
Exemplo n.º 5
0
            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:
        $jieqiTpl->assign('type', 'txtchapter');
        $jieqiConfigs['article']['maketxt'] = intval($jieqiConfigs['article']['maketxt']);
        if (empty($jieqiConfigs['article']['maketxt'])) {
            jieqi_printfail($jieqiLang['article']['down_file_notopen']);
        }
        $packsize = array();
        $jieqiTpl->assign_by_ref('packsize', $packsize);
        $jieqiTpl->assign('vsize', 0);
        foreach ($opf_chapters as $k => $v) {
            $path = jieqi_uploadpath($jieqiConfigs['article']['txtdir'], 'article') . jieqi_getsubdir($_REQUEST['id']) . '/' . $_REQUEST['id'] . '/' . $v['chapterid'] . $jieqi_file_postfix['txt'];
            $opf_chapters[$k]['maketime'] = intval(@filemtime($path));
            $opf_chapters[$k]['filesize'] = intval(@filesize($path));
        }
        $jieqiTpl->assign_by_ref('packrows', $opf_chapters);
        $jieqiTset['jieqi_contents_template'] = $jieqiModules['article']['path'] . '/templates/packtxtchapter.html';
        break;
}
include_once JIEQI_ROOT_PATH . '/footer.php';
Exemplo n.º 6
0
$criteria->setSort('lastupdate');
$criteria->setOrder('DESC');
$criteria->setLimit($jieqiConfigs['obook']['pagenum']);
$criteria->setStart(($_REQUEST['page'] - 1) * $jieqiConfigs['obook']['pagenum']);
$obook_handler->queryObjects($criteria);
$obookrows = array();
$k = 0;
while ($v = $obook_handler->getObject()) {
    $obookrows[$k]['checkid'] = $k;
    //显示序号
    $obookrows[$k]['obookid'] = $v->getVar('obookid');
    //文章序号
    $obookrows[$k]['obookname'] = $v->getVar('obookname');
    //文章名称
    if ($jieqiConfigs['obook']['fakeinfo'] == 1) {
        $obookrows[$k]['obooksubdir'] = jieqi_getsubdir($v->getVar('obookid'));
        //子目录
        if (!empty($jieqiConfigs['obook']['fakeprefix'])) {
            $tmpvar = '/' . $jieqiConfigs['obook']['fakeprefix'] . 'info';
        } else {
            $tmpvar = '/files/obook/info';
        }
        $obookrows[$k]['url_obookinfo'] = $obook_dynamic_url . $tmpvar . $obookrows[$k]['obooksubdir'] . '/' . $v->getVar('obookid') . $jieqiConfigs['obook']['fakefile'];
        //子目录
    } else {
        $obookrows[$k]['obooksubdir'] = '';
        $obookrows[$k]['url_obookinfo'] = $obook_dynamic_url . '/obookinfo.php?id=' . $v->getVar('obookid');
        //子目录
    }
    if ($v->getVar('lastchapter') == '') {
        $obookrows[$k]['lastchapterid'] = 0;
Exemplo n.º 7
0
/**
 * 获取缓存变量
 * 
 * @param      string     $module 模块名
 * @param      string     $fname 文件名,不带后缀
 * @param      string     $vname 提取的变量名
 * @param      int        $cacheid 缓存id
 * @access     public
 * @return     bool
 */
function jieqi_getcachevars($module, $fname, $vname = '', $cacheid = 0)
{
    global $jieqiModules;
    global $jieqiCache;
    if (empty($module) || empty($fname)) {
        return false;
    }
    if ($vname !== false) {
        if ($vname == '') {
            $vname = 'jieqi' . ucfirst($fname);
        }
        global ${$vname};
    }
    $cachefile = JIEQI_CACHE_PATH . '/cachevars';
    if (isset($jieqiModules[$module])) {
        $cachefile .= '/' . $module;
    }
    if (empty($cacheid)) {
        $cachefile .= '/' . $fname . '.php';
    } else {
        $cacheid = intval($cacheid);
        $cachefile .= '/' . $fname . jieqi_getsubdir($cacheid) . '/' . $cacheid . '.php';
    }
    if (is_a($jieqiCache, 'JieqiCacheMemcached')) {
        ${$vname} = $jieqiCache->get($cachefile);
    } else {
        $cachefile = @realpath($cachefile);
        if (is_file($cachefile) && preg_match('/\\.php$/i', $cachefile)) {
            include_once $cachefile;
        }
    }
}
Exemplo n.º 8
0
 function setContent($isreturn = false)
 {
     global $jieqiTpl;
     global $jieqiConfigs;
     global $jieqiSort;
     $obookrows = array();
     if (count($this->exevars) > 0) {
         include_once $GLOBALS['jieqiModules']['obook']['path'] . '/class/obook.php';
         jieqi_getconfigs('obook', 'configs');
         $obook_static_url = empty($jieqiConfigs['obook']['staticurl']) ? $GLOBALS['jieqiModules']['obook']['url'] : $jieqiConfigs['obook']['staticurl'];
         $obook_dynamic_url = empty($jieqiConfigs['obook']['dynamicurl']) ? $GLOBALS['jieqiModules']['obook']['url'] : $jieqiConfigs['obook']['dynamicurl'];
         $jieqiTpl->assign('obook_static_url', $obook_static_url);
         $jieqiTpl->assign('obook_dynamic_url', $obook_dynamic_url);
         $tmpvar = explode('-', date('Y-m-d', JIEQI_NOW_TIME));
         $daystart = mktime(0, 0, 0, (int) $tmpvar[1], (int) $tmpvar[2], (int) $tmpvar[0]);
         $monthstart = mktime(0, 0, 0, (int) $tmpvar[1], 1, (int) $tmpvar[0]);
         $tmpvar = date('w', JIEQI_NOW_TIME);
         if ($tmpvar == 0) {
             $tmpvar = 7;
         }
         //星期天是0,国人习惯作为作为一星期的最后一天
         $weekstart = $daystart;
         if ($tmpvar > 1) {
             $weekstart -= ($tmpvar - 1) * 86400;
         }
         $obook_handler =& JieqiObookHandler::getInstance('JieqiObookHandler');
         $criteria = new CriteriaCompo();
         $criteria->add(new Criteria('obookid', '(0,' . implode(',', $this->exevars) . ')', 'IN'));
         $criteria->add(new Criteria('display', 0, '='));
         $criteria->setLimit(100);
         $criteria->setStart(0);
         $obook_handler->queryObjects($criteria);
         jieqi_getconfigs('obook', 'sort');
         $k = 0;
         while ($v = $obook_handler->getObject()) {
             $obookrows[$k]['order'] = $k + 1;
             $obookrows[$k]['obookid'] = $v->getVar('obookid');
             //文章序号
             $obookrows[$k]['obookname'] = $v->getVar('obookname');
             //文章名称
             $obookrows[$k]['articleid'] = $v->getVar('articleid');
             //文章序号
             if ($jieqiConfigs['obook']['fakeinfo'] == 1) {
                 $obookrows[$k]['obooksubdir'] = jieqi_getsubdir($v->getVar('obookid'));
                 //子目录
                 if (!empty($jieqiConfigs['obook']['fakeprefix'])) {
                     $tmpvar = '/' . $jieqiConfigs['obook']['fakeprefix'] . 'info';
                 } else {
                     $tmpvar = '/files/obook/info';
                 }
                 $obookrows[$k]['url_obookinfo'] = $obook_dynamic_url . $tmpvar . $obookrows[$k]['obooksubdir'] . '/' . $v->getVar('obookid') . $jieqiConfigs['obook']['fakefile'];
                 //子目录
             } else {
                 $obookrows[$k]['obooksubdir'] = '';
                 $obookrows[$k]['url_obookinfo'] = $obook_dynamic_url . '/obookinfo.php?id=' . $v->getVar('obookid');
                 //子目录
             }
             if ($v->getVar('lastchapter') == '') {
                 $obookrows[$k]['lastchapterid'] = 0;
                 //章节序号
                 $obookrows[$k]['lastchapter'] = '';
                 //章节名称
                 $obookrows[$k]['url_lastchapter'] = '';
                 //章节地址
             } else {
                 $obookrows[$k]['lastchapterid'] = $v->getVar('lastchapterid');
                 $obookrows[$k]['lastchapter'] = $v->getVar('lastchapter');
                 $obookrows[$k]['url_lastchapter'] = $obook_static_url . '/reader.php?aid=' . $v->getVar('obookid') . '&cid=' . $v->getVar('lastchapterid');
             }
             //公众章节
             if ($obookrows[$k]['articleid'] > 0) {
                 if ($jieqiConfigs['article']['makehtml'] == 0 || JIEQI_CHAR_SET != JIEQI_SYSTEM_CHARSET) {
                     $obookrows[$k]['url_read'] = $article_static_url . '/reader.php?aid=' . $obookrows[$k]['articleid'];
                 } else {
                     $obookrows[$k]['url_read'] = jieqi_uploadurl($jieqiConfigs['article']['htmldir'], $jieqiConfigs['article']['htmlurl'], 'article', $article_static_url) . jieqi_getsubdir($obookrows[$k]['articleid']) . '/' . $obookrows[$k]['articleid'] . '/index' . $jieqiConfigs['article']['htmlfile'];
                 }
             }
             $obookrows[$k]['lastvolume'] = $v->getVar('lastvolumeid');
             //分卷序号
             $obookrows[$k]['lastvolume'] = $v->getVar('lastvolume');
             //分卷名称
             $obookrows[$k]['authorid'] = $v->getVar('authorid');
             //作者
             $obookrows[$k]['author'] = $v->getVar('author');
             $obookrows[$k]['posterid'] = $v->getVar('posterid');
             //发表者
             $obookrows[$k]['poster'] = $v->getVar('poster');
             $obookrows[$k]['agentid'] = $v->getVar('agentid');
             //代理者
             $obookrows[$k]['agent'] = $v->getVar('agent');
             $obookrows[$k]['sortid'] = $v->getVar('sortid');
             //类别序号
             $obookrows[$k]['sort'] = $jieqiSort['obook'][$v->getVar('sortid')]['shortname'];
             //类别
             $obookrows[$k]['size'] = $v->getVar('size');
             $obookrows[$k]['size_k'] = ceil($v->getVar('size') / 1024);
             $obookrows[$k]['size_c'] = ceil($v->getVar('size') / 2);
             $obookrows[$k]['daysale'] = $v->getVar('daysale');
             $obookrows[$k]['weeksale'] = $v->getVar('weeksale');
             $obookrows[$k]['monthsale'] = $v->getVar('monthsale');
             $obookrows[$k]['sumegold'] = $v->getVar('sumegold');
             $obookrows[$k]['sumesilver'] = $v->getVar('sumesilver');
             $obookrows[$k]['sumemoney'] = $obookrows[$k]['sumegold'] + $obookrows[$k]['sumesilver'];
             $obookrows[$k]['payprice'] = $v->getVar('payprice');
             $obookrows[$k]['allsale'] = $v->getVar('allsale');
             $obookrows[$k]['lastupdate'] = date('y-m-d', $v->getVar('lastupdate'));
             //最后更新日期
             $obookrows[$k]['update'] = date('m-d', $v->getVar('lastupdate'));
             //最后更新日期
             $obookrows[$k]['display'] = $v->getVar('display');
             if ($v->getVar('imgflag') > 0) {
                 $obookrows[$k]['url_image'] = jieqi_uploadurl($jieqiConfigs['obook']['imagedir'], $jieqiConfigs['obook']['imageurl'], 'obook', $obook_static_url) . jieqi_getsubdir($v->getVar('obookid')) . '/' . $v->getVar('obookid') . '/' . $v->getVar('obookid') . 's' . $jieqiConfigs['obook']['imagetype'];
             } else {
                 $obookrows[$k]['url_image'] = $obook_static_url . '/images/nocover.jpg';
             }
             $k++;
         }
     }
     $jieqiTpl->assign_by_ref('obookrows', $obookrows);
 }
Exemplo n.º 9
0
        if (!empty($jieqiObookdata['ochapter']['0']['ochapterid'])) {
            $jumpurl = $obook_static_url . '/reader.php?aid=' . intval($jieqiObookdata['obook']['obookid']) . '&cid=' . intval($jieqiObookdata['ochapter']['0']['ochapterid']);
        } else {
            $jumpurl = $obook_static_url . '/obookread.php?oid=' . intval($jieqiObookdata['obook']['obookid']) . '&page=index';
        }
        $hasobook = 1;
    }
}
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'];
if (empty($jumpurl)) {
    if ($_REQUEST['dynamic']) {
        $jumpurl = $article_static_url . '/reader.php?aid=' . $_REQUEST['aid'];
    } else {
        $jumpurl = jieqi_uploadurl($jieqiConfigs['article']['htmldir'], $jieqiConfigs['article']['htmlurl'], 'article', $article_static_url) . jieqi_getsubdir($_REQUEST['aid']) . '/' . $_REQUEST['aid'] . '/index' . $jieqiConfigs['article']['htmlfile'];
    }
}
if (file_exists($jieqiModules['article']['path'] . '/templates/lastchapter.html')) {
    include_once JIEQI_ROOT_PATH . '/header.php';
    $jieqiTpl->assign('articleid', $_REQUEST['aid']);
    $jieqiTpl->assign('dynamic', $_REQUEST['dynamic']);
    $jieqiTpl->assign('hasebook', $hasebook);
    $jieqiTpl->assign('hasobook', $hasobook);
    $jieqiTpl->assign('hastbook', $hastbook);
    $jieqiTpl->assign('article_static_url', $article_static_url);
    $jieqiTpl->assign('article_dynamic_url', $article_dynamic_url);
    $jieqiTpl->assign('jumpurl', $jumpurl);
    $jieqiTset['jieqi_page_template'] = $jieqiModules['article']['path'] . '/templates/lastchapter.html';
    include_once JIEQI_ROOT_PATH . '/footer.php';
} else {
Exemplo n.º 10
0
function replace_path($articleid, $dirtype, $filetype, $idisdir = true)
{
    global $showinfo;
    global $fromary;
    global $toary;
    global $jieqiLang;
    $dirname = jieqi_uploadpath($dirtype, 'article') . jieqi_getsubdir($articleid);
    if ($idisdir) {
        $dirname .= '/' . $articleid;
    } else {
        $dirname .= '/' . $articleid . $filetype;
    }
    if (file_exists($dirname)) {
        echo '                                                                                                                                                                                                                                                                ';
        echo sprintf($jieqiLang['article']['replace_id_doing'], $articleid);
        ob_flush();
        flush();
        if (is_dir($dirname)) {
            $handle = @opendir($dirname);
            while ($file = @readdir($handle)) {
                if ($file != '.' && $file != '..') {
                    $filename = $dirname . '/' . $file;
                    if (is_file($filename) && is_writable($filename) && substr($filename, 0 - strlen($filetype)) == $filetype) {
                        if (empty($_REQUEST['filesize']) || $_REQUEST['filesize'] == 'sizeunlimit' || $_REQUEST['filesize'] == 'sizeless' && filesize($filename) <= 1024 || $_REQUEST['filesize'] == 'sizemore' && filesize($filename) >= 1024) {
                            $filedata = jieqi_readfile($filename);
                            if ($_REQUEST['replacetype'] == 1) {
                                $filedata = str_replace($fromary, $toary, $filedata);
                            } else {
                                $filedata = str_replace($_REQUEST['txtsearch'], $_REQUEST['txtreplace'], $filedata);
                            }
                            jieqi_writefile($filename, $filedata);
                        }
                    }
                }
            }
        } elseif (is_file($dirname)) {
            $filename = $dirname;
            if (is_file($filename) && is_writable($filename) && substr($filename, 0 - strlen($filetype)) == $filetype) {
                if (empty($_REQUEST['filesize']) || $_REQUEST['filesize'] == 'sizeunlimit' || $_REQUEST['filesize'] == 'sizeless' && filesize($filename) <= 1024 || $_REQUEST['filesize'] == 'sizemore' && filesize($filename) >= 1024) {
                    $filedata = jieqi_readfile($filename);
                    if ($_REQUEST['replacetype'] == 1) {
                        $filedata = str_replace($fromary, $toary, $filedata);
                    } else {
                        $filedata = str_replace($_REQUEST['txtsearch'], $_REQUEST['txtreplace'], $filedata);
                    }
                    jieqi_writefile($filename, $filedata);
                }
            }
        }
        $showinfo = $jieqiLang['article']['replace_success_next'];
    } else {
        $showinfo = $jieqiLang['article']['replace_noid_next'];
    }
}
Exemplo n.º 11
0
/**
 * 显示首字母分类列表url
 * 
 * @param      int        $page 页码
 * @param      string     $initial 首字母
 * @access     public
 * @return     string
 */
function jieqi_url_article_initial($page = 1, $initial = '0')
{
    global $jieqiConfigs;
    global $article_dynamic_url;
    global $article_static_url;
    if (!empty($page)) {
        $page = intval($page);
        if ($page < 1) {
            $page = 1;
        }
    }
    $initial = strtoupper($initial);
    if ($initial == '~') {
        $initial = '0';
    }
    $initials = array('1', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '0');
    if (!in_array($initial, $initials)) {
        $initial = 'A';
    }
    if (!empty($jieqiConfigs['article']['fakeinitial'])) {
        if (is_numeric($jieqiConfigs['article']['fakeinitial'])) {
            if (!empty($jieqiConfigs['article']['fakeprefix'])) {
                $jieqiConfigs['article']['fakeinitial'] = '/' . $jieqiConfigs['article']['fakeprefix'] . 'initial<{$initial}><{$page|subdirectory}>/<{$page}>' . $jieqiConfigs['article']['fakefile'];
            } else {
                $jieqiConfigs['article']['fakeinitial'] = '/files/article/initial<{$initial}><{$page|subdirectory}>/<{$page}>' . $jieqiConfigs['article']['fakefile'];
            }
        }
        $repfrom = array('<{$jieqi_url}>', '<{$initial}>');
        $repto = array(JIEQI_URL, $initial);
        if (!empty($page)) {
            $repfrom[] = '<{$page|subdirectory}>';
            $repfrom[] = '<{$page}>';
            $repto[] = jieqi_getsubdir($page);
            $repto[] = $page;
        }
        $ret = trim(str_replace($repfrom, $repto, $jieqiConfigs['article']['fakeinitial']));
        if (substr($ret, 0, 4) != 'http') {
            $ret = JIEQI_URL . $ret;
        }
        return $ret;
    } else {
        return $article_dynamic_url . '/articlelist.php?initial=' . $initial;
    }
}
Exemplo n.º 12
0
            $obookinfo['chapters'] = $obook->getVar('chapters', 'n');
            $obookinfo['size'] = $obook->getVar('size', 'n');
            $obookinfo['authorid'] = $obook->getVar('authorid', 'n');
            $obookinfo['author'] = $obook->getVar('author', 'n');
            $obookinfo['publishid'] = $obook->getVar('publishid', 'n');
            $obookinfo['saleprice'] = $obook->getVar('saleprice', 'n');
            $obookinfo['display'] = $obook->getVar('display', 'n');
            $obookdata['obook'] =& $obookinfo;
            $obookdata['ochapter'] =& $chapterary;
            $varstring = "<?php\n" . jieqi_extractvars('jieqiObookdata', $obookdata) . "\n?>";
            jieqi_writefile($linkfile, $varstring);
            $updatearticle = true;
        }
    } else {
        //没关联文章,如果原来有关联的话删除
        $linkfile = JIEQI_ROOT_PATH . '/files/obook/articlelink' . jieqi_getsubdir($articleid) . '/' . $articleid . '.php';
        if (file_exists($linkfile)) {
            jieqi_delfile($linkfile);
            $updatearticle = true;
        }
    }
    //重新生成文章的目录页(暂时用js调用)
    /*
    if($updatearticle && file_exists($jieqiModules['obook']['path'].'/class/package.php')){
    	include_once($jieqiModules['obook']['path'].'/class/package.php');
    	$package=new JieqiPackage($articleid);
    	$package->loadOPF();
    	$package->makeIndex();
    }
    */
}
Exemplo n.º 13
0
/**
 * 传入小说实例对象,返回适合模板赋值的小说信息数组
 * 
 * @param      object      $article 论坛实例
 * @access     public
 * @return     array
 */
function jieqi_article_vars($article)
{
    global $jieqiModules;
    global $jieqiSort;
    global $jieqiConfigs;
    global $jieqiLang;
    global $article_static_url;
    global $article_dynamic_url;
    global $jieqiOption;
    if (!isset($jieqiSort['article'])) {
        jieqi_getconfigs('article', 'sort');
    }
    if (!isset($jieqiConfigs['article'])) {
        jieqi_getconfigs('article', 'configs');
    }
    if (!isset($jieqiLang['article'])) {
        jieqi_loadlang('list', JIEQI_MODULE_NAME);
    }
    if (!isset($article_static_url)) {
        $article_static_url = empty($jieqiConfigs['article']['staticurl']) ? $jieqiModules['article']['url'] : $jieqiConfigs['article']['staticurl'];
    }
    if (!isset($article_dynamic_url)) {
        $article_dynamic_url = empty($jieqiConfigs['article']['dynamicurl']) ? $jieqiModules['article']['url'] : $jieqiConfigs['article']['dynamicurl'];
    }
    $ret = array();
    $ret['articleid'] = $article->getVar('articleid');
    //文章序号
    $ret['articlename'] = $article->getVar('articlename');
    //文章名称
    $ret['intro'] = htmlspecialchars(jieqi_substr($article->getVar('intro', 'n'), 0, 250));
    $ret['articlesubdir'] = jieqi_getsubdir($article->getVar('articleid'));
    //子目录
    $ret['url_articleinfo'] = jieqi_geturl('article', 'article', $article->getVar('articleid'), 'info');
    if ($article->getVar('lastchapter') == '') {
        $ret['lastchapterid'] = 0;
        //章节序号
        $ret['lastchapter'] = '';
        //章节名称
        $ret['url_lastchapter'] = '';
        //章节地址
    } else {
        $ret['lastchapterid'] = $article->getVar('lastchapterid');
        $ret['lastchapter'] = $article->getVar('lastchapter');
        $ret['url_articleindex'] = jieqi_geturl('article', 'article', $article->getVar('articleid'), 'index');
        $ret['url_lastchapter'] = jieqi_geturl('article', 'chapter', $article->getVar('lastchapterid'), $article->getVar('articleid'));
    }
    $ret['url_index'] = $ret['url_articleindex'];
    $ret['lastvolumeid'] = $article->getVar('lastvolumeid');
    //分卷序号
    $ret['lastvolume'] = $article->getVar('lastvolume');
    //分卷名称
    $ret['authorid'] = $article->getVar('authorid');
    //作者
    $ret['author'] = $article->getVar('author');
    $ret['posterid'] = $article->getVar('posterid');
    //发表者
    $ret['poster'] = $article->getVar('poster');
    $ret['agentid'] = $article->getVar('agentid');
    //代理者
    $ret['agent'] = $article->getVar('agent');
    $ret['sortid'] = $article->getVar('sortid');
    //类别序号
    if (isset($jieqiSort['article'][$ret['sortid']]['caption'])) {
        $ret['sort'] = $jieqiSort['article'][$ret['sortid']]['caption'];
    } else {
        $ret['sort'] = '';
    }
    $ret['typeid'] = $article->getVar('typeid');
    //字类别序号
    if ($ret['typeid'] > 0 && isset($jieqiSort['article'][$ret['sortid']]['types'][$ret['typeid']])) {
        $ret['type'] = $jieqiSort['article'][$ret['sortid']]['types'][$ret['typeid']];
    } else {
        $ret['type'] = '';
    }
    if (empty($ret['type'])) {
        $ret['type'] = $ret['sort'];
    }
    $ret['size'] = $article->getVar('size');
    $ret['size_k'] = ceil($article->getVar('size') / 1024);
    $ret['size_c'] = ceil($article->getVar('size') / 2);
    $ret['dayvisit'] = $article->getVar('dayvisit');
    $ret['weekvisit'] = $article->getVar('weekvisit');
    $ret['monthvisit'] = $article->getVar('monthvisit');
    $ret['allvisit'] = $article->getVar('allvisit');
    $ret['dayvote'] = $article->getVar('dayvote');
    $ret['weekvote'] = $article->getVar('weekvote');
    $ret['monthvote'] = $article->getVar('monthvote');
    $ret['allvote'] = $article->getVar('allvote');
    $ret['goodnum'] = $article->getVar('goodnum');
    $ret['badnum'] = $article->getVar('badnum');
    $ret['display'] = $article->getVar('display');
    $ret['lastupdate'] = date('y-m-d', $article->getVar('lastupdate'));
    $ret['update'] = date('m-d', $article->getVar('lastupdate'));
    $ret['postdate'] = date('m-d', $article->getVar('postdate'));
    $ret['uptime'] = $article->getVar('lastupdate');
    $ret['posttime'] = $article->getVar('postdate');
    $ret['lastvote'] = $article->getVar('lastvote');
    $ret['isfull'] = $article->getVar('fullflag');
    if (!isset($jieqiOption)) {
        jieqi_getconfigs('article', 'option', 'jieqiOption');
    }
    $tmpvar = $article->getVar('fullflag');
    if (isset($jieqiOption['article']['fullflag']['items'][$tmpvar])) {
        $ret['fullflag'] = $jieqiOption['article']['fullflag']['items'][$tmpvar];
    } else {
        $ret['fullflag'] = $jieqiOption['article']['fullflag']['items'][$jieqiOption['article']['fullflag']['default']];
    }
    $tmpvar = $article->getVar('permission');
    if (isset($jieqiOption['article']['permission']['items'][$tmpvar])) {
        $ret['permission'] = $jieqiOption['article']['permission']['items'][$tmpvar];
    } else {
        $ret['permission'] = $jieqiOption['article']['permission']['items'][$jieqiOption['article']['permission']['default']];
    }
    $tmpvar = $article->getVar('firstflag');
    if (isset($jieqiOption['article']['firstflag']['items'][$tmpvar])) {
        $ret['firstflag'] = $jieqiOption['article']['firstflag']['items'][$tmpvar];
    } else {
        $ret['firstflag'] = $jieqiOption['article']['firstflag']['items'][$jieqiOption['article']['firstflag']['default']];
    }
    $ret['imgflag'] = $article->getVar('imgflag', 'n');
    $ret['url_image'] = jieqi_geturl('article', 'cover', $article->getVar('articleid'), 's', $article->getVar('imgflag', 'n'));
    return $ret;
}
Exemplo n.º 14
0
     //章节序号
     $obookrows[$k]['lastchapter'] = '';
     //章节名称
     $obookrows[$k]['url_lastchapter'] = '';
     //章节地址
 } else {
     $obookrows[$k]['lastchapterid'] = $v->getVar('lastchapterid');
     $obookrows[$k]['lastchapter'] = $v->getVar('lastchapter');
     $obookrows[$k]['url_lastchapter'] = $obook_static_url . '/reader.php?aid=' . $v->getVar('obookid') . '&cid=' . $v->getVar('lastchapterid');
 }
 //公众章节
 if ($obookrows[$k]['articleid'] > 0) {
     if ($jieqiConfigs['article']['makehtml'] == 0 || JIEQI_CHAR_SET != JIEQI_SYSTEM_CHARSET) {
         $obookrows[$k]['url_read'] = $article_static_url . '/reader.php?aid=' . $obookrows[$k]['articleid'];
     } else {
         $obookrows[$k]['url_read'] = jieqi_uploadurl($jieqiConfigs['article']['htmldir'], $jieqiConfigs['article']['htmlurl'], 'article', $article_static_url) . jieqi_getsubdir($obookrows[$k]['articleid']) . '/' . $obookrows[$k]['articleid'] . '/index' . $jieqiConfigs['article']['htmlfile'];
     }
 }
 $obookrows[$k]['lastvolume'] = $v->getVar('lastvolumeid');
 //分卷序号
 $obookrows[$k]['lastvolume'] = $v->getVar('lastvolume');
 //分卷名称
 $obookrows[$k]['authorid'] = $v->getVar('authorid');
 //作者
 $obookrows[$k]['author'] = $v->getVar('author');
 $obookrows[$k]['posterid'] = $v->getVar('posterid');
 //发表者
 $obookrows[$k]['poster'] = $v->getVar('poster');
 $obookrows[$k]['agentid'] = $v->getVar('agentid');
 //代理者
 $obookrows[$k]['agent'] = $v->getVar('agent');
Exemplo n.º 15
0
 $newObook->setVar('imgflag', $imgflag);
 if (jieqi_checkpower($jieqiPower['obook']['needcheck'], $jieqiUsersStatus, $jieqiUsersGroup, true)) {
     $newObook->setVar('display', 0);
 } else {
     $newObook->setVar('display', 1);
     //待审文章
 }
 if (!$obook_handler->insert($newObook)) {
     jieqi_printfail($jieqiLang['obook']['add_obook_failure']);
 } else {
     $id = $newObook->getVar('obookid');
     $imagedir = jieqi_uploadpath($jieqiConfigs['obook']['imagedir'], 'obook');
     if (!file_exists($imagedir)) {
         jieqi_createdir($imagedir);
     }
     $imagedir .= jieqi_getsubdir($id);
     if (!file_exists($imagedir)) {
         jieqi_createdir($imagedir);
     }
     $imagedir .= '/' . $id;
     if (!file_exists($imagedir)) {
         jieqi_createdir($imagedir);
     }
     //保存小图
     if (!empty($_FILES['obookspic']['name'])) {
         if (strstr(strtolower($_FILES['obookspic']['name']), strtolower($jieqiConfigs['obook']['imagetype'])) == strtolower($jieqiConfigs['obook']['imagetype'])) {
             jieqi_copyfile($_FILES['obookspic']['tmp_name'], $imagedir . '/' . $id . 's' . $jieqiConfigs['obook']['imagetype'], 0777, true);
         }
     }
     //保存大图
     if (!empty($_FILES['obooklpic']['name'])) {
Exemplo n.º 16
0
 if (!empty($_FILES['obookspic']['name'])) {
     $imgflag = $imgflag | 1;
 }
 if (!empty($_FILES['obooklpic']['name'])) {
     $imgflag = $imgflag | 2;
 }
 $obook->setVar('imgflag', $imgflag);
 if (!$obook_handler->insert($obook)) {
     jieqi_printfail($jieqiLang['obook']['edit_obook_failure']);
 } else {
     $_REQUEST['id'] = $obook->getVar('obookid');
     $imagedir = jieqi_uploadpath($jieqiConfigs['obook']['imagedir'], 'obook');
     if (!file_exists($imagedir)) {
         jieqi_createdir($imagedir);
     }
     $imagedir .= jieqi_getsubdir($_REQUEST['id']);
     if (!file_exists($imagedir)) {
         jieqi_createdir($imagedir);
     }
     $imagedir .= '/' . $_REQUEST['id'];
     if (!file_exists($imagedir)) {
         jieqi_createdir($imagedir);
     }
     //保存小图
     if (!empty($_FILES['obookspic']['name'])) {
         if (strstr(strtolower($_FILES['obookspic']['name']), strtolower($jieqiConfigs['obook']['imagetype'])) == strtolower($jieqiConfigs['obook']['imagetype'])) {
             jieqi_copyfile($_FILES['obookspic']['tmp_name'], $imagedir . '/' . $_REQUEST['id'] . 's' . $jieqiConfigs['obook']['imagetype'], 0777, true);
         }
     }
     //保存大图
     if (!empty($_FILES['obooklpic']['name'])) {
Exemplo n.º 17
0
    $reviewrows[$k]['username'] = $v->getVar('username');
    if ($jieqiConfigs['article']['reviewenter'] == '0') {
        $reviewrows[$k]['content'] = jieqi_htmlstr(jieqi_limitwidth(str_replace(array("\r", "\n"), array('', ' '), $v->getVar('reviewtext', 'n')), $jieqiConfigs['article']['reviewwidth'], $start));
    } else {
        $reviewrows[$k]['content'] = jieqi_htmlstr(jieqi_limitwidth($v->getVar('reviewtext', 'n'), $jieqiConfigs['article']['reviewwidth'], $start));
    }
    $reviewrows[$k]['url_top'] = jieqi_addurlvars(array('action' => 'top', 'rid' => $v->getVar('reviewid')));
    $reviewrows[$k]['url_untop'] = jieqi_addurlvars(array('action' => 'untop', 'rid' => $v->getVar('reviewid')));
    $reviewrows[$k]['url_good'] = jieqi_addurlvars(array('action' => 'good', 'rid' => $v->getVar('reviewid')));
    $reviewrows[$k]['url_normal'] = jieqi_addurlvars(array('action' => 'normal', 'rid' => $v->getVar('reviewid')));
    $reviewrows[$k]['url_delete'] = jieqi_addurlvars(array('action' => 'del', 'rid' => $v->getVar('reviewid')));
    $reviewrows[$k]['checkbox'] = '<input type="checkbox" id="checkid[]" name="checkid[]" value="' . $v->getVar('reviewid') . '">';
    $reviewrows[$k]['articleid'] = $v->getVar('articleid');
    $reviewrows[$k]['articlename'] = $v->getVar('articlename');
    if ($jieqiConfigs['article']['fakeinfo'] > 0) {
        $reviewrows[$k]['articlesubdir'] = jieqi_getsubdir($v->getVar('articleid'));
        //子目录
        if (!empty($jieqiConfigs['article']['fakeprefix'])) {
            $tmpvar = '/' . $jieqiConfigs['article']['fakeprefix'] . 'info';
        } else {
            $tmpvar = '/files/article/info';
        }
        $reviewrows[$k]['url_articleinfo'] = $article_dynamic_url . $tmpvar . $reviewrows[$k]['articlesubdir'] . '/' . $v->getVar('articleid') . $jieqiConfigs['article']['fakefile'];
        //子目录
    } else {
        $reviewrows[$k]['articlesubdir'] = '';
        $reviewrows[$k]['url_articleinfo'] = $article_dynamic_url . '/articleinfo.php?id=' . $v->getVar('articleid');
        //子目录
    }
    $k++;
}
Exemplo n.º 18
0
function makestaticindex($class, $initial, $fullflag, $thispage, $maxpage = 0)
{
    global $jieqiConfigs;
    global $jieqiSort;
    global $jieqiTpl;
    global $jieqiBlocks;
    if (!is_object($jieqiTpl)) {
        $jieqiTpl =& JieqiTpl::getInstance();
    }
    //文章类别
    if (empty($class) || !is_numeric($class)) {
        $class = 0;
    }
    //页码
    if (empty($thispage) || !is_numeric($thispage)) {
        $thispage = 1;
    }
    if (empty($fullflag)) {
        $fullflag = 0;
    } else {
        $fullflag = 1;
    }
    //cache名称
    $cache_id = $fullflag;
    if (isset($initial) && trim(strval($initial)) != '') {
        if ($initial == '~' || $initial == '0') {
            $cache_id .= '_i0';
        } else {
            $cache_id .= '_i' . $initial;
        }
    } else {
        $cache_id .= '_s' . $class;
    }
    $pagecacheid = $cache_id;
    $cache_id .= '_p' . $thispage;
    if (!empty($class)) {
        $jieqi_pagetitle = $jieqiSort['article'][$class]['caption'] . '&gt;&gt;' . JIEQI_SITE_NAME;
        $jieqiTpl->assign('jieqi_pagetitle', $jieqi_pagetitle);
    }
    $jieqiTpl->setCaching(0);
    $article_static_url = empty($jieqiConfigs['article']['staticurl']) ? $GLOBALS['jieqiModules']['article']['url'] : $jieqiConfigs['article']['staticurl'];
    $article_dynamic_url = empty($jieqiConfigs['article']['dynamicurl']) ? $GLOBALS['jieqiModules']['article']['url'] : $jieqiConfigs['article']['dynamicurl'];
    $jieqiTpl->assign('article_static_url', $article_static_url);
    $jieqiTpl->assign('article_dynamic_url', $article_dynamic_url);
    //是否使用伪静态页面
    $jieqiTpl->assign('fakefile', $jieqiConfigs['article']['fakefile']);
    $jieqiTpl->assign('fakeinfo', $jieqiConfigs['article']['fakeinfo']);
    $jieqiTpl->assign('fakesort', $jieqiConfigs['article']['fakesort']);
    $jieqiTpl->assign('fakeinitial', $jieqiConfigs['article']['fakeinitial']);
    $jieqiTpl->assign('faketoplist', $jieqiConfigs['article']['faketoplist']);
    $article_handler =& JieqiArticleHandler::getInstance('JieqiArticleHandler');
    $criteria = new CriteriaCompo(new Criteria('display', '0', '='));
    $criteria->add(new Criteria('size', '0', '>'));
    if (!empty($fullflag)) {
        $criteria->add(new Criteria('fullflag', '1', '='));
        $fulltitle = $jieqiLang['article']['list_full_title'];
    } else {
        $fulltitle = '';
    }
    if (!empty($initial)) {
        $criteria->add(new Criteria('initial', strtoupper($initial), '='));
        if ($initial == '1') {
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['list_numeric_title'], $fulltitle));
        } elseif ($initial == '~') {
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['list_other_title'], $fulltitle));
        } else {
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['list_char_title'], $initial, $fulltitle));
        }
        $criteria->setSort('articlename');
        $criteria->setOrder('ASC');
    } elseif (!empty($class)) {
        $criteria->add(new Criteria('sortid', $class, '='));
        $jieqiTpl->assign('articletitle', $jieqiSort['article'][$class]['caption'] . $fulltitle);
        $criteria->setSort('lastupdate');
        $criteria->setOrder('DESC');
    } else {
        $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['list_all_title'], $fulltitle));
        $criteria->setSort('lastupdate');
        $criteria->setOrder('DESC');
    }
    $criteria->setLimit($jieqiConfigs['article']['pagenum']);
    $criteria->setStart(($thispage - 1) * $jieqiConfigs['article']['pagenum']);
    $article_handler->queryObjects($criteria);
    $articlerows = array();
    $k = 0;
    while ($v = $article_handler->getObject()) {
        $articlerows[$k] = jieqi_article_vars($v);
        $k++;
    }
    $jieqiTpl->assign_by_ref('articlerows', $articlerows);
    $jieqiTpl->assign('url_initial', $article_dynamic_url . '/index.php?initial=');
    //处理页面跳转
    $toplistrows = $article_handler->getCount($criteria);
    $truemaxpage = ceil($toplistrows / $jieqiConfigs['article']['pagenum']);
    $maxpage = intval($maxpage);
    if (!empty($maxpage) && $maxpage < $truemaxpage) {
        $toplistrows = $maxpage * $jieqiConfigs['article']['pagenum'];
    } else {
        $maxpage = $truemaxpage;
    }
    if (!empty($initial)) {
        $jumppage = new JieqiPage($toplistrows, $jieqiConfigs['article']['pagenum'], $thispage, 10, $jieqiConfigs['article']['fakefile']);
        if ($initial == '~') {
            $tmpvar = '0';
        } else {
            $tmpvar = $initial;
        }
        if (!empty($jieqiConfigs['article']['fakeprefix'])) {
            $dirname = '/' . $jieqiConfigs['article']['fakeprefix'] . 'initial' . $tmpvar;
        } else {
            $dirname = '/files/article/initial' . $tmpvar;
        }
        $jumppage->setlink($article_dynamic_url . $dirname);
    } else {
        $jumppage = new JieqiPage($toplistrows, $jieqiConfigs['article']['pagenum'], $thispage, 10, $jieqiConfigs['article']['fakefile']);
        if (!empty($class)) {
            $tmpvar = $class;
        } else {
            $tmpvar = '';
        }
        if (!empty($jieqiConfigs['article']['fakeprefix'])) {
            $dirname = '/' . $jieqiConfigs['article']['fakeprefix'] . 'sort' . $tmpvar;
        } else {
            $dirname = '/files/article/sort' . $tmpvar;
        }
        $jumppage->setlink($article_dynamic_url . $dirname);
    }
    $jieqiTpl->assign('url_jumppage', $jumppage->whole_bar());
    $jieqiTpl->assign('jieqi_contents', $jieqiTpl->fetch($GLOBALS['jieqiModules']['article']['path'] . '/templates/articlelist.html'));
    ob_start();
    include JIEQI_ROOT_PATH . '/footer.php';
    $pagecontent = ob_get_contents();
    ob_end_clean();
    $dirname = JIEQI_ROOT_PATH . $dirname;
    if (!file_exists($dirname)) {
        jieqi_createdir($dirname);
    }
    $dirname = $dirname . jieqi_getsubdir($thispage);
    if (!file_exists($dirname)) {
        jieqi_createdir($dirname);
    }
    $dirname .= '/' . $thispage . $jieqiConfigs['article']['fakefile'];
    jieqi_writefile($dirname, $pagecontent);
    return $maxpage;
}
Exemplo n.º 19
0
        if (isset($_REQUEST['vsize'])) {
            $_REQUEST['vsize'] = intval($_REQUEST['vsize']);
        } else {
            $_REQUEST['vsize'] = 0;
        }
        if ($_REQUEST['vsize'] == 1) {
            $_REQUEST['vsize'] = 0;
        }
        if (!isset($vsflags[$_REQUEST['vsize']]) || ($jieqiConfigs['article']['makejar'] & $vsflags[$_REQUEST['vsize']]) == 0) {
            jieqi_printfail($jieqiLang['article']['down_file_notopen']);
        }
        if (empty($_REQUEST['vsize'])) {
            $path = jieqi_uploadpath($jieqiConfigs['article']['jardir'], 'article') . jieqi_getsubdir($_REQUEST['id']) . '/' . $_REQUEST['id'] . '/' . $_REQUEST['id'] . $jieqi_file_postfix['jad'];
            $checkfile = $path;
        } else {
            $path = jieqi_uploadpath($jieqiConfigs['article']['jardir'], 'article') . jieqi_getsubdir($_REQUEST['id']) . '/' . $_REQUEST['id'] . '/' . $_REQUEST['id'] . '_' . intval($_REQUEST['vsize']) . '_' . intval($_REQUEST['vid']) . $jieqi_file_postfix['jad'];
            $checkfile = dirname($path) . '/' . $_REQUEST['id'] . '_' . intval($_REQUEST['vsize']) . '.xml';
        }
        //文件不存在或者过期自动生成(jad暂不检测,只检测jar)
        /*
        if(!is_file($checkfile) || filemtime($checkfile) + 600 < $lastupdate){
        	include_once(JIEQI_ROOT_PATH.'/modules/article/include/repack.php');
        	article_repack($_REQUEST['id'], array('makejar'=>1), 1);
        }
        */
        $ret = pack_down_do($path, $jieqiConfigs['article']['scorejardown'], false, $_REQUEST['fname']);
        break;
    default:
        jieqi_printfail(LANG_ERROR_PARAMETER);
        break;
}
Exemplo n.º 20
0
function makestatictoplist($sort = '', $class = '', $thispage = 0, $maxpage = 0)
{
    global $jieqiConfigs;
    global $jieqiSort;
    global $jieqiTpl;
    global $jieqiBlocks;
    if (!is_object($jieqiTpl)) {
        $jieqiTpl =& JieqiTpl::getInstance();
    }
    //排序方式
    if (empty($sort)) {
        $sort = 'lastupdate';
    }
    //类别
    if (empty($class) || !is_numeric($class)) {
        $class = 0;
    }
    //页码
    if (empty($thispage) || !is_numeric($thispage)) {
        $thispage = 1;
    }
    //是否缓存
    $content_used_cache = false;
    $jieqiTpl->setCaching(0);
    $article_static_url = empty($jieqiConfigs['article']['staticurl']) ? $GLOBALS['jieqiModules']['article']['url'] : $jieqiConfigs['article']['staticurl'];
    $article_dynamic_url = empty($jieqiConfigs['article']['dynamicurl']) ? $GLOBALS['jieqiModules']['article']['url'] : $jieqiConfigs['article']['dynamicurl'];
    $jieqiTpl->assign('article_static_url', $article_static_url);
    $jieqiTpl->assign('article_dynamic_url', $article_dynamic_url);
    //是否使用伪静态页面
    $jieqiTpl->assign('fakefile', $jieqiConfigs['article']['fakefile']);
    $jieqiTpl->assign('fakeinfo', $jieqiConfigs['article']['fakeinfo']);
    $jieqiTpl->assign('fakesort', $jieqiConfigs['article']['fakesort']);
    $jieqiTpl->assign('fakeinitial', $jieqiConfigs['article']['fakeinitial']);
    $jieqiTpl->assign('faketoplist', $jieqiConfigs['article']['faketoplist']);
    $article_handler =& JieqiArticleHandler::getInstance('JieqiArticleHandler');
    $criteria = new CriteriaCompo(new Criteria('display', '0', '='));
    $criteria->add(new Criteria('size', '0', '>'));
    //类别
    jieqi_getconfigs('article', 'sort');
    if (!empty($class) && is_numeric($class)) {
        $criteria->add(new Criteria('sortid', $class, '='));
        $classinfo = ' - ' . $jieqiSort['article'][$class]['caption'];
    } else {
        $class = 0;
        $classinfo = '';
    }
    $tmpvar = explode('-', date('Y-m-d', JIEQI_NOW_TIME));
    $daystart = mktime(0, 0, 0, (int) $tmpvar[1], (int) $tmpvar[2], (int) $tmpvar[0]);
    $monthstart = mktime(0, 0, 0, (int) $tmpvar[1], 1, (int) $tmpvar[0]);
    $tmpvar = date('w', JIEQI_NOW_TIME);
    if ($tmpvar == 0) {
        $tmpvar = 7;
    }
    //星期天是0,国人习惯作为作为一星期的最后一天
    $weekstart = $daystart;
    if ($tmpvar > 1) {
        $weekstart -= ($tmpvar - 1) * 86400;
    }
    switch ($sort) {
        case 'allvisit':
            $criteria->setSort('allvisit');
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['top_allvisit_title'], $classinfo));
            break;
        case 'monthvisit':
            $criteria->add(new Criteria('lastvisit', $monthstart, '>='));
            $criteria->setSort('monthvisit');
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['top_monthvisit_title'], $classinfo));
            break;
        case 'weekvisit':
            $criteria->add(new Criteria('lastvisit', $weekstart, '>='));
            $criteria->setSort('weekvisit');
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['top_weekvisit_title'], $classinfo));
            break;
        case 'dayvisit':
            $criteria->add(new Criteria('lastvisit', $daystart, '>='));
            $criteria->setSort('dayvisit');
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['top_dayvisit_title'], $classinfo));
            break;
        case 'allauthorvisit':
            $criteria->add(new Criteria('authorid', '0', '>'));
            $criteria->setSort('allvisit');
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['top_avall_title'], $classinfo));
            break;
        case 'monthauthorvisit':
            $criteria->add(new Criteria('lastvisit', $monthstart, '>='));
            $criteria->add(new Criteria('authorid', '0', '>'));
            $criteria->setSort('monthvisit');
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['top_avmonth_title'], $classinfo));
            break;
        case 'weekauthorvisit':
            $criteria->add(new Criteria('lastvisit', $weekstart, '>='));
            $criteria->add(new Criteria('authorid', '0', '>'));
            $criteria->setSort('weekvisit');
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['top_avweek_title'], $classinfo));
            break;
        case 'dayauthorvisit':
            $criteria->add(new Criteria('lastvisit', $daystart, '>='));
            $criteria->add(new Criteria('authorid', '0', '>'));
            $criteria->setSort('dayvisit');
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['top_avday_title'], $classinfo));
            break;
        case 'allvote':
            $criteria->setSort('allvote');
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['top_voteall_title'], $classinfo));
            break;
        case 'monthvote':
            $criteria->add(new Criteria('lastvote', $monthstart, '>='));
            $criteria->setSort('monthvote');
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['top_votemonth_title'], $classinfo));
            break;
        case 'weekvote':
            $criteria->add(new Criteria('lastvote', $weekstart, '>='));
            $criteria->setSort('weekvote');
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['top_voteweek_title'], $classinfo));
            break;
        case 'dayvote':
            $criteria->add(new Criteria('lastvote', $daystart, '>='));
            $criteria->setSort('dayvote');
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['top_voteday_titile'], $classinfo));
            break;
        case 'postdate':
            $criteria->setSort('postdate');
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['top_postdate_title'], $classinfo));
            break;
        case 'toptime':
            $criteria->setSort('toptime');
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['top_toptime_title'], $classinfo));
            break;
        case 'goodnum':
            $criteria->setSort('goodnum');
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['top_goodnum_title'], $classinfo));
            break;
        case 'size':
            $criteria->setSort('size');
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['top_size_title'], $classinfo));
            break;
        case 'authorupdate':
            $criteria->setSort('lastupdate');
            $criteria->add(new Criteria('authorid', '0', '>'));
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['top_authorupdate_title'], $classinfo));
            break;
        case 'masterupdate':
            $criteria->setSort('lastupdate');
            $criteria->add(new Criteria('authorid', '0', '='));
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['top_masterupdate_title'], $classinfo));
            break;
        case 'lastupdate':
        default:
            $_REQUEST['sort'] = 'lastupdate';
            $criteria->setSort('lastupdate');
            $jieqiTpl->assign('articletitle', sprintf($jieqiLang['article']['top_lastupdate_title'], $classinfo));
            break;
    }
    $criteria->setOrder('DESC');
    $criteria->setLimit($jieqiConfigs['article']['pagenum']);
    $criteria->setStart(($thispage - 1) * $jieqiConfigs['article']['pagenum']);
    $article_handler->queryObjects($criteria);
    $articlerows = array();
    $k = 0;
    while ($v = $article_handler->getObject()) {
        $articlerows[$k] = jieqi_article_vars($v);
        $k++;
    }
    $jieqiTpl->assign_by_ref('articlerows', $articlerows);
    //处理页面跳转
    $toplistrows = $article_handler->getCount($criteria);
    $truemaxpage = ceil($toplistrows / $jieqiConfigs['article']['pagenum']);
    $maxpage = intval($maxpage);
    if (!empty($maxpage) && $maxpage < $truemaxpage) {
        $toplistrows = $maxpage * $jieqiConfigs['article']['pagenum'];
    } else {
        $maxpage = $truemaxpage;
    }
    $jumppage = new JieqiPage($toplistrows, $jieqiConfigs['article']['pagenum'], $thispage, 10, $jieqiConfigs['article']['fakefile']);
    if (!empty($jieqiConfigs['article']['fakeprefix'])) {
        $dirname = '/' . $jieqiConfigs['article']['fakeprefix'] . 'top' . $sort;
    } else {
        $dirname = '/files/article/top' . $sort;
    }
    $jumppage->setlink($article_dynamic_url . $dirname);
    $jieqiTpl->assign('url_jumppage', $jumppage->whole_bar());
    $jieqiTpl->assign('jieqi_contents', $jieqiTpl->fetch($GLOBALS['jieqiModules']['article']['path'] . '/templates/toplist.html'));
    ob_start();
    include JIEQI_ROOT_PATH . '/footer.php';
    $pagecontent = ob_get_contents();
    ob_end_clean();
    $dirname = JIEQI_ROOT_PATH . $dirname;
    if (!file_exists($dirname)) {
        jieqi_createdir($dirname);
    }
    $dirname = $dirname . jieqi_getsubdir($thispage);
    if (!file_exists($dirname)) {
        jieqi_createdir($dirname);
    }
    $dirname .= '/' . $thispage . $jieqiConfigs['article']['fakefile'];
    jieqi_writefile($dirname, $pagecontent);
    return $maxpage;
}
Exemplo n.º 21
0
function makestaticinfo($article_id)
{
    global $jieqiConfigs;
    global $jieqiSort;
    global $jieqiTpl;
    global $jieqiBlocks;
    global $jieqi_file_postfix;
    global $jieqiOption;
    if (!is_object($jieqiTpl)) {
        $jieqiTpl =& JieqiTpl::getInstance();
    }
    if (empty($article_id) || !is_numeric($article_id)) {
        return false;
    }
    $article_handler =& JieqiArticleHandler::getInstance('JieqiArticleHandler');
    $article = $article_handler->get($article_id);
    if (!$article) {
        return false;
    }
    //包含区块参数(定制)
    jieqi_getconfigs(JIEQI_MODULE_NAME, 'sort');
    jieqi_getconfigs(JIEQI_MODULE_NAME, 'configs');
    $jieqi_pagetitle = $article->getVar('articlename');
    if ($article->getVar('lastvolume') != '') {
        $jieqi_pagetitle .= '-' . $article->getVar('lastvolume');
    }
    $jieqi_pagetitle .= '-' . $article->getVar('lastchapter') . '-' . JIEQI_SITE_NAME;
    $jieqiTpl->assign('jieqi_pagetitle', $jieqi_pagetitle);
    $article_static_url = empty($jieqiConfigs['article']['staticurl']) ? $GLOBALS['jieqiModules']['article']['url'] : $jieqiConfigs['article']['staticurl'];
    $article_dynamic_url = empty($jieqiConfigs['article']['dynamicurl']) ? $GLOBALS['jieqiModules']['article']['url'] : $jieqiConfigs['article']['dynamicurl'];
    $jieqiTpl->assign('article_static_url', $article_static_url);
    $jieqiTpl->assign('article_dynamic_url', $article_dynamic_url);
    $jieqiTpl->assign('articlename', $article->getVar('articlename'));
    $jieqiTpl->assign('postdate', date('Y-m-d', $article->getVar('postdate')));
    $jieqiTpl->assign('lastupdate', date('Y-m-d', $article->getVar('lastupdate')));
    if ($article->getVar('authorid') > 0) {
        $jieqiTpl->assign('author', '<a href="' . jieqi_geturl('system', 'user', $article->getVar('authorid')) . '" target="_blank">' . $article->getVar('author') . '</a>');
    } else {
        $jieqiTpl->assign('author', $article->getVar('author'));
    }
    if ($article->getVar('agentid') > 0) {
        $jieqiTpl->assign('agent', '<a href="' . jieqi_geturl('system', 'user', $article->getVar('agentid')) . '" target="_blank">' . $article->getVar('agent') . '</a>');
    } else {
        $jieqiTpl->assign('agent', $article->getVar('agent'));
    }
    $jieqiTpl->assign('sortid', $article->getVar('sortid'));
    $jieqiTpl->assign('sort', $jieqiSort['article'][$article->getVar('sortid')]['caption']);
    $jieqiTpl->assign('intro', $article->getVar('intro'));
    $jieqiTpl->assign('notice', $article->getVar('notice'));
    $imgflag = $article->getVar('imgflag');
    //小图
    if (($imgflag & 1) > 0) {
        $jieqiTpl->assign('hasimage', 1);
        $jieqiTpl->assign('url_simage', jieqi_uploadurl($jieqiConfigs['article']['imagedir'], $jieqiConfigs['article']['imageurl'], 'article', $article_static_url) . jieqi_getsubdir($article->getVar('articleid')) . '/' . $article->getVar('articleid') . '/' . $article->getVar('articleid') . 's' . $jieqiConfigs['article']['imagetype']);
    } else {
        $jieqiTpl->assign('hasimage', 0);
        $jieqiTpl->assign('url_simage', '');
    }
    //大图
    if (($imgflag & 2) > 0) {
        $jieqiTpl->assign('url_limage', jieqi_uploadurl($jieqiConfigs['article']['imagedir'], $jieqiConfigs['article']['imageurl'], 'article', $article_static_url) . jieqi_getsubdir($article->getVar('articleid')) . '/' . $article->getVar('articleid') . '/' . $article->getVar('articleid') . 'l' . $jieqiConfigs['article']['imagetype']);
    } elseif (($imgflag & 1) > 0) {
        $jieqiTpl->assign('url_limage', jieqi_uploadurl($jieqiConfigs['article']['imagedir'], $jieqiConfigs['article']['imageurl'], 'article', $article_static_url) . jieqi_getsubdir($article->getVar('articleid')) . '/' . $article->getVar('articleid') . '/' . $article->getVar('articleid') . 's' . $jieqiConfigs['article']['imagetype']);
    } else {
        $jieqiTpl->assign('url_limage', '');
    }
    $lastchapter = $article->getVar('lastchapter');
    if ($lastchapter != '') {
        if ($article->getVar('lastvolume') != '') {
            $lastchapter = $article->getVar('lastvolume') . ' ' . $lastchapter;
        }
        $jieqiTpl->assign('url_lastchapter', jieqi_geturl('article', 'chapter', $article->getVar('lastchapterid'), $article->getVar('articleid')));
    } else {
        $jieqiTpl->assign('url_lastchapter', '');
    }
    //显示多个最新章节
    if (is_numeric($jieqiConfigs['article']['infochapternum']) && intval($jieqiConfigs['article']['infochapternum']) > 0) {
        $jieqiConfigs['article']['infochapternum'] = intval($jieqiConfigs['article']['infochapternum']);
        include_once $GLOBALS['jieqiModules']['article']['path'] . '/class/chapter.php';
        $chapter_handler =& JieqiChapterHandler::getInstance('JieqiChapterHandler');
        $criteria = new CriteriaCompo(new Criteria('articleid', $article->getVar('articleid'), '='));
        $criteria->setSort('chapterorder');
        $criteria->setOrder('DESC');
        $criteria->setLimit($jieqiConfigs['article']['infochapternum'] + ceil($jieqiConfigs['article']['infochapternum'] / 4));
        $chapter_handler->queryObjects($criteria);
        $chapterrows = array();
        $k = 0;
        $volumename = $article->getVar('lastvolume');
        while ($chapter = $chapter_handler->getObject()) {
            if ($chapter->getVar('chaptertype') == 1) {
                $volumename = $chapter->getVar('chaptername');
            } else {
                $chapterrows[$k]['volumename'] = $volumename;
                $chapterrows[$k]['chaptername'] = $chapter->getVar('chaptername');
                if ($chapterrows[$k]['volumename'] != '') {
                    $chapterrows[$k]['chapter'] = $chapterrows[$k]['volumename'] . ' ' . $chapterrows[$k]['chaptername'];
                } else {
                    $chapterrows[$k]['chapter'] = $chapterrows[$k]['chaptername'];
                }
                $chapterrows[$k]['chapterid'] = $chapter->getVar('chapterid');
                $chapterrows[$k]['url_chapter'] = jieqi_geturl('article', 'chapter', $chapter->getVar('chapterid'), $article->getVar('articleid'));
                $k++;
                if ($k >= $jieqiConfigs['article']['infochapternum']) {
                    break;
                }
            }
        }
        $jieqiTpl->assign_by_ref('chapterrows', $chapterrows);
    }
    $jieqiTpl->assign('lastchapter', $lastchapter);
    $jieqiTpl->assign('size', $article->getVar('size'));
    $jieqiTpl->assign('size_k', ceil($article->getVar('size') / 1024));
    $jieqiTpl->assign('size_c', ceil($article->getVar('size') / 2));
    $jieqiTpl->assign('dayvisit', $article->getVar('dayvisit'));
    $jieqiTpl->assign('weekvisit', $article->getVar('weekvisit'));
    $jieqiTpl->assign('monthvisit', $article->getVar('monthvisit'));
    $jieqiTpl->assign('allvisit', $article->getVar('allvisit'));
    $jieqiTpl->assign('dayvote', $article->getVar('dayvote'));
    $jieqiTpl->assign('weekvote', $article->getVar('weekvote'));
    $jieqiTpl->assign('monthvote', $article->getVar('monthvote'));
    $jieqiTpl->assign('allvote', $article->getVar('allvote'));
    $jieqiTpl->assign('goodnum', $article->getVar('goodnum'));
    $jieqiTpl->assign('badnum', $article->getVar('badnum'));
    jieqi_getconfigs('article', 'option', 'jieqiOption');
    $tmpvar = $article->getVar('fullflag');
    if (isset($jieqiOption['article']['fullflag']['items'][$tmpvar])) {
        $jieqiTpl->assign('fullflag', $jieqiOption['article']['fullflag']['items'][$tmpvar]);
    } else {
        $jieqiTpl->assign('fullflag', $jieqiOption['article']['fullflag']['items'][$jieqiOption['article']['fullflag']['default']]);
    }
    $tmpvar = $article->getVar('permission');
    if (isset($jieqiOption['article']['permission']['items'][$tmpvar])) {
        $jieqiTpl->assign('permission', $jieqiOption['article']['permission']['items'][$tmpvar]);
    } else {
        $jieqiTpl->assign('permission', $jieqiOption['article']['permission']['items'][$jieqiOption['article']['permission']['default']]);
    }
    $tmpvar = $article->getVar('firstflag');
    if (isset($jieqiOption['article']['firstflag']['items'][$tmpvar])) {
        $jieqiTpl->assign('firstflag', $jieqiOption['article']['firstflag']['items'][$tmpvar]);
    } else {
        $jieqiTpl->assign('firstflag', $jieqiOption['article']['firstflag']['items'][$jieqiOption['article']['firstflag']['default']]);
    }
    //管理
    $jieqiTpl->assign('url_manage', $article_static_url . '/articlemanage.php?id=' . $article->getVar('articleid'));
    //举报
    $tmpstr = sprintf($jieqiLang['article']['article_report_reason'], jieqi_geturl('article', 'article', $article->getVar('articleid'), 'info'));
    $jieqiTpl->assign('url_report', $article_dynamic_url . '/newmessage.php?tosys=1&title=' . urlencode(sprintf($jieqiLang['article']['article_report_title'], $article->getVar('articlename', 'n'))) . '&content=' . urlencode($tmpstr));
    //采集
    $setting = unserialize($article->getVar('setting', 'n'));
    $url_collect = $article_static_url . '/collect.php?toid=' . $article->getVar('articleid', 'n');
    if (is_numeric($setting['fromarticle'])) {
        $url_collect .= '&fromid=' . $setting['fromarticle'];
    }
    if (is_numeric($setting['fromsite'])) {
        $url_collect .= '&siteid=' . $setting['fromsite'];
    }
    $jieqiTpl->assign('url_collect', $url_collect);
    //文章序号
    $jieqiTpl->assign('articleid', $article->getVar('articleid'));
    //点击阅读,全文阅读
    if ($article->getVar('chapters', 'n') > 0) {
        $jieqiTpl->assign('url_read', jieqi_geturl('article', 'article', $article->getVar('articleid'), 'index'));
        if ($jieqiConfigs['article']['makefull'] == 0 || JIEQI_CHAR_SET != JIEQI_SYSTEM_CHARSET) {
            $jieqiTpl->assign('url_fullpage', $article_static_url . '/reader.php?aid=' . $article->getVar('articleid'));
        } else {
            $jieqiTpl->assign('url_fullpage', jieqi_uploadurl($jieqiConfigs['article']['fulldir'], $jieqiConfigs['article']['fullurl'], 'article', $article_static_url) . jieqi_getsubdir($article->getVar('articleid')) . '/' . $article->getVar('articleid') . $jieqiConfigs['article']['htmlfile']);
        }
    } else {
        $jieqiTpl->assign('url_read', '#');
        $jieqiTpl->assign('url_fullpage', '#');
    }
    //放入书架
    $jieqiTpl->assign('url_bookcase', $article_dynamic_url . '/addbookcase.php?bid=' . $article->getVar('articleid'));
    //推荐本书
    $jieqiTpl->assign('url_uservote', $article_dynamic_url . '/uservote.php?id=' . $article->getVar('articleid'));
    //作家专栏
    if ($article->getVar('authorid') > 0) {
        $jieqiTpl->assign('url_authorpage', $article_dynamic_url . '/authorpage.php?id=' . $article->getVar('authorid'));
    } else {
        $jieqiTpl->assign('url_authorpage', '#');
    }
    //打包下载
    if ($article->getVar('chapters', 'n') > 0) {
        if ($jieqiConfigs['article']['makehtml'] == 0) {
            $jieqiTpl->assign('url_download', '#');
        } else {
            $jieqiTpl->assign('url_download', jieqi_uploadurl($jieqiConfigs['article']['zipdir'], $jieqiConfigs['article']['zipurl'], 'article', $article_static_url) . jieqi_getsubdir($article->getVar('articleid')) . '/' . $article->getVar('articleid') . $jieqi_file_postfix['zip']);
        }
    } else {
        $jieqiTpl->assign('url_download', '#');
    }
    //电子书部分
    $articletype = intval($article->getVar('articletype'));
    if (($articletype & 1) > 0) {
        $hasebook = 1;
    } else {
        $hasebook = 0;
    }
    if (($articletype & 2) > 0) {
        $hasobook = 1;
    } else {
        $hasobook = 0;
    }
    if (($articletype & 4) > 0) {
        $hastbook = 1;
    } else {
        $hastbook = 0;
    }
    if ($hasobook == 1) {
        include_once $GLOBALS['jieqiModules']['obook']['path'] . '/class/obook.php';
        $obook_handler =& JieqiObookHandler::getInstance('JieqiObookHandler');
        $criteria = new CriteriaCompo();
        $criteria->add(new Criteria('articleid', $article->getVar('articleid'), '='));
        $obook_handler->queryObjects($criteria);
        $obook = $obook_handler->getObject();
        if (is_object($obook) && $obook->getVar('display') == 0 && $obook->getVar('size') > 0) {
            $jieqiTpl->assign('obook_obookid', $obook->getVar('obookid'));
            $jieqiTpl->assign('obook_lastvolume', $obook->getVar('lastvolume'));
            $jieqiTpl->assign('obook_lastvolumeid', $obook->getVar('lastvolumeid'));
            $jieqiTpl->assign('obook_lastchapter', $obook->getVar('lastchapter'));
            $jieqiTpl->assign('obook_lastchapterid', $obook->getVar('lastchapterid'));
            $jieqiTpl->assign('obook_lastupdate', date(JIEQI_DATE_FORMAT, $obook->getVar('lastupdate')));
            $jieqiTpl->assign('obook_size', $obook->getVar('size'));
            $jieqiTpl->assign('obook_publishid', $obook->getVar('publishid'));
        } else {
            $hasobook = 0;
        }
    }
    $jieqiTpl->assign('articletype', $articletype);
    $jieqiTpl->assign('hasebook', $hasebook);
    $jieqiTpl->assign('hasobook', $hasobook);
    $jieqiTpl->assign('hastbook', $hastbook);
    $jieqiTpl->assign('url_goodreview', $article_dynamic_url . '/review.php?aid=' . $article->getVar('articleid') . '&type=good');
    $jieqiTpl->assign('url_allreview', $article_dynamic_url . '/review.php?aid=' . $article->getVar('articleid') . '&type=all');
    $jieqiTpl->assign('url_review', $article_dynamic_url . '/review.php?aid=' . $article->getVar('articleid'));
    if (!empty($_SESSION['jieqiUserId'])) {
        $jieqiTpl->assign('enablepost', 1);
    } else {
        $jieqiTpl->assign('enablepost', 0);
    }
    $jieqiTpl->setCaching(0);
    $jieqiTpl->assign('jieqi_contents', $jieqiTpl->fetch($GLOBALS['jieqiModules']['article']['path'] . '/templates/staticinfo.html'));
    ob_start();
    include JIEQI_ROOT_PATH . '/footer.php';
    $pagecontent = ob_get_contents();
    ob_end_clean();
    if (!empty($jieqiConfigs['article']['fakeprefix'])) {
        $dirname = JIEQI_ROOT_PATH . '/' . $jieqiConfigs['article']['fakeprefix'] . 'info';
    } else {
        $dirname = JIEQI_ROOT_PATH . '/files/article/info';
    }
    if (!file_exists($dirname)) {
        jieqi_createdir($dirname);
    }
    $dirname = $dirname . jieqi_getsubdir($article->getVar('articleid', 'n'));
    if (!file_exists($dirname)) {
        jieqi_createdir($dirname);
    }
    $dirname .= '/' . $article->getVar('articleid', 'n') . $jieqiConfigs['article']['fakefile'];
    jieqi_writefile($dirname, $pagecontent);
    return true;
}
Exemplo n.º 22
0
 function setContent($isreturn = false)
 {
     global $jieqiTpl;
     global $jieqiConfigs;
     global $jieqiSort;
     include_once $GLOBALS['jieqiModules']['obook']['path'] . '/class/obook.php';
     jieqi_getconfigs('obook', 'configs');
     $obook_static_url = empty($jieqiConfigs['obook']['staticurl']) ? $GLOBALS['jieqiModules']['obook']['url'] : $jieqiConfigs['obook']['staticurl'];
     $obook_dynamic_url = empty($jieqiConfigs['obook']['dynamicurl']) ? $GLOBALS['jieqiModules']['obook']['url'] : $jieqiConfigs['obook']['dynamicurl'];
     $jieqiTpl->assign('obook_static_url', $obook_static_url);
     $jieqiTpl->assign('obook_dynamic_url', $obook_dynamic_url);
     $tmpvar = explode('-', date('Y-m-d', JIEQI_NOW_TIME));
     $daystart = mktime(0, 0, 0, (int) $tmpvar[1], (int) $tmpvar[2], (int) $tmpvar[0]);
     $monthstart = mktime(0, 0, 0, (int) $tmpvar[1], 1, (int) $tmpvar[0]);
     $tmpvar = date('w', JIEQI_NOW_TIME);
     if ($tmpvar == 0) {
         $tmpvar = 7;
     }
     //星期天是0,国人习惯作为作为一星期的最后一天
     $weekstart = $daystart;
     if ($tmpvar > 1) {
         $weekstart -= ($tmpvar - 1) * 86400;
     }
     $obook_handler =& JieqiObookHandler::getInstance('JieqiObookHandler');
     $sql = 'SELECT * FROM ' . jieqi_dbprefix('obook_obook') . ' WHERE display=0 AND size>0';
     if (!empty($this->exevars['sortid'])) {
         $sortstr = '';
         $sortnum = 0;
         $sortary = explode('|', $this->exevars['sortid']);
         foreach ($sortary as $v) {
             if (is_numeric($v)) {
                 if (!empty($sortstr)) {
                     $sortstr .= ' OR ';
                 }
                 $sortstr .= 'sortid=' . intval($v);
                 $sortnum++;
             }
         }
         if ($sortnum == 1) {
             $sql .= ' AND ' . $sortstr;
         } elseif ($sortnum > 1) {
             $sql .= ' AND (' . $sortstr . ')';
         }
     }
     if (isset($this->exevars['publishid']) && $this->exevars['publishid'] !== '') {
         $publishstr = '';
         $publishnum = 0;
         $publishary = explode('|', $this->exevars['publishid']);
         foreach ($publishary as $v) {
             if (is_numeric($v)) {
                 if (!empty($publishstr)) {
                     $publishstr .= ' OR ';
                 }
                 $publishstr .= 'publishid=' . intval($v);
                 $publishnum++;
             }
         }
         if ($publishnum == 1) {
             $sql .= ' AND ' . $publishstr;
         } elseif ($publishnum > 1) {
             $sql .= ' AND (' . $publishstr . ')';
         }
     }
     if ($this->exevars['isfull'] == 1) {
         $sql .= ' AND fullflag=1';
     } elseif ($this->exevars['isfull'] == 2) {
         $sql .= ' AND fullflag=0';
     }
     switch ($this->exevars['field']) {
         case 'monthsale':
             $sql .= ' AND lastsale>=' . $monthstart;
             break;
         case 'weeksale':
             $sql .= ' AND lastsale>=' . $weekstart;
             break;
         case 'daysale':
             $sql .= ' AND lastsale>=' . $daystart;
             break;
     }
     $sql .= ' ORDER BY ' . $this->exevars['field'];
     if ($this->exevars['asc'] == 1) {
         $sql .= ' ASC';
     } else {
         $sql .= ' DESC';
     }
     $sql .= ' LIMIT 0, ' . $this->exevars['listnum'];
     $res = $obook_handler->db->query($sql);
     jieqi_getconfigs('obook', 'sort');
     $obookrows = array();
     $k = 0;
     while ($v = $obook_handler->getObject($res)) {
         $obookrows[$k]['order'] = $k + 1;
         $obookrows[$k]['obookid'] = $v->getVar('obookid');
         //文章序号
         $obookrows[$k]['obookname'] = $v->getVar('obookname');
         //文章名称
         $obookrows[$k]['articleid'] = $v->getVar('articleid');
         //文章序号
         if ($jieqiConfigs['obook']['fakeinfo'] == 1) {
             $obookrows[$k]['obooksubdir'] = jieqi_getsubdir($v->getVar('obookid'));
             //子目录
             if (!empty($jieqiConfigs['obook']['fakeprefix'])) {
                 $tmpvar = '/' . $jieqiConfigs['obook']['fakeprefix'] . 'info';
             } else {
                 $tmpvar = '/files/obook/info';
             }
             $obookrows[$k]['url_obookinfo'] = $obook_dynamic_url . $tmpvar . $obookrows[$k]['obooksubdir'] . '/' . $v->getVar('obookid') . $jieqiConfigs['obook']['fakefile'];
             //子目录
         } else {
             $obookrows[$k]['obooksubdir'] = '';
             $obookrows[$k]['url_obookinfo'] = $obook_dynamic_url . '/obookinfo.php?id=' . $v->getVar('obookid');
             //子目录
         }
         if ($v->getVar('lastchapter') == '') {
             $obookrows[$k]['lastchapterid'] = 0;
             //章节序号
             $obookrows[$k]['lastchapter'] = '';
             //章节名称
             $obookrows[$k]['url_lastchapter'] = '';
             //章节地址
         } else {
             $obookrows[$k]['lastchapterid'] = $v->getVar('lastchapterid');
             $obookrows[$k]['lastchapter'] = $v->getVar('lastchapter');
             $obookrows[$k]['url_lastchapter'] = $obook_static_url . '/reader.php?aid=' . $v->getVar('obookid') . '&cid=' . $v->getVar('lastchapterid');
         }
         //公众章节
         if ($obookrows[$k]['articleid'] > 0) {
             if ($jieqiConfigs['article']['makehtml'] == 0 || JIEQI_CHAR_SET != JIEQI_SYSTEM_CHARSET) {
                 $obookrows[$k]['url_read'] = $article_static_url . '/reader.php?aid=' . $obookrows[$k]['articleid'];
             } else {
                 $obookrows[$k]['url_read'] = jieqi_uploadurl($jieqiConfigs['article']['htmldir'], $jieqiConfigs['article']['htmlurl'], 'article', $article_static_url) . jieqi_getsubdir($obookrows[$k]['articleid']) . '/' . $obookrows[$k]['articleid'] . '/index' . $jieqiConfigs['article']['htmlfile'];
             }
         }
         $obookrows[$k]['lastvolume'] = $v->getVar('lastvolumeid');
         //分卷序号
         $obookrows[$k]['lastvolume'] = $v->getVar('lastvolume');
         //分卷名称
         $obookrows[$k]['authorid'] = $v->getVar('authorid');
         //作者
         $obookrows[$k]['author'] = $v->getVar('author');
         $obookrows[$k]['posterid'] = $v->getVar('posterid');
         //发表者
         $obookrows[$k]['poster'] = $v->getVar('poster');
         $obookrows[$k]['agentid'] = $v->getVar('agentid');
         //代理者
         $obookrows[$k]['agent'] = $v->getVar('agent');
         $obookrows[$k]['sortid'] = $v->getVar('sortid');
         //类别序号
         $obookrows[$k]['sort'] = $jieqiSort['obook'][$v->getVar('sortid')]['shortname'];
         //类别
         $obookrows[$k]['size'] = $v->getVar('size');
         $obookrows[$k]['size_k'] = ceil($v->getVar('size') / 1024);
         $obookrows[$k]['size_c'] = ceil($v->getVar('size') / 2);
         $obookrows[$k]['daysale'] = $v->getVar('daysale');
         $obookrows[$k]['weeksale'] = $v->getVar('weeksale');
         $obookrows[$k]['monthsale'] = $v->getVar('monthsale');
         $obookrows[$k]['sumegold'] = $v->getVar('sumegold');
         $obookrows[$k]['sumesilver'] = $v->getVar('sumesilver');
         $obookrows[$k]['sumemoney'] = $obookrows[$k]['sumegold'] + $obookrows[$k]['sumesilver'];
         $obookrows[$k]['payprice'] = $v->getVar('payprice');
         $obookrows[$k]['allsale'] = $v->getVar('allsale');
         $obookrows[$k]['lastupdate'] = date('y-m-d', $v->getVar('lastupdate'));
         //最后更新日期
         $obookrows[$k]['update'] = date('m-d', $v->getVar('lastupdate'));
         //最后更新日期
         $obookrows[$k]['display'] = $v->getVar('display');
         $obookrows[$k]['url_image'] = jieqi_uploadurl($jieqiConfigs['obook']['imagedir'], $jieqiConfigs['obook']['imageurl'], 'obook', $obook_static_url) . jieqi_getsubdir($v->getVar('obookid')) . '/' . $v->getVar('obookid') . '/' . $v->getVar('obookid') . 's' . $jieqiConfigs['obook']['imagetype'];
         $k++;
     }
     $jieqiTpl->assign_by_ref('obookrows', $obookrows);
     $toptype = $this->exevars['field'];
     if ($jieqiConfigs['obook']['faketoplist'] == 1) {
         if (!empty($jieqiConfigs['obook']['fakeprefix'])) {
             $tmpvar = '/' . $jieqiConfigs['obook']['fakeprefix'] . 'top' . $toptype;
         } else {
             $tmpvar = '/files/obook/top' . $toptype;
         }
         $jieqiTpl->assign('url_more', $obook_dynamic_url . $tmpvar . '/0/1' . $jieqiConfigs['obook']['fakefile']);
     } else {
         $jieqiTpl->assign('url_more', $obook_dynamic_url . '/obooklist.php?sort=' . $toptype);
     }
 }
Exemplo n.º 23
0
function article_make_ptoplist($sort, $page = 1, $static = true, $output = false)
{
    global $jieqiConfigs;
    if (!isset($jieqiConfigs['article'])) {
        jieqi_getconfigs('article', 'configs');
    }
    if (is_numeric($jieqiConfigs['article']['faketoplist'])) {
        if (!empty($jieqiConfigs['article']['fakeprefix'])) {
            $jieqiConfigs['article']['faketoplist'] = '/' . $jieqiConfigs['article']['fakeprefix'] . 'top<{$sort}><{$page|subdirectory}>/<{$page}>' . $jieqiConfigs['article']['fakefile'];
        } else {
            $jieqiConfigs['article']['faketoplist'] = '/files/article/top<{$sort}><{$page|subdirectory}>/<{$page}>' . $jieqiConfigs['article']['fakefile'];
        }
    }
    $jieqiConfigs['article']['faketoplist'] = preg_replace('/https?:\\/\\/[^\\/]+/is', '', $jieqiConfigs['article']['faketoplist']);
    if (substr($jieqiConfigs['article']['faketoplist'], 0, 1) != '/') {
        $jieqiConfigs['article']['faketoplist'] = '/' . $jieqiConfigs['article']['faketoplist'];
    }
    $tmpary = explode('/', $jieqiConfigs['article']['faketoplist']);
    $tmpcot = count($tmpary) - 2;
    if (strpos($jieqiConfigs['article']['faketoplist'], '<{$page|subdirectory}>') > 0) {
        $tmpcot++;
    }
    $globalfile = str_repeat('../', $tmpcot) . 'global.php';
    $repfrom = array('<{$sort}>', '<{$page|subdirectory}>', '<{$page}>');
    $repto = array($sort, jieqi_getsubdir($page), $page);
    $fname = JIEQI_ROOT_PATH . trim(str_replace($repfrom, $repto, $jieqiConfigs['article']['faketoplist']));
    jieqi_checkdir(dirname($fname), true);
    if ($static) {
        $content = file_get_contents($GLOBALS['jieqiModules']['article']['url'] . '/toplist.php?sort=' . $sort . '&page=' . $page);
    } else {
        $content = '<?php
define(\'JIEQI_MODULE_NAME\', \'article\');
$jieqi_fake_state = 1;
include_once(\'' . $globalfile . '\');
$_REQUEST[\'sort\'] = "' . $sort . '";
$_REQUEST[\'page\'] = ' . $page . ';
include_once($jieqiModules[\'article\'][\'path\'].\'/toplist.php\');
?>';
    }
    jieqi_writefile($fname, $content);
    if ($output) {
        echo $page . ' ';
        ob_flush();
        flush();
    }
}
Exemplo n.º 24
0
    } else {
        $_REQUEST['type'] = $userobj->getVar('avatar');
    }
}
$base_avatar = '';
if ($_REQUEST['type'] == 0) {
    $_REQUEST['uid'] = 'noavatar';
    $base_avatar = JIEQI_ROOT_PATH . '/images';
    $prefix = '.jpg';
} elseif (!isset($jieqi_image_type[$_REQUEST['type']])) {
    exit('wrong image file type!');
} else {
    $prefix = $jieqi_image_type[$_REQUEST['type']];
}
if (empty($base_avatar)) {
    $base_avatar = jieqi_uploadpath($jieqiConfigs['system']['avatardir'], 'system') . jieqi_getsubdir($_REQUEST['uid']);
}
switch ($_REQUEST['size']) {
    case 's':
        $imgfile = $avatar_cut ? $base_avatar . '/' . $_REQUEST['uid'] . 's' . $prefix : $base_avatar . '/' . $_REQUEST['uid'] . $prefix;
        break;
    case 'i':
        $imgfile = $avatar_cut ? $base_avatar . '/' . $_REQUEST['uid'] . 'i' . $prefix : $base_avatar . '/' . $_REQUEST['uid'] . $prefix;
        break;
    case 'l':
    default:
        $imgfile = $base_avatar . '/' . $_REQUEST['uid'] . $prefix;
        break;
}
if (is_file($imgfile)) {
    switch ($prefix) {
Exemplo n.º 25
0
 /**
  * 取得cache或编译的文件名称
  * 
  * @param      string      $auto_base
  * @param      string      $auto_source
  * @param      string      $auto_id
  * @access     private
  * @return     string
  */
 function _get_auto_filename($auto_base, $auto_source = NULL, $auto_id = NULL)
 {
     //$auto_source = trim($auto_source);
     $_filename = basename($auto_source);
     $_dir = dirname($auto_source);
     $_return = str_replace(JIEQI_ROOT_PATH, $auto_base, $_dir);
     if ($_return == $_dir) {
         $_dir = trim(str_replace(array('\\', ':'), array('/', ''), $_dir));
         if ($dir[0] != '/') {
             $_return = $auto_base . '/' . $_dir;
         } else {
             $_return = $auto_base . $_dir;
         }
     }
     if (isset($auto_id) && strlen($auto_id) > 0) {
         $_return .= '/' . $_filename;
         if (is_numeric($auto_id)) {
             $_return .= jieqi_getsubdir(intval($auto_id)) . '/' . $auto_id;
         } elseif (preg_match('/^\\w+$/', $auto_id)) {
             $_return .= '/' . str_replace(array('/', '.', '|'), array('-', '+', '/'), $auto_id);
         } else {
             $_return .= '/' . md5($auto_id);
         }
         $_return .= strrchr($_filename, ".");
     } else {
         $_return .= '/' . $_filename;
     }
     return $_return;
 }
Exemplo n.º 26
0
    if ($tmpvar > 0 && ($obook->getVar('authorid') == $tmpvar || $chapter->getVar('posterid') == $tmpvar || $obook->getVar('agentid') == $tmpvar)) {
        $canedit = jieqi_checkpower($jieqiPower['obook']['delmyobook'], $jieqiUsersStatus, $jieqiUsersGroup, true);
        //还没销售过的话作者可以删除
        if ($canedit && $obook->getVar('totalsale', 'n') == 0) {
            $candel = $canedit;
        }
    }
}
if (!$canedit) {
    jieqi_printfail($jieqiLang['obook']['noper_manage_obook']);
}
if ($_REQUEST['action'] == 'delete' && !$candel) {
    jieqi_printfail($jieqiLang['obook']['noper_delete_obook']);
}
if ($obook->getVar('articleid') > 0) {
    $linkfile = JIEQI_ROOT_PATH . '/files/obook/articlelink' . jieqi_getsubdir($obook->getVar('articleid')) . '/' . $obook->getVar('articleid') . '.php';
} else {
    $linkfile = '';
}
if ($_REQUEST['action'] == 'sale') {
    $obook_handler->db->query('UPDATE ' . jieqi_dbprefix('obook_obook') . ' SET display=0 WHERE obookid=' . intval($_REQUEST['id']));
    $obook_handler->db->query('UPDATE ' . jieqi_dbprefix('obook_ochapter') . ' SET display=state WHERE obookid=' . intval($_REQUEST['id']));
    if (!empty($linkfile) && file_exists($linkfile)) {
        global $jieqiObookdata;
        include_once $linkfile;
        $jieqiObookdata['obook']['display'] = 0;
        $varstring = "<?php\n" . jieqi_extractvars('jieqiObookdata', $jieqiObookdata) . "\n?>";
        jieqi_writefile($linkfile, $varstring);
    }
} elseif ($_REQUEST['action'] == 'unsale') {
    $obook_handler->db->query('UPDATE ' . jieqi_dbprefix('obook_obook') . ' SET display=2 WHERE obookid=' . intval($_REQUEST['id']));
Exemplo n.º 27
0
         }
     }
 } else {
     $oldattachary = array();
 }
 //新附件入库
 if ($attachnum > 0) {
     include_once $jieqiModules['article']['path'] . '/class/articleattachs.php';
     if (!is_object($attachs_handler)) {
         $attachs_handler =& JieqiArticleattachsHandler::getInstance('JieqiArticleattachsHandler');
     }
     $attachdir = jieqi_uploadpath($jieqiConfigs['article']['attachdir'], 'article');
     if (!file_exists($attachdir)) {
         jieqi_createdir($attachdir);
     }
     $attachdir .= jieqi_getsubdir($chapter->getVar('articleid'));
     if (!file_exists($attachdir)) {
         jieqi_createdir($attachdir);
     }
     $attachdir .= '/' . $chapter->getVar('articleid');
     if (!file_exists($attachdir)) {
         jieqi_createdir($attachdir);
     }
     $attachdir .= '/' . $chapter->getVar('chapterid');
     if (!file_exists($attachdir)) {
         jieqi_createdir($attachdir);
     }
     //判断是否加水印
     $make_image_water = false;
     if (function_exists('gd_info') && $jieqiConfigs['article']['attachwater'] > 0 && JIEQI_MODULE_VTYPE != '' && JIEQI_MODULE_VTYPE != 'Free') {
         if (strpos($jieqiConfigs['article']['attachwimage'], '/') === false && strpos($jieqiConfigs['article']['attachwimage'], '\\') === false) {
Exemplo n.º 28
0
 $jieqiTpl->assign('url_bookcase', $article_dynamic_url . '/addbookcase.php?bid=' . $article->getVar('articleid'));
 //推荐本书
 $jieqiTpl->assign('url_uservote', $article_dynamic_url . '/uservote.php?id=' . $article->getVar('articleid'));
 //作家专栏
 if ($article->getVar('authorid') > 0) {
     $jieqiTpl->assign('url_authorpage', $article_dynamic_url . '/authorpage.php?id=' . $article->getVar('authorid'));
 } else {
     $jieqiTpl->assign('url_authorpage', '#');
 }
 $jieqiTpl->assign('url_authorarticle', $article_dynamic_url . '/authorarticle.php?author=' . urlencode($article->getVar('author', 'n')));
 //打包下载
 if ($article->getVar('chapters', 'n') > 0) {
     if ($jieqiConfigs['article']['makehtml'] == 0) {
         $jieqiTpl->assign('url_download', '#');
     } else {
         $jieqiTpl->assign('url_download', jieqi_uploadurl($jieqiConfigs['article']['zipdir'], $jieqiConfigs['article']['zipurl'], 'article', $article_static_url) . jieqi_getsubdir($article->getVar('articleid')) . '/' . $article->getVar('articleid') . $jieqi_file_postfix['zip']);
     }
     $jieqiTpl->assign('url_txtarticle', $article_static_url . '/txtarticle.php?id=' . $article->getVar('articleid'));
 } else {
     $jieqiTpl->assign('url_download', '#');
     $jieqiTpl->assign('url_txtarticle', '#');
 }
 //投票部分
 $showvote = 0;
 $jieqiConfigs['article']['articlevote'] = intval($jieqiConfigs['article']['articlevote']);
 if ($jieqiConfigs['article']['articlevote'] > 0 && isset($setting['avoteid']) && $setting['avoteid'] > 0) {
     include_once $jieqiModules['article']['path'] . '/class/avote.php';
     $avote_handler =& JieqiAvoteHandler::getInstance('JieqiAvoteHandler');
     $avote = $avote_handler->get($setting['avoteid']);
     if (is_object($avote)) {
         $jieqiTpl->assign('voteid', $avote->getVar('voteid'));
Exemplo n.º 29
0
function getsubdir($dirname, $id)
{
    global $jieqiConfigs;
    $retdir = '';
    if (!empty($dirname) && is_numeric($id)) {
        $retdir .= jieqi_getsubdir($id);
        if (!file_exists($retdir)) {
            jieqi_createdir($retdir);
        }
    }
    return $retdir;
}
Exemplo n.º 30
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;
}