public function handle_request_internel() { apf_require_class('Bll_App_Appparams'); $params = $this->request->get_parameters(); $page = isset($params['page']) ? (int) $params['page'] : 1; $page_size = 20; $offset = ($page - 1) * $page_size; $where = ''; $kw = strip_tags($params['kw']); if ($kw) { $where = "cache_k like '%" . $kw . "%'"; } $order = 'display_order asc,id desc'; //分页的链接 $prev = $page === 1 ? 1 : $page - 1; $next = $page + 1; $prev_uri = '/user/appsetting/?kw=' . $kw . '&page=' . $prev; $next_uri = '/user/appsetting/?kw=' . $kw . '&page=' . $next; $prev_url = PageHelper::gen_url($prev_uri); $next_url = PageHelper::gen_url($next_uri); $list = Bll_App_Appparams::get_instance()->fetchAll('*', $where, $order, $offset, $page_size); if ($list && is_array($list)) { $app_type = $this->get_config('app', 'app'); foreach ($list as $k => $v) { $list[$k]['app_type'] = $app_type[$v['app']]; $list[$k]['update_time'] = date('Y-m-d H:i:s', $v['updated']); $list[$k]['edit_url'] = '/user/appsetting/edit?id=' . $v['id']; } } $this->request->set_attribute('kw', $kw); $this->request->set_attribute('list_data', $list); $this->request->set_attribute('prev_url', $prev_url); $this->request->set_attribute('next_url', $next_url); return 'Appsetting_List'; }
/** * 处理提交保存 */ private function handle_form($params) { apf_require_class('Bll_App_Appparams'); $config_sercet = $this->get_config('sercet', 'app'); $flag = false; $message = ''; $return_url = 'http://' . $_SERVER['HTTP_HOST'] . '/user/appsetting/add'; $data = array(); if ($config_sercet != $params['sercet']) { $message = '口令不正确!请核对'; } else { if (empty($params['cache_k']) || empty($params['note']) || !in_array($params['app'], array(1, 2, 3))) { $message = '输入参数不完整'; } else { $cache_k = $params['cache_k']; $result = Bll_App_Appparams::get_instance()->getCount("cache_k = '" . $cache_k . "'"); if ($result) { $message = '已经存在该设置项'; } else { if (preg_match("/^\\w+\$/", $params['cache_k'])) { $flag = true; $data['cache_k'] = $params['cache_k']; $data['display_order'] = $params['display_order']; $data['cache_v'] = $params['cache_v']; $data['app'] = (int) $params['app']; $data['note'] = $params['note']; } else { $message = '数据格式错误'; } } } } if ($flag) { //$id = Bll_App_Appparams::get_instance()->add($data); $url = 'http://' . $_SERVER['HTTP_HOST'] . '/user/appsetting/list'; apf_require_class('Tools_Curl'); $curl = new Tools_Curl(); $save_setting_url = $this->get_config('save_setting_url', 'app'); $post_data = array('cache_k' => $data['cache_k'], 'cache_v' => $data['cache_v'], 'app' => $data['app'], 'note' => $data['note'], 'display_order' => $data['display_order']); $curl_result = $curl->post($save_setting_url, $post_data); $response_data = json_decode($curl_result, true); if (isset($response_data['status']) && $response_data['status'] == 'ok') { $this->response->redirect($url); exit; } else { echo '远程API接口无法响应,添加失败<br>'; echo '<a href="' . $return_url . '">点击返回</a>'; exit; } } else { echo $message; echo '<br>'; echo '<a href="' . $return_url . '">返回</a>'; exit; } }