From 01d126c115fe8a14bd5de28afa832f106c915e3e Mon Sep 17 00:00:00 2001 From: LMR <59361885@qq.com> Date: Wed, 28 Aug 2024 08:59:30 +0800 Subject: [PATCH] ft --- application/controllers/infofix.php | 500 ++++++++++++++-------------- 1 file changed, 250 insertions(+), 250 deletions(-) diff --git a/application/controllers/infofix.php b/application/controllers/infofix.php index d37dd80f..9e45c5c6 100644 --- a/application/controllers/infofix.php +++ b/application/controllers/infofix.php @@ -1,287 +1,287 @@ load->model('Information_model'); - $this->load->model('infoContents_model'); - $this->load->model('infoMetas_model'); - $this->load->model('logs_model'); - $this->site_code = $this->input->get('site_code') ? $this->input->get('site_code') : $this->config->item('site_code'); - header('Access-Control-Allow-Origin: *'); - } + public function __construct() + { + parent::__construct(); + $this->load->model('Information_model'); + $this->load->model('infoContents_model'); + $this->load->model('infoMetas_model'); + $this->load->model('logs_model'); + $this->site_code = $this->input->get('site_code') ? $this->input->get('site_code') : $this->config->item('site_code'); + header('Access-Control-Allow-Origin: *'); + } - /** - * 根据关键词搜索信息 - */ - function list_info_by_keys() - { - // 防止超时 - set_time_limit(0); + /** + * 根据关键词搜索信息 + */ + public function list_info_by_keys() + { + // 防止超时 + set_time_limit(0); - // json参数 - $site = $this->input->get_post('site'); - $keys = $this->input->get_post('keys'); - $key_arr = explode(',', $keys); + // json参数 + $site = $this->input->get_post('site'); + $keys = $this->input->get_post('keys'); + $key_arr = explode(',', $keys); - // 容错 - if ( - empty($site) || - empty($keys) || - mb_stripos($keys, '/') === false - ) { - echo json_encode(array()); - return false; - } + // 容错 + if ( + empty($site) || + empty($keys) || + mb_stripos($keys, '/') === false + ) { + echo json_encode(array()); + return false; + } - // 关键字信息 - $rs = $this->Information_model->list_by_keywords($site, $key_arr); + // 关键字信息 + $rs = $this->Information_model->list_by_keywords($site, $key_arr); - // 调整数据 - foreach ($rs as $info) { - $key_with_content = array(); - foreach ($key_arr as $key) { + // 调整数据 + foreach ($rs as $info) { + $key_with_content = array(); + foreach ($key_arr as $key) { - // 链接 - $sub_url = mb_stripos($info->ic_url, $key) !== false ? $info->ic_url : ''; - if ($sub_url) { - $sub_url = str_replace($key, '@@@' . $key . '@@@', $sub_url); - $sub_url = explode('@@@', $sub_url); - } + // 链接 + $sub_url = mb_stripos($info->ic_url, $key) !== false ? $info->ic_url : ''; + if ($sub_url) { + $sub_url = str_replace($key, '@@@' . $key . '@@@', $sub_url); + $sub_url = explode('@@@', $sub_url); + } - $limitStr = 100; - // 信息内容 - $pos_content = 0; - $pos_content = mb_stripos($info->ic_content, $key); - $sub_content = array(); - while ($pos_content) { - $_str = '[...' . mb_substr($info->ic_content, $pos_content - $limitStr, mb_strlen($key) + $limitStr * 2) . '...]'; - $_str = str_replace($key, '@@@' . $key . '@@@', $_str); - $_str = explode('@@@', $_str); - array_push($sub_content, $_str); - $pos_content = mb_stripos($info->ic_content, $key, $pos_content + mb_strlen($key)); - } + $limitStr = 100; + // 信息内容 + $pos_content = 0; + $pos_content = mb_stripos($info->ic_content, $key); + $sub_content = array(); + while ($pos_content) { + $_str = '[...' . mb_substr($info->ic_content, $pos_content - $limitStr, mb_strlen($key) + $limitStr * 2) . '...]'; + $_str = str_replace($key, '@@@' . $key . '@@@', $_str); + $_str = explode('@@@', $_str); + array_push($sub_content, $_str); + $pos_content = mb_stripos($info->ic_content, $key, $pos_content + mb_strlen($key)); + } + // amp_json + $sub_content2 = array(); + if ($info->amp_json) { + $pos_content2 = 0; + $pos_content2 = mb_stripos($info->amp_json, $key); + while ($pos_content2) { + $_str = '[...' . mb_substr($info->amp_json, $pos_content2 - $limitStr, mb_strlen($key) + $limitStr * 2) . '...]'; + $_str = str_replace($key, '@@@' . $key . '@@@', $_str); + $_str = explode('@@@', $_str); + array_push($sub_content2, $_str); + $pos_content2 = mb_stripos($info->amp_json, $key, $pos_content2 + mb_strlen($key)); + } + } - // amp_json - $sub_content2 = array(); - if ($info->amp_json) { - $pos_content2 = 0; - $pos_content2 = mb_stripos($info->amp_json, $key); - while ($pos_content2) { - $_str = '[...' . mb_substr($info->amp_json, $pos_content2 - $limitStr, mb_strlen($key) + $limitStr * 2) . '...]'; - $_str = str_replace($key, '@@@' . $key . '@@@', $_str); - $_str = explode('@@@', $_str); - array_push($sub_content2, $_str); - $pos_content2 = mb_stripos($info->amp_json, $key, $pos_content2 + mb_strlen($key)); - } - } + // amp_body + $sub_content3 = array(); + if ($info->amp_body) { + $pos_content3 = 0; + $pos_content3 = mb_stripos($info->amp_body, $key); + while ($pos_content3) { + $_str = '[...' . mb_substr($info->amp_body, $pos_content3 - $limitStr, mb_strlen($key) + $limitStr * 2) . '...]'; + $_str = str_replace($key, '@@@' . $key . '@@@', $_str); + $_str = explode('@@@', $_str); + array_push($sub_content3, $_str); + $pos_content3 = mb_stripos($info->amp_body, $key, $pos_content3 + mb_strlen($key)); + } + } - // amp_body - $sub_content3 = array(); - if ($info->amp_body) { - $pos_content3 = 0; - $pos_content3 = mb_stripos($info->amp_body, $key); - while ($pos_content3) { - $_str = '[...' . mb_substr($info->amp_body, $pos_content3 - $limitStr, mb_strlen($key) + $limitStr * 2) . '...]'; - $_str = str_replace($key, '@@@' . $key . '@@@', $_str); - $_str = explode('@@@', $_str); - array_push($sub_content3, $_str); - $pos_content3 = mb_stripos($info->amp_body, $key, $pos_content3 + mb_strlen($key)); - } - } + if ($sub_url != '' || count($sub_content) != 0 || count($sub_content2) != 0 || count($sub_content3) != 0) { + array_push( + $key_with_content, + array( + 'key' => $key, + 'sub_url' => $sub_url, + 'sub_content' => $sub_content, + 'sub_json' => $sub_content2, + 'sub_body' => $sub_content3, + ) + ); + } + } - if ($sub_url != '' || count($sub_content) != 0 || count($sub_content2) != 0 || count($sub_content3) != 0) { - array_push( - $key_with_content, - array( - 'key' => $key, - 'sub_url' => $sub_url, - 'sub_content' => $sub_content, - 'sub_json' => $sub_content2, - 'sub_body' => $sub_content3 - ) - ); + $info->ic_content = $key_with_content; + unset($info->amp_json); + unset($info->amp_body); } - } - - $info->ic_content = $key_with_content; - unset($info->amp_json); - unset($info->amp_body); + echo json_encode($rs); } - echo json_encode($rs); - } - /** - * 更新含有关键的信息 - */ - function update_info_by_keys() - { - // json参数 - $site = $this->input->get_post('site'); - $keys = $this->input->get_post('keys'); - $keyArr = explode('@', $keys); // ic_id@oldurl@newurl@is_id + /** + * 更新含有关键的信息 + */ + public function update_info_by_keys() + { + // json参数 + $site = $this->input->get_post('site'); + $keys = $this->input->get_post('keys'); + $keyArr = explode('@', $keys); // ic_id@oldurl@newurl@is_id - //sleep(2); - //echo ($keys); - //return true; - - // 容错1 - if ( - empty($site) || - count($keyArr) != 4 || - mb_stripos($keys, '/') === false || - mb_stripos($keys, 'undefined') !== false || - mb_stripos($keys, 'null') !== false || - mb_stripos($keys, '@@') !== false || - mb_stripos($keys, '@ @') !== false - ) { - echo json_encode(array('err' => '容错1')); - return false; - } + //sleep(2); + //echo ($keys); + //return true; - // 参数解析 - $ic_id = $keyArr[0]; - $oldStr = $keyArr[1]; - $newStr = $keyArr[2]; - $is_id = $keyArr[3]; + // 容错1 + if ( + empty($site) || + count($keyArr) != 4 || + mb_stripos($keys, '/') === false || + mb_stripos($keys, 'undefined') !== false || + mb_stripos($keys, 'null') !== false || + mb_stripos($keys, '@@') !== false || + mb_stripos($keys, '@ @') !== false + ) { + echo json_encode(array('err' => '容错1')); + return false; + } - // 容错2 - if ( - empty($ic_id) || - empty($is_id) || - empty($newStr) || - empty($oldStr) || - mb_stripos($newStr, '/') === false || - mb_stripos($oldStr, '/') === false - ) { - echo json_encode(array('err' => '容错2')); - return false; - } + // 参数解析 + $ic_id = $keyArr[0]; + $oldStr = $keyArr[1]; + $newStr = $keyArr[2]; + $is_id = $keyArr[3]; - // ic_content - $ic = $this->infoContents_model->get_ic_contents2($ic_id); - if (!empty($ic)) { - $ic->ic_content = str_ireplace($oldStr, $newStr, $ic->ic_content); - $this->infoContents_model->force_update($ic_id, $ic->ic_content); - $ic->ic_url = str_ireplace($oldStr, $newStr, $ic->ic_url); - $this->infoContents_model->force_update_url($ic_id, $ic->ic_url); - } + // 容错2 + if ( + empty($ic_id) || + empty($is_id) || + empty($newStr) || + empty($oldStr) || + mb_stripos($newStr, '/') === false || + mb_stripos($oldStr, '/') === false + ) { + echo json_encode(array('err' => '容错2')); + return false; + } - // amp_json - $meta = $this->infoMetas_model->get($ic_id, 'AMP_JSON'); - if (!empty($meta)) { - $meta = str_ireplace($oldStr, $newStr, $meta); - $this->infoMetas_model->update($ic_id, 'AMP_JSON', $meta); - } + // ic_content + $ic = $this->infoContents_model->get_ic_contents2($ic_id); + if (!empty($ic)) { + $ic->ic_content = str_ireplace($oldStr, $newStr, $ic->ic_content); + $this->infoContents_model->force_update($ic_id, $ic->ic_content); + $ic->ic_url = str_ireplace($oldStr, $newStr, $ic->ic_url); + $this->infoContents_model->force_update_url($ic_id, $ic->ic_url); + } - // amp_body_pc - $meta = $this->infoMetas_model->get($ic_id, 'AMP_BODY_PC'); - if (!empty($meta)) { - $meta = str_ireplace($oldStr, $newStr, $meta); - $this->infoMetas_model->update($ic_id, 'AMP_BODY_PC', $meta); - } + // amp_json + $meta = $this->infoMetas_model->get($ic_id, 'AMP_JSON'); + if (!empty($meta)) { + $meta = str_ireplace($oldStr, $newStr, $meta); + $this->infoMetas_model->update($ic_id, 'AMP_JSON', $meta); + } - echo json_encode($keyArr); + // amp_body_pc + $meta = $this->infoMetas_model->get($ic_id, 'AMP_BODY_PC'); + if (!empty($meta)) { + $meta = str_ireplace($oldStr, $newStr, $meta); + $this->infoMetas_model->update($ic_id, 'AMP_BODY_PC', $meta); + } - } + echo json_encode($keyArr); - /** - * 无条件获取信息内容 - * @param mixed $ic_id - */ - function get_by_icid($ic_id) - { - $ic = $this->infoContents_model->get_ic_contents2($ic_id); - $json = json_decode($this->infoMetas_model->get($ic_id, 'AMP_JSON')); - $use = $this->infoMetas_model->get($ic_id, 'AMP_BODY_PC_STATUS'); - if ($ic) { - echo json_encode( - array( - 'state' => 0, - 'ic_content' => $ic->ic_content, - 'pc_use' => $use, - 'json' => $json - ) - ); - } else { - echo json_encode( - array( - 'state' => -1, - 'msg' => 'not content by ' . $ic_id - ) - ); } - } - /** - * 无条件更新信息内容(上线前内容) - */ - function update_by_icid() - { - $ic_id = $this->input->get_post('ic_id'); - $ic_content = $this->input->get_post('ic_content'); - $this->infoContents_model->force_update($ic_id, $ic_content); - } + /** + * 无条件获取信息内容 + * @param mixed $ic_id + */ + public function get_by_icid($ic_id) + { + $ic = $this->infoContents_model->get_ic_contents2($ic_id); + $json = json_decode($this->infoMetas_model->get($ic_id, 'AMP_JSON')); + $use = $this->infoMetas_model->get($ic_id, 'AMP_BODY_PC_STATUS'); + if ($ic) { + echo json_encode( + array( + 'state' => 0, + 'ic_content' => $ic->ic_content, + 'pc_use' => $use, + 'json' => $json, + ) + ); + } else { + echo json_encode( + array( + 'state' => -1, + 'msg' => 'not content by ' . $ic_id, + ) + ); + } + } - /** - * 列举使用旧版构建工具的信息,用于批量替换更新。 - * @param mixed $site - */ - function list_use_hb($site) - { - $rs = $this->infoContents_model->list_use_hb($site); - echo json_encode($rs); - } + /** + * 无条件更新信息内容(上线前内容) + */ + public function update_by_icid() + { + $ic_id = $this->input->get_post('ic_id'); + $ic_content = $this->input->get_post('ic_content'); + $this->infoContents_model->force_update($ic_id, $ic_content); + } - /** - * 转化旧版构建工具数据(上线前的准备) - * @param mixed $ic_id - */ - function migrate_hb($ic_id, $dev = 'prod') - { - // 本地测试参数 - $api = 'https://hmk.arachina.com/beta/3733/server_render2'; - if ($dev == 'dev') { - $api = 'http://127.0.0.1:3733/server_render2'; + /** + * 列举使用旧版构建工具的信息,用于批量替换更新。 + * @param mixed $site + */ + public function list_use_hb($site) + { + $rs = $this->infoContents_model->list_use_hb($site); + echo json_encode($rs); } - // 请求api - $json = $this->infoMetas_model->get($ic_id, 'AMP_JSON'); - if (!empty($json)) { - // 请求转化服务器 - $post_data = 'json=' . urlencode($json); - $ch = curl_init(); - curl_setopt($ch, CURLOPT_URL, $api); - curl_setopt($ch, CURLOPT_POST, 1); - curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); - curl_setopt($ch, CURLOPT_TIMEOUT, 120); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //禁止直接显示获取的内容 - curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); - curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); - $curl_rs = curl_exec($ch); - $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); - if ($curl_rs && ($httpCode == 200 || $httpCode == 201)) { - // 先备份 - $is = $this->infoContents_model->get_isid_by_icid($ic_id); - $ic = $this->infoContents_model->get_ic_contents2($ic_id); - $this->logs_model->backup($is->is_id, $ic->ic_content); - // 移除外部包裹标签 - $curl_rs = str_replace(array('', ''), '', $curl_rs); - // 强制更新信息内容 - $this->infoContents_model->force_update($ic_id, $curl_rs); - echo $ic_id + ' @ ok @ '; - } else { - echo $ic_id + ' @ error @ '; - } + /** + * 转化旧版构建工具数据(上线前的准备) + * @param mixed $ic_id + */ + public function migrate_hb($ic_id, $dev = 'prod') + { + // 本地测试参数 + $api = 'https://hmk.arachina.com/beta/3733/server_render2'; + if ($dev == 'dev') { + $api = 'http://127.0.0.1:3733/server_render2'; + } + + // 请求api + $json = $this->infoMetas_model->get($ic_id, 'AMP_JSON'); + if (!empty($json)) { + // 请求转化服务器 + $post_data = 'json=' . urlencode($json); + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $api); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); + curl_setopt($ch, CURLOPT_TIMEOUT, 120); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //禁止直接显示获取的内容 + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); + $curl_rs = curl_exec($ch); + $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); + if ($curl_rs && ($httpCode == 200 || $httpCode == 201)) { + // 先备份 + $is = $this->infoContents_model->get_isid_by_icid($ic_id); + $ic = $this->infoContents_model->get_ic_contents2($ic_id); + $this->logs_model->backup($is->is_id, $ic->ic_content); + // 移除外部包裹标签 + $curl_rs = str_replace(array('', ''), '', $curl_rs); + // 强制更新信息内容 + $this->infoContents_model->force_update($ic_id, $curl_rs); + echo $ic_id+' @ ok @ '; + } else { + echo $ic_id+' @ error @ '; + } + } } - } } -//end of infofix \ No newline at end of file +//end of infofix