function jieqi_save_modconfig($jieqiModules) { $file = JIEQI_ROOT_PATH . '/configs/modules.php'; $data = '<?php' . "\r\n"; foreach ($jieqiModules as $k => $v) { $tmpvar = $k == 'system' ? '' : '/modules/' . $k; if ($v['dir'] == $tmpvar) { $v['dir'] = ''; } if ($v['path'] == JIEQI_ROOT_PATH . $tmpvar) { $v['path'] = ''; } if ($v['url'] == JIEQI_LOCAL_URL . $tmpvar) { $v['url'] = ''; } if ($v['theme'] == JIEQI_THEME_SET) { $v['theme'] = ''; } $data .= '$jieqiModules[\'' . jieqi_setslashes($k, '"') . '\'] = array(\'caption\'=>\'' . jieqi_setslashes($v['caption'], '"') . '\', \'dir\'=>\'' . jieqi_setslashes($v['dir'], '"') . '\', \'path\'=>\'' . jieqi_setslashes($v['path'], '"') . '\', \'url\'=>\'' . jieqi_setslashes($v['url'], '"') . '\', \'theme\'=>\'' . jieqi_setslashes($v['theme'], '"') . '\', \'publish\'=>\'' . jieqi_setslashes($v['publish'], '"') . '\');' . "\r\n"; } $data .= '?>'; jieqi_writefile($file, $data); }
/** * 将一个变量转换成可保存在设置文件的字符串 * * @param string $varname 变量名 * @param mixed $vars 要保存的变量 * @access public * @return string */ function jieqi_extractvars($varname, &$vars) { $extract_array_str = ''; if (is_array($vars)) { foreach ($vars as $key => $val) { if (is_array($val)) { $extract_array_str .= jieqi_extractvars($varname . "['" . jieqi_setslashes($key, '"') . "']", $vars[$key]); } else { $extract_array_str .= '$' . $varname . "['" . jieqi_setslashes($key, '"') . "'] = '" . jieqi_setslashes($val, '"') . "';\n"; } } } else { $extract_array_str .= '$' . $varname . " = '" . jieqi_setslashes($vars, '"') . "';\n"; } return $extract_array_str; }
} //写入备份配置文件 jieqi_setconfigs('backuplog', 'jieqiBackuplog', $jieqiBackuplog, JIEQI_MODULE_NAME); } elseif ($exportmode == 'mysqldump') { $volume = 1; $tablesstr = ''; $filestring = '<li>' . $jieqiLang[JIEQI_MODULE_NAME]['export_status_title'] . '</li>'; foreach ($tables as $t) { $tablesstr .= '"' . $t . '" '; } list($dbhost, $dbport) = explode(':', JIEQI_DB_HOST); $result = $query_handler->db->query("SHOW VARIABLES LIKE 'basedir'"); list(, $mysql_base) = @mysql_fetch_array($result, MYSQL_NUM); $dumpfile = $backupfilename . '-' . $volume . '.sql'; jieqi_delfile($dumpfile); $mysqlbin = $mysql_base == '/' ? '' : jieqi_setslashes($mysql_base) . 'bin/'; @shell_exec($mysqlbin . 'mysqldump --force --quick ' . (MYSQL_SERVER_INFO > '4.1' ? '--skip-opt --create-options' : '-all') . ' --add-drop-table' . (JIEQI_DB_CHARSET ? ' --default-character-set="' . JIEQI_DB_CHARSET . '"' : '') . ($extendins == 1 ? ' --extended-insert' : '') . '' . (MYSQL_SERVER_INFO > '4.1' && $sqlcompat == 'MYSQL40' ? ' --compatible=mysql40' : '') . ' --host="' . $dbhost . '"' . ($dbport ? is_numeric($dbport) ? ' --port="' . $dbport . '"' : ' --socket="' . $dbport . '"' : '') . ' --user="******" --password="******" "' . JIEQI_DB_NAME . '" ' . $tablesstr . ' > ' . $dumpfile); if (@file_exists($dumpfile)) { if (@is_writeable($dumpfile)) { $fp = @fopen($dumpfile, 'rb+'); @fwrite($fp, $idstring . "# <?php exit();?>\n " . $setnames . "\n #"); @fclose($fp); } /*anchor:28 //压缩SQL文件 if($usezip){ if(!jieqi_makezip($filename, $volume+1, $usezip)) jieqi_printfail($jieqiLang[JIEQI_MODULE_NAME]['create_zip_failure']); } */ //处理结果赋值到模板 $jieqiTpl->assign('option', 3);
if (!isset($_GET['custom'])) { $_GET['custom'] = 0; } if (!isset($_GET['filename'])) { $_GET['filename'] = 'block_custom'; $_GET['custom'] = 1; } if (!isset($_GET['hasvars'])) { $_GET['hasvars'] = 0; } if (!isset($_GET['vars'])) { $_GET['vars'] = ''; } if (!isset($_GET['publish'])) { $_GET['publish'] = 3; } if (!isset($_GET['contenttype'])) { $_GET['contenttype'] = JIEQI_CONTENT_PHP; } include_once JIEQI_ROOT_PATH . '/header.php'; $blockdata = jieqi_get_block($_GET, 1); if (!empty($_REQUEST['ajax_request'])) { $_GET['showtype'] = 'html'; header('Content-Type:text/html; charset=' . JIEQI_CHAR_SET); header("Cache-Control:no-cache"); } if ($_GET['showtype'] == 'html') { echo $blockdata; } else { echo "document.write('" . jieqi_setslashes(str_replace(array("\r", "\n"), '', $blockdata), '"') . "');"; }
default: if (!isset($_POST[$tmpkey])) { $tmpval = $v->getVar('cvalue'); } else { $tmpval = $_POST[$tmpkey]; } break; break; } //参数改变了,需要改变数据库 if ($tmpval != $v->getVar('cvalue', 'n')) { $v->setVar('cvalue', $tmpval); $configs_handler->insert($v); } if ($v->getVar('cdefine') == '1') { $cfgdefine .= "@define('" . $tmpkey . "','" . jieqi_setslashes($tmpval, '"') . "');\n"; } else { $cfgarray[$_REQUEST['mod']][$tmpkey] = $tmpval; } } while ($v = $configs_handler->getObject()); if (count($cfgarray) > 0) { jieqi_setconfigs('configs', 'jieqiConfigs', $cfgarray, $_REQUEST['mod']); } if (!empty($cfgdefine)) { $isdefine = 1; $dir = JIEQI_ROOT_PATH . '/configs'; if (!file_exists($dir)) { @mkdir($dir, 0777); } @chmod($dir, 0777); if ($_REQUEST['mod'] != 'system') {
global $jieqiObookdata; include_once $linkfile; $ochapterrows = array(); if ($jieqiObookdata['obook']['display'] == 0) { $i = 0; foreach ($jieqiObookdata['ochapter'] as $chapter) { if ($chapter['display'] == 0) { $ochapterrows[$i]['ochapterid'] = jieqi_htmlstr($chapter['ochapterid']); $ochapterrows[$i]['chaptername'] = jieqi_htmlstr($chapter['chaptername']); $ochapterrows[$i]['saleprice'] = jieqi_htmlstr($chapter['saleprice']); $ochapterrows[$i]['size'] = jieqi_htmlstr($chapter['size']); $ochapterrows[$i]['postdate'] = date('Y-m-d H:i:s', $chapter['postdate']); $i++; } } //包含包含模板类 include_once JIEQI_ROOT_PATH . '/lib/template/template.php'; $jieqiTpl =& JieqiTpl::getInstance(); $jieqiTpl->assign('obookid', jieqi_htmlstr($jieqiObookdata['obook']['obookid'])); $jieqiTpl->assign('obookname', jieqi_htmlstr($jieqiObookdata['obook']['obookname'])); $jieqiTpl->assign('articleid', intval($_REQUEST['aid'])); $jieqiTpl->assign_by_ref('ochapterrows', $ochapterrows); $jieqiTpl->setCaching(0); if (empty($_REQUEST['convertjs'])) { $jieqiTpl->display($jieqiModules['obook']['path'] . '/templates/obookindexjs.html'); } else { $data = $jieqiTpl->fetch($jieqiModules['obook']['path'] . '/templates/obookindexjs.html'); echo "document.write('" . jieqi_setslashes($data) . "');"; } } }
function makestaticreview($article_id) { global $jieqiConfigs; global $jieqiTpl; global $article_dynamic_url; global $article_static_url; if (!is_object($jieqiTpl)) { $jieqiTpl =& JieqiTpl::getInstance(); } if (empty($article_id) || !is_numeric($article_id)) { return false; } $review_handler =& JieqiReviewHandler::getInstance('JieqiReviewHandler'); $criteria = new CriteriaCompo(new Criteria('ownerid', $article_id)); $criteria->setSort('topflag DESC, topicid'); $criteria->setOrder('DESC'); $criteria->setLimit($jieqiConfigs['article']['reviewnew']); $criteria->setStart(0); $review_handler->queryObjects($criteria); $reviewrows = array(); $k = 0; while ($v = $review_handler->getObject()) { $start = 3; if ($v->getVar('topflag') == 1) { $reviewrows[$k]['topflag'] = 1; $start += 4; } else { $reviewrows[$k]['topflag'] = 0; } if ($v->getVar('goodflag') == 1) { $reviewrows[$k]['goodflag'] = 1; $start += 4; } else { $reviewrows[$k]['goodflag'] = 0; } 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]['postdate'] = date(JIEQI_DATE_FORMAT . ' ' . JIEQI_TIME_FORMAT, $v->getVar('postdate')); $reviewrows[$k]['userid'] = $v->getVar('userid'); $reviewrows[$k]['username'] = $v->getVar('username'); $k++; } $jieqiTpl->assign_by_ref('reviewrows', $reviewrows); $jieqiTpl->assign('url_goodreview', $article_dynamic_url . '/review.php?aid=' . $article_id . '&type=good'); $jieqiTpl->assign('url_allreview', $article_dynamic_url . '/review.php?aid=' . $article_id . '&type=all'); $jieqiTpl->assign('url_review', $article_dynamic_url . '/review.php?aid=' . $article_id); $jieqiTpl->setCaching(0); $reviewjs = $jieqiTpl->fetch($GLOBALS['jieqiModules']['article']['path'] . '/templates/staticreview.html'); $reviewjs = "document.write('" . jieqi_setslashes(str_replace(array("\n", "\r"), "", $reviewjs), '"') . "');"; 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_id); if (!file_exists($dirname)) { jieqi_createdir($dirname); } $dirname .= '/' . $article_id . 'r.js'; jieqi_writefile($dirname, $reviewjs); return true; }