CI = & get_instance(); $this->CI->load->model('Information_model'); $this->CI->load->model('InfoMetas_model'); $this->CI->load->model('Logs_model'); } public function edit($ic_id) { $data = array(); $data['information'] = $this->CI->Information_model->detail_by_ic_id($ic_id); if ($data['information'] == FALSE) { show_404(); } //查询上一次保存记录 $amp_log = $this->CI->Logs_model->get_last_edit_amp($ic_id); if(!empty($amp_log)){ $data['last_edit_amp_id'] = $amp_log->log_id; }else{ $data['last_edit_amp_id'] = ''; } $this->CI->load->view('bootstrap3/header', $data); $this->CI->load->view('amp_editor'); $this->CI->load->view('bootstrap3/footer'); } public function auto_create($ic_id) { $data = array(); if(strtolower($this->CI->config->item('site_code')) == 'cht'){ $this->CI->Information_model->ic_type = "AND ic.ic_type != 'none'"; } $data['information'] = $this->CI->Information_model->detail_by_ic_id($ic_id); if ($data['information'] == FALSE) { return json_encode(array('result' => 'no', 'data' => '找不到这个页面')); } //144.76.185.44:8029 //根据站点不同,配置不同参数 $site_code = strtolower($this->CI->config->item('site_code')); switch ($site_code) { case 'ah': //websitehost是表示资源下载的域名,在网页代码中有/css/xxx.css之类的路径,程序需要添加域名组成完整URL去下载文件,一般是data域名或者www域名 $websitehost = 'https://data.asiahighlights.com'; $html_source_url = 'https://www.asiahighlights.com/index.php/information/detail/?no_cache=true&static_html_url=' . $data['information']->ic_url; break; case 'cht': $websitehost = 'https://data.chinahighlights.com'; $html_source_url = 'http://169.54.172.35:3588' . $data['information']->ic_url; break; case 'gm': $websitehost = 'https://data.chinarundreisen.com'; $html_source_url = 'http://144.76.185.44:8029' . $data['information']->ic_url; break; case 'ct': $websitehost = 'https://data.chinatravel.com'; $html_source_url = 'http://158.85.210.78:2222' . $data['information']->ic_url; break; default: $websitehost = $this->CI->config->item('site_url'); $html_source_url = $this->CI->config->item('site_url') . $data['information']->ic_url; } //获取网页当前源码,然后发送到信息平台 $html_source = GET_HTTP($html_source_url); if (!empty($html_source)) { $post_data = array('websitehost' => $websitehost, 'template_name' => $site_code, 'create_amp' => 'true', 'htmlsource' => $html_source); //德语站点走另外一个控制器,其他站点还是走原来的流程 if($site_code == 'gm'){ if($data['information']->ic_url == '/massgeschneiderte-china-reisen/'){ return json_encode(array()); }else{ return GET_HTTP(site_url('/apps/htmlcompressor/index_gm/choose_way'), $post_data, 'POST'); } }elseif($site_code == 'ah'){ return GET_HTTP(site_url('/apps/htmlcompressor/index_ah/choose_way'), $post_data, 'POST'); }else{ return GET_HTTP(site_url('/apps/htmlcompressor/index/optimize'), $post_data, 'POST'); } } return json_encode(array('result' => 'no', 'data' => '不知道哪里错了,看代码')); } public function edit_save($ic_id = false, $textarea_htmlcode = false, $amp_status = false) { $data = array(); if ($ic_id === false) { $ic_id = $this->CI->input->post('ic_id'); } if ($textarea_htmlcode === false) { $textarea_htmlcode = $this->CI->input->post('textarea_htmlcode'); } if ($amp_status === false) { $amp_status = $this->CI->input->post('amp_status'); } $data['information'] = $this->CI->Information_model->detail_by_ic_id($ic_id); if ($data['information'] == FALSE) { show_404(); } //CH的页面没有canonical内容,在这里帮补上 $textarea_htmlcode = str_replace('', $this->CI->config->item('site_url') . $data['information']->ic_url, $textarea_htmlcode); //备份修改的代码 $this->CI->Logs_model->write('backup_amp', $ic_id, $textarea_htmlcode); //AMP格式验证 if ($amp_status !== '0') {//只有发布的时候才需要验证 //把AMP网页内容到purifycss处理,内置了AMP-Validator $purifycss_server = 'http://169.54.167.189:33033/'; if ($this->CI->config->item('site_code' == 'gm')) {//德语站点使用自己的css处理服务器 $purifycss_server = 'http://158.177.67.52:33033/'; } $validator_result = GET_HTTP($purifycss_server, 'amp_source=' . urlencode($textarea_htmlcode), 'POST'); $validator_result = json_decode($validator_result); if ($validator_result->status == 'FAIL') { return json_encode(array('name' => 'no', 'value' => $validator_result->errors)); } } $amp = $this->CI->InfoMetas_model->get($ic_id, 'AMP'); if ($amp === false) { $this->CI->InfoMetas_model->add($ic_id, 'AMP', $textarea_htmlcode); } else { $this->CI->InfoMetas_model->update($ic_id, 'AMP', $textarea_htmlcode); } $amp_status_value = $this->CI->InfoMetas_model->get($ic_id, 'AMP_STATUS'); if ($amp_status_value === false) { $this->CI->InfoMetas_model->add($ic_id, 'AMP_STATUS', $amp_status); } else { $this->CI->InfoMetas_model->update($ic_id, 'AMP_STATUS', $amp_status); } return json_encode(array('name' => 'ok', 'value' => $this->CI->lang->line('form_info_success'))); } }