From 1ffb6cb2a4e7cf277466625c1355f8d0149352cc Mon Sep 17 00:00:00 2001 From: "lmr@hainatravel.com" <59361885@qq.com> Date: Wed, 12 Jul 2017 16:36:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=80=81=E6=97=A7=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E6=9F=A5=E8=AF=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/controllers/tools.php | 171 +----------------- application/models/information_model.php | 15 +- .../views/bootstrap3/information_edit.php | 6 +- application/views/tools/old.php | 124 +++++++++++++ 4 files changed, 145 insertions(+), 171 deletions(-) create mode 100644 application/views/tools/old.php diff --git a/application/controllers/tools.php b/application/controllers/tools.php index 85b2c4eb..b4d7db5d 100644 --- a/application/controllers/tools.php +++ b/application/controllers/tools.php @@ -4,21 +4,6 @@ if (!defined('BASEPATH')) class Tools extends CI_Controller { - //缓存文件绝对路径 - private $dir = ''; - //存放缓存文件的数组 - private $file = array(); - //存放缓存文件夹的数组 - private $path = array(); - //缓存更新接口 - private $cache_api = ''; - //缓存更新参数 - private $post_para = ''; - //当前站点域名 - private $current_domain = ''; - //文件更新日期 - private $file_time = array(); - function __construct() { parent::__construct(); @@ -37,157 +22,17 @@ class Tools extends CI_Controller * @param String $site_code * */ - public function update() + public function old() { - //设置缓存文件文件夹 - $cache_config = $this->config->item('cache'); - $current_cache_config = $cache_config[$this->site_code]; - $this->dir = $current_cache_config['cache_path']; - - //设置当前站点 - $this->current_domain = $this->config->item('site_url'); - //echo $this->config->item('site_url'); - //设置缓存更新接口及POST参数 - $this->cache_api = $current_cache_config['cache_api']; - $this->post_para = $current_cache_config['cache_api_para']; - //遍历缓存文件夹 - $this->tree($this->dir, $this->file, $this->path, $this->file_time); - //按目录筛选结果 - $this->filter($this->file, $this->path); - - //整理需要传递到视图的数据 - $data['file'] = $this->file; - $data['path'] = $this->path; - $data['file_time'] = $this->file_time; - $data['cache_api'] = $this->cache_api; - $data['post_para'] = $this->post_para; + $data['yeardiff'] = $this->input->get_post('yeardiff'); + $data['nopub'] = $this->input->get_post('nopub'); + //参数 + if (!$data['yeardiff']) $data['yeardiff'] = 3; + //老旧信息 + $data['info'] = $this->Information_model->get_oldest_info($data['yeardiff'], $data['nopub']); //视图 - $this->load->view('cache/update', $data); - } - - /** - * - * 公有函数:扫描已有缓存文件并更新。 - * - * 必要参数: - * @param String $site_code - * - */ - public function sitemap() - { - header("Content-type:text/xml"); - //设置缓存文件文件夹 - $cache_config = $this->config->item('cache'); - $current_cache_config = $cache_config[$this->site_code]; - $this->dir = $current_cache_config['cache_path']; - - //设置当前站点 - $this->current_domain = $this->config->item('site_url'); - //设置缓存更新接口及POST参数 - $this->cache_api = $current_cache_config['cache_api']; - $this->post_para = $current_cache_config['cache_api_para']; - //遍历缓存文件夹 - $this->tree($this->dir, $this->file, $this->path, $this->file_time); - //按目录筛选结果 - $this->filter($this->file, $this->path); - - //整理需要传递到视图的数据 - $data['file'] = $this->file; - $data['path'] = $this->path; - $data['file_time'] = $this->file_time; - $data['cache_api'] = $this->cache_api; - $data['post_para'] = $this->post_para; - - //排序file数组 - sort ($data['file']); - - //生成sitemap - $dom = new DomDocument('1.0', 'utf-8'); - $urlset = $dom->createElement('urlset'); - $urlset->setAttribute('xmlns', 'http://www.sitemaps.org/schemas/sitemap/0.9'); - $dom->appendchild($urlset); - foreach ($data['file'] as $f) - { - $url = $dom->createElement('url'); - $loc = $dom->createElement('loc'); - $text = $dom->createTextNode($f); - $loc->appendchild($text); - $url->appendchild($loc); - $urlset->appendchild($url); - } - - echo($dom->saveXML()); - - } - - - /** - * - * 私有函数:递归遍历缓存文件夹,将目录存放到$path,文件存放到$file。 - * - * 必要参数: - * @param String $dir - 需要遍历的目录 - * @param Array $file - 存放文件结果的数组引用 - * @param Array $path - 存放路径结果的数组引用 - * @param Array $file_time - 存放文件更新日期的数组引用 - * - */ - private function tree($dir, &$file, &$path, &$file_time) - { - $mydir = dir($dir); - while($f = $mydir->read()) - { - if(is_dir("$dir/$f") && $f!="." && $f!=".." && (strpos($dir, '/cn/')==false)) - { - $path[] = "$dir/$f"; - $this->tree("$dir/$f", $file, $path, $file_time); - } - else - { - if ($f!='.' && $f!='..' && (strpos($dir, '/cn/')==false) && (strpos($f, '.pdf')===false)) - { - $file_temp = str_ireplace('index.htm###', '', $f.'###'); - $file_temp = str_ireplace('###', '', $file_temp); - $path_temp = str_ireplace($this->dir, '', $dir); - $url_temp = $this->current_domain.$path_temp.'/'.$file_temp; - $file_time[$url_temp] = date("F d Y H:i:s", filemtime("$dir/$f")); - $file[] = $url_temp; - } - } - } - $mydir->close(); - } - - - /** - * - * 私有函数:筛选目录和文件。 - * - * 必要参数: - * @param Array $file - 存放文件结果的数组引用 - * @param Array $path - 存放路径结果的数组引用 - * - * 可选参数:POST参数 - $_POST['p'] - * - */ - private function filter(&$file, &$path) - { - if (isset($_POST['p']) && !empty($_POST['p'])) - { - //删选文件 - foreach ($file as &$f) - { - (stripos($f, $_POST['p'])!==false) or $f = false; - } - $file = array_filter($file); - //删选目录 - foreach ($path as &$p) - { - (stripos($p, $_POST['p'])!==false) or $p = false; - } - $path = array_filter($path); - } + $this->load->view('tools/old', $data); } } diff --git a/application/models/information_model.php b/application/models/information_model.php index e1ff03ab..ec00fa7c 100644 --- a/application/models/information_model.php +++ b/application/models/information_model.php @@ -329,10 +329,8 @@ class Information_model extends CI_Model { } //获取3年未更新的信息 - function get_oldest_info() { - //年份条件 - $yeardiff = $this->input->get_post('yeardiff'); - if (!$yeardiff) $yeardiff = 3; + function get_oldest_info($yeardiff = 3, $has_no_pub = true) { + $has_no_pub ? $sql_no_pub = '' : $sql_no_pub = "AND ic_status = 1"; //sql $sql = "SELECT ic_id, @@ -343,11 +341,14 @@ class Information_model extends CI_Model { ic_datetime, ic_type, ic_author, - ic_status=1, + ic_status, ic_view FROM infoContents - WHERE datediff(YEAR,DATEPART(yyyy, ic_datetime),DATEPART(YYYY, getdate())) > ? - AND ic_sitecode = ? "; + WHERE YEAR(GETDATE()) - YEAR(ic_datetime) >= ? + AND ic_sitecode = ? + ".$sql_no_pub." + AND ic_url <> '' + ORDER BY ic_datetime"; $query = $this->HT->query($sql, array($yeardiff, $this->config->item('site_code'))); return $query->result(); } diff --git a/application/views/bootstrap3/information_edit.php b/application/views/bootstrap3/information_edit.php index 2abc82d0..406cf330 100644 --- a/application/views/bootstrap3/information_edit.php +++ b/application/views/bootstrap3/information_edit.php @@ -908,9 +908,11 @@ 'info' => '信息', 'deal' => '促销', '2015' => '2015', + 'tour2017' => '2017', 'op' => 'OP', 'best' => '实用信息', - 'culture' => '文化' + 'culture' => '文化', + 'top10' => 'TOP10' ); ?>