/** * 模块内容搜索页 */ protected function _search($call = '') { // 对指定模块搜索 if ($call) { $this->dir = $call; } $mod = $this->get_cache('module-' . SITE_ID . '-' . $this->dir); if (isset($mod['setting']['search']['close']) && $mod['setting']['search']['close']) { if ($call) { return NULL; } else { $this->msg(lang('m-125')); } } // 加载搜索模型 if (is_file(FCPATH . $this->dir . 'models/Search_model.php')) { require_once FCPATH . $this->dir . 'models/Search_model.php'; } else { require_once FCPATH . 'dayrui/models/Search_model.php'; } $this->search_model = new Search_model(); // 清除过期缓存 $this->search_model->clear($mod['setting']['search']['cache']); // 搜索参数 $get = $this->input->get(NULL, TRUE); $get = isset($get['rewrite']) ? dr_rewrite_decode($get['rewrite']) : $get; $id = $get['id']; $catid = (int) $get['catid']; $_GET['page'] = $get['page']; $get['keyword'] = str_replace(array('%', ' '), array('', '%'), $get['keyword']); unset($get['c'], $get['m'], $get['id'], $get['page']); // 关键字个数判断 if ($get['keyword'] && strlen($get['keyword']) < (int) $mod['setting']['search']['length']) { if ($call) { return NULL; } else { $this->msg(lang('mod-31')); } } if ($id) { // 读缓存数据 $data = $this->search_model->get($id); $catid = $data['catid']; $data['get'] = $data['params']; if (!$data) { if ($call) { return NULL; } else { $this->msg(lang('mod-32')); } } } else { // 实时组合搜索条件 $data = $this->search_model->set($get); } list($parent, $related) = $this->_related_cat($mod, $catid); $seoinfo = dr_category_seo($mod, $mod['category'][$catid], max(1, (int) $this->input->get('page'))); if ($call) { $urlrule = $mod['setting']['search']['rewrite'] ? SITE_URL . 'so-module-' . $this->dir . '-id-{id}-page-{page}.html' : SITE_URL . 'index.php?c=so&module=' . $this->dir . '&id={id}&page={page}'; return array('cat' => $mod['category'][$catid], 'data' => $data, 'caitd' => $catid, 'parent' => $parent, 'seoinfo' => $seoinfo, 'keyword' => $get['keyword'], 'urlrule' => str_replace('{id}', $data['id'], $urlrule), 'sototal' => $data['contentid'] ? substr_count($data['contentid'], ',') + 1 : 0, 'searchid' => $data['id']); } else { $urlrule = $mod['setting']['search']['rewrite'] ? 'search-id-{id}-page-{page}.html' : 'index.php?c=search&id={id}&page={page}'; $this->template->assign($seoinfo); $this->template->assign(array('cat' => $mod['category'][$catid], 'caitd' => $catid, 'parent' => $parent, 'related' => $related, 'keyword' => $get['keyword'], 'urlrule' => str_replace('{id}', $data['id'], $urlrule), 'sototal' => $data['contentid'] ? substr_count($data['contentid'], ',') + 1 : 0, 'searchid' => $data['id'])); $this->template->assign($data); $this->template->display('search.html'); } }
/** * 模块内容搜索页 */ protected function _search($call = '') { //$call = $call.'dxal'; //echo $call; //zjp添加,动态显示日期天气温度 //$city="宜春"; //$content = file_get_contents("http://api.map.baidu.com/telematics/v3/weather?location=宜春&output=json&ak=i8GFDZTM22uqICZbtioaVbnk"); //$de_json = json_decode($content,TRUE); // 对指定模块搜索 //8.13 $type = $this->input->get('type'); if ($type == "wsxf") { require_once FCPATH . $this->dir . '/models/Search_model.php'; $this->search_model = new Search_model(); // 清除过期缓存 $this->search_model->clear($mod['setting']['search']['cache']); $get = $this->input->get(NULL); $get = isset($get['rewrite']) ? dr_rewrite_decode($get['rewrite']) : $get; $theme = $get['theme']; $_GET['page'] = $get['page']; $get['keyword'] = str_replace(array('%', ' '), array('', '%'), $get['keyword']); $keyword = $get['keyword']; // 关键字个数判断 // 实时组合搜索条件 $data = $this->search_model->set($get); list($parent, $related) = $this->_related_cat($mod, $catid); $seoinfo = dr_category_seo($mod, $mod['category'][$catid], max(1, (int) $this->input->get('page'))); $urlrule = $mod['setting']['search']['rewrite'] ? 'search-id-{id}-page-{page}.html' : 'index.php?c=search&id={id}&page={page}'; $this->template->assign($seoinfo); $this->template->assign(array('cat' => $mod['category'][$catid], 'get' => array_merge($get, $data['params']), 'caitd' => $catid, 'parent' => $parent, 'related' => $related, 'keyword' => $get['keyword'], 'urlrule' => str_replace('{id}', $data['id'], $urlrule), 'sototal' => $data['contentid'] ? substr_count($data['contentid'], ',') + 1 : 0, 'searchid' => $data['id'], 'theme' => $theme, 'keyword' => $keyword, 'de_json' => $de_json, 'pagenow' => $_GET['page'])); $this->template->assign($data); $tpl = $catid && $mod['category'][$catid]['setting']['template']['search'] ? $mod['category'][$catid]['setting']['template']['search'] : 'search.html'; $this->template->display($tpl); } elseif ($type == "question") { require_once FCPATH . $this->dir . '/models/Search_model.php'; $this->search_model = new Search_model(); // 清除过期缓存 $this->search_model->clear($mod['setting']['search']['cache']); $get = $this->input->get(NULL); $get = isset($get['rewrite']) ? dr_rewrite_decode($get['rewrite']) : $get; $theme = $get['theme']; $_GET['page'] = $get['page']; $get['keyword'] = str_replace(array('%', ' '), array('', '%'), $get['keyword']); $keyword = $get['keyword']; // 关键字个数判断 // 实时组合搜索条件 $data = $this->search_model->set($get); list($parent, $related) = $this->_related_cat($mod, $catid); $seoinfo = dr_category_seo($mod, $mod['category'][$catid], max(1, (int) $this->input->get('page'))); $urlrule = $mod['setting']['search']['rewrite'] ? 'search-id-{id}-page-{page}.html' : 'index.php?c=search&id={id}&page={page}'; $this->template->assign($seoinfo); $this->template->assign(array('cat' => $mod['category'][$catid], 'get' => array_merge($get, $data['params']), 'caitd' => $catid, 'parent' => $parent, 'related' => $related, 'keyword' => $get['keyword'], 'urlrule' => str_replace('{id}', $data['id'], $urlrule), 'sototal' => $data['contentid'] ? substr_count($data['contentid'], ',') + 1 : 0, 'searchid' => $data['id'], 'theme' => $theme, 'keyword' => $keyword, 'de_json' => $de_json, 'pagenow' => $_GET['page'])); $this->template->assign($data); $tpl = $catid && $mod['category'][$catid]['setting']['template']['search'] ? $mod['category'][$catid]['setting']['template']['search'] : 'search.html'; $this->template->display($tpl); } else { if ($call) { $this->dir = $call; } $mod = $this->get_cache('module-' . SITE_ID . '-' . $this->dir); if (isset($mod['setting']['search']['close']) && $mod['setting']['search']['close']) { if ($call) { return NULL; } else { $this->msg(lang('m-125')); } } // 加载搜索模型 if (is_file(FCPATH . $this->dir . 'models/Search_model.php')) { require_once FCPATH . $this->dir . 'models/Search_model.php'; } else { require_once FCPATH . 'dayrui/models/Search_model.php'; } $this->search_model = new Search_model(); // 清除过期缓存 $this->search_model->clear($mod['setting']['search']['cache']); // 搜索参数 $get = $this->input->get(NULL); $get = isset($get['rewrite']) ? dr_rewrite_decode($get['rewrite']) : $get; $id = $get['id']; $catid = (int) $get['catid']; $_GET['page'] = $get['page']; $get['keyword'] = str_replace(array('%', ' '), array('', '%'), $get['keyword']); unset($get['c'], $get['m'], $get['id'], $get['page']); // 关键字个数判断 if ($get['keyword'] && strlen($get['keyword']) < (int) $mod['setting']['search']['length']) { if ($call) { return NULL; } else { $this->msg(lang('mod-31')); } } if ($id) { // 读缓存数据 $data = $this->search_model->get($id); $catid = $data['catid']; $data['get'] = $data['params']; if (!$data) { if ($call) { return NULL; } else { $this->msg(lang('mod-32')); } } } else { // 实时组合搜索条件 $data = $this->search_model->set($get); } list($parent, $related) = $this->_related_cat($mod, $catid); $seoinfo = dr_category_seo($mod, $mod['category'][$catid], max(1, (int) $this->input->get('page'))); if ($call) { $urlrule = $mod['setting']['search']['rewrite'] ? SITE_URL . 'so-module-' . $this->dir . '-id-{id}-page-{page}.html' : SITE_URL . 'index.php?c=so&module=' . $this->dir . '&id={id}&page={page}'; return array('cat' => $mod['category'][$catid], 'get' => array_merge($get, $data['params']), 'data' => $data, 'caitd' => $catid, 'parent' => $parent, 'seoinfo' => $seoinfo, 'keyword' => $get['keyword'], 'urlrule' => str_replace('{id}', $data['id'], $urlrule), 'sototal' => $data['contentid'] ? substr_count($data['contentid'], ',') + 1 : 0, 'searchid' => $data['id'], 'de_json' => $_SESSION["de_json"], 'pagenow' => $_GET['page']); } else { $urlrule = $mod['setting']['search']['rewrite'] ? 'search-id-{id}-page-{page}.html' : 'index.php?c=search&id={id}&page={page}'; $this->template->assign($seoinfo); $this->template->assign(array('cat' => $mod['category'][$catid], 'get' => array_merge($get, $data['params']), 'caitd' => $catid, 'parent' => $parent, 'related' => $related, 'keyword' => $get['keyword'], 'urlrule' => str_replace('{id}', $data['id'], $urlrule), 'sototal' => $data['contentid'] ? substr_count($data['contentid'], ',') + 1 : 0, 'searchid' => $data['id'], 'de_json' => $de_json, 'pagenow' => $_GET['page'])); $this->template->assign($data); $tpl = $catid && $mod['category'][$catid]['setting']['template']['search'] ? $mod['category'][$catid]['setting']['template']['search'] : 'search.html'; $this->template->display($tpl); } } }