public function run() { //过滤并转义 $replyinfo = keyword_replace_text($_POST['replyinfo']); //回复类型判断 $data['response_reply'] = !empty($_POST['replytype']) ? $_POST['replytype'] : $this->ajaxReturn(array('status' => 0, 'errmsg' => '用户请求标识非法'), 'JSON'); //回复体标识 //$data['response_name'] = msubstr($replyinfo,0, 10, $charset="utf-8", $suffix=true); $data['response_name'] = empty($_POST['response_name']) ? msubstr($replyinfo, 0, 10, $charset = "utf-8", $suffix = true) : $_POST['response_name']; //结构组合体 $neiron = array('type' => 'text', 'num' => 1, 'neiron' => $replyinfo, 'replace' => ''); $data['response_compos'] = serialize($neiron); //生成XML $data['response_xml'] = Factory('Text')->load($replyinfo)->select(); //数据静态化 $data['response_static'] = 1; $data['status'] = 1; return empty($data['response_xml']) ? false : $data; }
/** * 编辑配置 * @author yangweijie <*****@*****.**> */ public function edit_posts($id = 0) { if (IS_POST) { $res['status'] = 0; //关键词头部信息初始化 if (!empty($_POST['keyword_post']) && !empty($_POST['id'])) { //请求类型判断 $date['keyword_post'] = $_POST['keyword_post']; //下文关键词是否开启 $date['keyword_down'] = !empty($_POST['keyword_down']) ? $_POST['keyword_down'] : ''; //上文继承关键词 $date['keyword_top'] = is_numeric($_POST['keyword_top']) ? $_POST['keyword_top'] : 0; //关键词所属分组 $date['keyword_group'] = empty($_POST['keyword_group']) ? 1 : $_POST['keyword_group']; //关键词缓存 $date['keyword_cache'] = is_numeric($_POST['keyword_cache']) ? $_POST['keyword_cache'] : 0; //关键词有效期判断 $date['keyword_start'] = strtotime($_POST['keyword_start']); $date['keyword_end'] = strtotime($_POST['keyword_end']); if (!empty($date['keyword_end']) && !empty($date['keyword_start'])) { if ($date['keyword_end'] < $date['keyword_start']) { $date['keyword_end'] = $date['keyword_start'] + 31536000; } } //关键词后置行为初始化 //标签隐藏 显示 关闭 $date['denytag_keyword'] = serialize(parse_config($_POST['denytag_keyword'], $type = 3)); //后续行为初始化 $date['after_keyword'] = serialize(parse_config($_POST['after_keyword'], $type = 3)); //菜单模式初始化 $date['click_model'] = is_numeric($_POST['click_model']) ? $_POST['click_model'] : ''; //模式锁定初始化 if (empty($_POST['lock_model1'])) { //直接 第一个 选择模块 if (is_numeric($_POST['lock_model'])) { $modelinfo = M('Addons')->where(array('status' => 1, 'weixin' => 1, 'id' => $_POST['lock_model']))->field('id,name')->find(); $date['lock_model'] = ucfirst($modelinfo['name']) . '/index'; } else { $date['lock_model'] = ''; } } else { $date['lock_model'] = empty($_POST['lock_model']) ? '' : $_POST['lock_model1']; } $date['status'] = 1; $date['keyword_reply'] = $_POST['keyword_reply']; //关键词正则替代 //正则标识 if (empty($_POST['keyword_reply'])) { $this->error('匹配规则不能为空'); } $rule = M('Rules')->where(array('rules_title' => $_POST['keyword_reply'], 'status' => 1))->getField('rules_content'); //判断匹配正则是否可用 if (empty($rule)) { $this->error('该匹配规则为空'); } $date['keyword_content'] = keyword_replace_text($_POST['keyword']); $date['keyword_content'] = str_replace('/', '\\/', $date['keyword_content']); //强制性 1文本请求 关键词必填 2菜单请求 关键词必填 if (strtolower($date['keyword_post']) == 'text' && empty($date['keyword_content'])) { $this->error('文本请求中,关键词不能为空'); } if (!empty($date['keyword_content']) && !empty($rule)) { //判断是否携带【参数1】【参数2】【参数3】【参数4】 if (strstr($rule, "参数")) { $newkey = $rule; $replacekey = explode(';', $date['keyword_content']); foreach ($replacekey as $key => $value) { $newkey = str_ireplace("参数" . $key, $value, $newkey); } $newrule = "/" . $newkey . "/"; //循环替代参数 } //判断是否携带单规则替代 if (strstr($rule, "芒果")) { $newrule = str_ireplace("芒果", $date['keyword_content'], $rule); //芒果基本关键词 } //全无则原规则 if (!strstr($rule, "参数") && !strstr($rule, "芒果")) { $newrule = $rule; } $date['keyword_rules'] = $newrule; } $datanum = M('Keyword')->where(array('id' => $_POST['id']))->save($date); $this->success('编辑用户请求成功', U('Keywordview/lists')); } else { $this->error('用户请求标识非法'); } } else { $info = array(); /* 获取数据 */ $info = D('KeywordView')->where(array('id' => intval($_REQUEST['id'])))->find(); $info['response_reply'] = strtolower($info['response_reply']); $string = ''; foreach (unserialize($info['after_keyword']) as $key => $value) { if (!empty($value)) { $string .= $value . "\n"; } } $info['after_keyword'] = $string; $clickmenu = M('Clickmenu')->field('id,title')->select(); $this->assign('clickmenu', $clickmenu); $locallist = M('Addons')->where(array('status' => 1, 'weixin' => 1))->field('id,title,name')->select(); $info['lock_model1'] = is_numeric($info['lock_model']) ? '' : $info['lock_model']; $this->assign('localapi', $locallist); $info['click_model'] = str_replace(' ', '', $info['click_model']); $this->assign('meta_title', '关键词管理'); $this->assign('info', $info); $this->display(); } }