public function initialize() { //获取站点配置 if (!isset($_SERVER['QUERY_STRING'])) { $_SERVER['QUERY_STRING'] = ''; } $setting = model('setting')->where('siteid', 1)->getOne(); $data['SEO'] = array(); $data['SEO']['title'] = $setting['title']; $data['SEO']['keywords'] = $setting['keywords']; $data['SEO']['description'] = $setting['description']; $template = $setting['template']; //站点配置中的前台模板 $data['page'] = isset($_GET['page']) ? $_GET['page'] : 1; $this->assign($data); unset($setting); Config::set(array('cache' => 1), 'database'); Config::template(); //载入模板配置,防止将所有的配置替换 //==配置模板风格和静态缓存生存时间 Config::set(array('view_name' => $template, 'template_parse' => 'template_parse', 'view_cache' => Config::cms('view_cache'), 'leftDelim' => Config::cms('tpl_leftDelim'), 'rightDelim' => Config::cms('tpl_rightDelim')), 'template'); Loader::func('gouwanmei'); //error_reporting(1); Config::set(array('debug' => 0), 'config'); }
public function set($setting, $siteid) { $setting = $this->addslashes($setting); $ssetting = array('title' => $setting['title'], 'keywords' => $setting['keywords'], 'description' => $setting['description'], 'template' => $setting['template'], 'registercheckcode' => $setting['registercheckcode'], 'logincheckcode' => $setting['logincheckcode'], 'membertokentype' => $setting['membertokentype']); if ($ssetting['template'] != Config::cms('view_name') || $setting['view_cache'] != Config::cms('view_cache') || $setting['view_cache_time'] != Config::cms('view_cache_time')) { $uset = array('view_name' => $ssetting['template'], 'view_cache' => $setting['view_cache'], 'view_cache_time' => $setting['view_cache_time']); config::set($uset, 'cms', 1); } return $this->where('siteid', 1)->update($ssetting); }
public function upload() { if (!isset($_GET['fieldid'])) { $status = array('error' => 1, 'message' => '参数有误!'); json_encode($status); exit; } $_GET['fieldid'] = intval($_GET['fieldid']); $field = model('model_field')->where('fieldid', $_GET['fieldid'])->getOne(); if (empty($field)) { $status = array('error' => 1, 'message' => '参数有误!'); json_encode($status); exit; } if ($field['formtype'] == 'editor') { $ext_arr = array('image' => array('gif', 'jpg', 'jpeg', 'png', 'bmp'), 'flash' => array('swf', 'flv'), 'media' => array('swf', 'flv', 'mp3', 'wav', 'wma', 'wmv', 'mid', 'avi', 'mpg', 'asf', 'rm', 'rmvb'), 'file' => array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'htm', 'html', 'txt', 'zip', 'rar', 'gz', 'bz2')); } else { if ($field['formtype'] == 'picture' || $field['formtype'] == 'pictures') { $field['setting'] = unserialize($field['setting']); $type = explode('|', $field['setting']['p_allow_type']); $ext_arr = array('image' => $type, 'flash' => array(), 'media' => array(), 'file' => array()); } else { if ($field['formtype'] == 'file') { $field['setting'] = unserialize($field['setting']); $type = explode('|', $field['setting']['f_allow_type']); $ext_arr = array('image' => array(), 'flash' => array(), 'media' => array(), 'file' => $type); } else { $status = array('error' => 1, 'message' => '此字段不允许上传文件!'); echo json_encode($status); exit; } } } //var_dump($field);exit; $save_path = __ROOT__ . Config::cms('upload_path'); $max_size = 40000000; $status = array('error' => 1, 'message' => "参数不完整!"); if (isset($_FILES['imgFile'])) { if (!empty($_FILES['imgFile']['error'])) { switch ($_FILES['imgFile']['error']) { case '1': $error = '超过php.ini允许的大小。'; break; case '2': $error = '超过表单允许的大小。'; break; case '3': $error = '图片只有部分被上传。'; break; case '4': $error = '请选择图片。'; break; case '6': $error = '找不到临时目录。'; break; case '7': $error = '写文件到硬盘出错。'; break; case '8': $error = 'File upload stopped by extension。'; break; case '999': default: $error = '未知错误。'; } $status['message'] = $error; unset($error); echo json_encode($status); exit; } if (empty($_FILES) === false) { //有上传文件 //原文件名 $file_name = $_FILES['imgFile']['name']; //服务器上临时文件名 $tmp_name = $_FILES['imgFile']['tmp_name']; //文件大小 $file_size = $_FILES['imgFile']['size']; //检查文件名 if (!$file_name) { $status['message'] = "请选择文件。"; echo json_encode($status); exit; } //检查目录 if (@is_dir($save_path) === false) { $status['message'] = "上传目录不存在。"; echo json_encode($status); exit; } //检查目录写权限 if (@is_writable($save_path) === false) { $status['message'] = "上传目录没有写权限。"; echo json_encode($status); exit; } //检查是否已上传 if (@is_uploaded_file($tmp_name) === false) { $status['message'] = "上传失败。"; echo json_encode($status); exit; } //检查文件大小 if ($file_size > $max_size) { $status['message'] = "上传文件大小超过限制。"; echo json_encode($status); exit; } //检查目录名 $dir_name = empty($_GET['dir']) ? 'image' : trim($_GET['dir']); if (empty($ext_arr[$dir_name])) { $status['message'] = "目录名不正确。"; echo json_encode($status); exit; } //获得文件扩展名 $temp_arr = explode(".", $file_name); $file_ext = array_pop($temp_arr); $file_ext = trim($file_ext); $file_ext = strtolower($file_ext); //检查扩展名 if (in_array($file_ext, $ext_arr[$dir_name]) === false) { $status['message'] = "上传文件扩展名是不允许的扩展名。\n只允许" . implode(",", $ext_arr[$dir_name]) . "格式。"; echo json_encode($status); exit; } //创建文件夹 if ($dir_name !== '') { $save_path .= $dir_name . "/"; $save_url = Config::cms('upload_url') . $dir_name . "/"; if (!file_exists($save_path)) { mkdir($save_path); } } $ymd = date("Ymd"); $save_path .= $ymd . "/"; $save_url .= $ymd . "/"; if (!file_exists($save_path)) { mkdir($save_path); } //新文件名 $new_file_name = date("YmdHis") . '_' . rand(10000, 99999) . '.' . $file_ext; //移动文件 $file_path = $save_path . $new_file_name; if (move_uploaded_file($tmp_name, $file_path) === false) { $status['message'] = "上传文件失败。"; echo json_encode($status); exit; } @chmod($file_path, 0644); $file_url = $save_url . $new_file_name; $attach = array('attachname' => $file_name, 'attachsize' => $file_size, 'attachtype' => $dir_name, 'attachtime' => time(), 'attachpath' => $file_url, 'userid' => $this->user['userid']); model('attaches')->insert($attach); echo json_encode(array('error' => 0, 'url' => $file_url)); exit; } } echo json_encode($status); exit; }
public function content($method = 'category', $cid = false, $id = false) { $data['SEO'] = $this->load->template()->var['SEO']; if ($method == 'category' || $method == 'page') { if ($cid == false) { header('HTTP/1.1 404 Not Found'); header("status: 404 Not Found"); echo '<script type="text/javascript" src="http://www.qq.com/404/search_children.js" charset="utf-8" homePageUrl="/index.php" homePageName="回到' . $this->setting['title'] . '"></script>'; exit; } else { $category = module('content')->category($cid); if (!$category) { header('HTTP/1.1 404 Not Found'); header("status: 404 Not Found"); echo '<script type="text/javascript" src="http://www.qq.com/404/search_children.js" charset="utf-8" homePageUrl="/index.php" homePageName="回到' . $this->setting['title'] . '"></script>'; exit; } $data['SEO']['title'] = $category['catname'] . '_' . $this->load->template()->var['SEO']['title']; if (isset($category['keywords'])) { $data['SEO']['keywords'] = $category['keywords'] . ',' . $this->load->template()->var['SEO']['keywords']; } $data['category'] = $category; $data['cid'] = $category['cid']; foreach ($category as $key => $value) { $data[$key] = $value; } //----开始编译并且设置缓存 //echo $this->cacheKey?$cid.$this->cacheKey:$this->cacheKey; if ($this->cacheKey) { view($category['view'], $data, Config::cms('view_cache_time'), $cid . $this->cacheKey); } else { view($category['view'], $data); } } } elseif ($method == 'show') { if ($cid == false || $id == false) { header('HTTP/1.1 404 Not Found'); header("status: 404 Not Found"); exit; } else { $category = module('content')->category($cid); $content = module('content')->content($cid, $id); if (!$category || !$content) { header('HTTP/1.1 404 Not Found'); header("status: 404 Not Found"); echo '<script type="text/javascript" src="http://www.qq.com/404/search_children.js" charset="utf-8" homePageUrl="/index.php" homePageName="回到' . $this->setting['title'] . '"></script>'; exit; } $data['SEO']['title'] = $content['title'] . '-' . $category['catname'] . '_' . $this->load->template()->var['SEO']['title']; if (isset($content['keywords'])) { $data['SEO']['keywords'] = $content['keywords'] . ',' . $this->load->template()->var['SEO']['keywords']; } $data['category'] = $category; foreach ($content as $key => $value) { $data[$key] = $value; } $data['id'] = $content['id']; $data['cid'] = $category['cid']; $data['previous'] = Module('content')->previousContent($cid, $id); $data['next'] = Module('content')->nextContent($cid, $id); //----开始编译并且设置缓存 if ($this->cacheKey) { view($content['template'], $data, Config::cms('view_cache_time'), $cid . '-' . $id . $this->cacheKey); } else { view($content['template'], $data); } } } else { header('HTTP/1.1 404 Not Found'); header("status: 404 Not Found"); echo '<script type="text/javascript" src="http://www.qq.com/404/search_children.js" charset="utf-8" homePageUrl="/index.php" homePageName="回到我的主页"></script>'; exit; } }
/** * @param $type 要清理的缓存存放的空间 */ public function flush_cache($type) { //可以以后再加 $cachetype = array('db', 'view_c', 'admin', 'cms'); if ($type == 'db') { echo '正在清理数据库缓存。。。。。。<br>'; ob_flush(); flush(); echo (cache::flush(Config::database('cache_dir')) ? '后台数据库缓存清理完成。' : '后台数据库缓存清理失败!') . '<br>'; ob_flush(); flush(); } else { if ($type == 'view_c') { echo '正在清理后台模板缓存。。。。。。<br>'; ob_flush(); flush(); echo (cache::flush(Config::template('view_c_dir')) ? '后台数据库缓存清理完成。' : '后台数据库缓存清理失败!') . '<br>'; ob_flush(); flush(); echo '正在清理前台缓存。。。。。。<br/>'; ob_flush(); flush(); echo (cache::flush(Config::cms('cms_app_name')) ? '前台缓存清理完成。' : '前台缓存清理失败!') . '<br>'; ob_flush(); flush(); } else { if ($type == 'admin') { echo '正在清理后台缓存。。。。。。<br>'; ob_flush(); flush(); echo (cache::flush('admin') ? '后台缓存清理完成。' : '后台缓存清理失败!') . '<br>'; ob_flush(); flush(); } else { if ($type == 'all') { foreach ($cachetype as $type) { $this->flush_cache($type); } echo '缓存清理完毕!'; } } } } }
} if ($rename && $target && rename($target, $rename)) { $arr['new_name'] = $base_name; $arr['new_path'] = $new_path; $arr['msg'] = '重命名操作成功!'; $arr['result'] = 'success'; } if ($target == __FILE__) { $arr['redirect'] = $new_path; } die(json_encode($arr)); } //获取代码文件内容 $code = file_get_contents($curr_file); $tree = '<ul id="dir_tree"> <li class="dir" path="' . $curr_file . '" onclick="load()">' . Config::cms('view_name') . list_dir($curr_file, 'html') . '</li> </ul>'; //登陆和设置密码共用模版 $first = <<<HTMLSTR <!DOCTYPE html> <html><head><meta charset="UTF-8"> <title>【标题】</title> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <style type="text/css" media="screen"> body { \toverflow: hidden;background-color:#f9f9ff; color: #444; font-size: 12px; margin: 0; \tfont-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace; } form { display: none; position: absolute; } form h5 { font-size: 14px; font-weight: normal; margin: 0; line-height: 2em; } form input {
<div style="controls"> <textarea name="description" class="control-text input-large" style="height:90px;margin:10px;margin-top: 0px"><?php echo isset($description) ? $description : $this->var['description']; ?> </textarea> </div> </div> </div> <div style="clear: both;"></div> <div class="row"> <div class="control-group span24"> <label class="control-label">静态缓存开关:</label> <div class="controls"> <select name="view_cache" id="" val="<?php echo Config::cms('view_cache'); ?> " style="width:80px"> <option value="0">关闭</option> <option value="1">开启</option> </select> </div> </div> </div> <div class="row"> <div class="control-group span24"> <label class="control-label">静态缓存时间(秒):</label> <div class="controls"> <input type="number" name="view_cache_time" class="control-text" value="<?php echo config::cms('view_cache_time'); ?>