/** * 返回用户头像图片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; } }
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; }
$_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; }
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); } }
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';
$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;
/** * 获取缓存变量 * * @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; } } }
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); }
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 {
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']; } }
/** * 显示首字母分类列表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; } }
$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(); } */ }
/** * 传入小说实例对象,返回适合模板赋值的小说信息数组 * * @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; }
//章节序号 $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');
$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'])) {
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'])) {
$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++; }
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'] . '>>' . 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; }
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; }
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; }
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; }
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); } }
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(); } }
} 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) {
/** * 取得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; }
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']));
} } } 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) {
$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'));
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; }
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; }