load->helper(array('form', 'date', 'file')); $this->load->model("template_model"); } /** * 编辑工单模板 */ public function workorder() { if ($this->input->post()) { $template_id = $this->input->post("template_id", true); $template = $this->get_param(); $template['template_id'] = $template_id; if ($template_id) { $this->template_model->update_template($template); $this->assign("message", "模板更新成功!"); } else { $template['template_id'] = $this->create_id(); $template['create_time'] = new MongoDB\BSON\UTCDateTime(time()*1000); $this->template_model->insert_template($template); $this->assign("message", "模板保存成功!"); } $this->create_file($template['template_file'],$template['template_html'],"workorder"); } else { $this->assign("message", ""); } $template = $this->template_model->get_template_with_name($this->workorder); if ($template) { $this->assign("template", $template); } else { $model = $this->template_model->get_model(); $model['template_name'] = $this->workorder; $model['template_file'] = $this->workorder . ".html"; $this->assign("template", $model); } $this->display("template/workorder.html"); } /** * 编辑报表模板 */ public function report() { if ($this->input->post()) { $template_id = $this->input->post("template_id", true); $template = $this->get_param(); $template['template_id'] = $template_id; if ($template_id) { $this->template_model->update_template($template); $this->assign("message", "模板更新成功!"); } else { $template['template_id'] = $this->create_id(); $template['create_time'] = new MongoDB\BSON\UTCDateTime(time()*1000); $this->template_model->insert_template($template); $this->assign("message", "模板保存成功!"); } $this->create_file($template['template_file'],$template['template_html'],"report"); } else { $this->assign("message", ""); } $template = $this->template_model->get_template_with_name($this->report); if ($template) { $this->assign("template", $template); } else { $model = $this->template_model->get_model(); $model['template_name'] = $this->report; $model['template_file'] = $this->report . ".html"; $this->assign("template", $model); } $this->display("template/report.html"); } /** * 获取提交参数 * @return array */ public function get_param() { $template = array(); $template['template_name'] = $this->input->post("template_name", true); $template['template_file'] = $this->input->post("template_file", true); $template['template_html'] = htmlspecialchars_decode($this->input->post("template_html")); return $template; } /** * 生成模板文件 * @param $filename 文件名称 * @param $content 文件内容 * @param $end 文件名结尾 */ public function create_file($filename, $content, $end) { $path = getcwd() . "/application/views/templates/export/"; $file = $path . $filename; $header = '{include file="export/header.html"}'; $foot = '{include file="export/foot_'.$end.'.html"}'; $data = $header . htmlspecialchars_decode($content,ENT_QUOTES ) . $foot; if (file_exists($file)) { delete_files($file); } if (!write_file($file, $data)) { show_error("文件写入失败,请检查" . $path . "是否有写入权限!"); } } }