/** * @param string $key * @throws Exception */ static function save_md_data($key) { if (!isset(self::$_action_list[$key])) { self::_error_and_redirect('不存在此页', '/'); } $actions = self::$_action_list[$key]; $content = Lib_Request::post_var('content'); if (trim($content) == '') { Lib_Request::flash('error', '提交内容为空'); Module_HttpRequest_Router::redirect_to($actions[self::URL]); } $keyword = $actions[self::KEYWORD]; $model_option = new Model_Option(); $content = str_replace("\r", '', $content); $content = str_replace("\n", '\\n', $content); //$content = htmlentities($content); $result = $model_option->update_option_by_keyword($keyword, $content); if ($result['errno'] != Const_Err_Base::ERR_OK) { self::_error_and_redirect(Lib_Helper::format_err_struct($result), $actions[self::URL]); } else { $help2opcode = ['help_index' => Module_OperationRecord_Main::OPCODE_HELP_INFO, 'help_dev' => Module_OperationRecord_Main::OPCODE_HELP_DEVELOP, 'help_todo' => Module_OperationRecord_Main::OPCODE_HELP_TODO, 'internal_api' => Module_OperationRecord_Main::OPCODE_HELP_INTERNAL, 'open_api' => Module_OperationRecord_Main::OPCODE_HELP_OPEN]; $opcode = isset($help2opcode[$keyword]) ? $help2opcode[$keyword] : Module_OperationRecord_Main::OPCODE_HELP_INFO; Module_OperationRecord_Main::add_record($opcode); Lib_Request::flash('保存成功'); Module_HttpRequest_Router::redirect_to($actions[self::URL]); } }
static function task_list_action() { $task_id = Lib_Request::get_int('task_id'); $ap_name = Lib_Request::get_var('ap_name'); $ap_name = trim($ap_name); $src_id = Lib_Request::get_var('sub_src'); $src_id = trim($src_id); $status = Lib_Request::get_int('status'); $time_begin = Lib_Request::get_var('time_begin'); $time_begin = trim($time_begin); $time_end = Lib_Request::get_var('time_end'); $time_end = trim($time_end); $cond = []; $search_vars = []; $ap_cond = []; if (!empty($task_id)) { $cond = ['_id' => $task_id]; $search_vars = ['task_id' => $task_id]; } else { if (strpos($src_id, ',')) { $src_ids = explode(',', $src_id); $int_src_ids = []; foreach ($src_ids as $k => $v) { $int_src_ids[] = intval($v); } $cond['src_id'] = ['$in' => array_merge($src_ids, $int_src_ids)]; } elseif (!empty($src_id)) { $cond['src_id'] = ['$in' => [$src_id, intval($src_id)]]; } if (!empty($status)) { $cond['status'] = $status; $search_vars['status'] = $status; } if (!empty($time_begin) || !empty($time_end)) { $time_cond = []; if (!empty($time_begin)) { $time_begin = strtotime($time_begin); $time_cond['$gt'] = $time_begin; } if (!empty($time_end)) { $time_end = strtotime($time_end); $time_cond['$lte'] = $time_end; } if ($time_begin >= $time_end) { unset($time_cond['$lte']); } if (!empty($time_cond)) { $cond['create_time'] = $time_cond; } } } if (!Module_Account_User::has_perms([Module_Account_Perm::PERM_AP_ADMIN])) { $ap_cond['interface_people'] = new MongoRegex("/" . Module_Account_User::get_current_user() . "/"); } if (!empty($ap_name)) { $ap_cond = ['ap_name' => new MongoRegex("/" . $ap_name . "/")]; } if (!empty($ap_cond)) { $search_vars['ap_name'] = $ap_name; $ap_ids = []; $int_ap_ids = []; $model = new Model_AccessPoint(); $ap_infos = $model->get_all($ap_cond); if ($ap_infos['errno'] == Const_Err_Base::ERR_OK) { foreach ($ap_infos['data'] as $k => $ap) { $ap_ids[] = $ap['ap_id']; $int_ap_ids[] = intval($ap['ap_id']); } } $cond['ap_id'] = ['$in' => array_merge($ap_ids, $int_ap_ids)]; } $model_task = new Model_Task(); $total_num = $model_task->get_tasks_count($cond); $current_page = Lib_Request::get_int('page'); //当前页码,必须 $total_size = isset($total_num['data']) ? intval($total_num['data']) : 0; //总记录数,必须 $page_size = 15; //每页条数,必须 $skip = ($current_page - 1) * $page_size; //跳过记录,必须 $skip = $skip < 0 ? 0 : $skip; $mode = 2; //页码模式,决定页码个数,默认1 $tasks = $model_task->get_all($cond, $page_size, $skip); if ($tasks['errno'] !== Const_Err_Base::ERR_OK) { Lib_Log::error(Lib_Helper::format_err_struct($tasks)); $tasks = []; Lib_Request::flash('未获取到任务信息'); } $tasks = $tasks['data']; $ap_infos = []; $ap_model = new Model_AccessPoint(); foreach ($tasks as $_k => $_t) { $ap_info = $ap_model->get_ap_by_id($_t['ap_id']); $ap_info['ap_id'] = $_t['ap_id']; if ($ap_info['errno'] !== Const_Err_Base::ERR_OK) { Lib_Log::error(Lib_Helper::format_err_struct($ap_info)); Lib_Request::flash('获取接入点信息失败'); Module_HttpRequest_Router::redirect_to('/'); } $ap_info = $ap_info[Const_DataAccess::MREK_DATA]; $ap_infos[$_t['ap_id']] = $ap_info; } $source_model = new Model_Source(); $all_sources = $source_model->get_all(); $sources = $all_sources[Const_DataAccess::MREK_DATA]; $all_src_type = []; foreach ($all_sources['data'] as $k => $v) { if (!in_array($v['src_type'], $all_src_type)) { $all_src_type[] = $v['src_type']; } } asort($all_src_type); $task_status_list = Module_ControlCentre_Main::$task_status_list; $pages = Module_View_Template::get_pages_html($current_page, $total_size, $page_size, $mode); Module_Page_Main::render('control_centre/task_list', ['ap_info' => $ap_infos, 'tasks' => $tasks, 'sources' => $sources, 'pages' => $pages, 'all_src_type' => $all_src_type, 'status_list' => $task_status_list, 'search_vars' => $search_vars]); }
/** * @param string $url * @param int $id * @return array */ private static function _get_flow_data($url, $id = null) { $data = []; $name = Lib_Request::post_var('name'); $main = Lib_Request::post_var('main'); $stuff = Lib_Request::post_var('stuff'); $config = Lib_Request::post_var('config'); $name = trim($name); $main = trim($main); $stuff = trim($stuff); $config = trim($config); $flow_model = new Model_FlowInfo(); $flash_error = function ($msg, $url) { Lib_Request::flash('error', $msg); Module_HttpRequest_Router::redirect_to($url); }; if (empty($name)) { $flash_error('流程名称不能为空', $url); } if (!empty($id)) { $cond = ['name' => $name, '_id' => ['$ne' => intval($id)]]; } else { $cond = ['name' => $name]; } $flow_info = $flow_model->get_flow_by_cond($cond); if ($flow_info['errno'] == Const_Err_Base::ERR_OK && !empty($flow_info['data'])) { $flash_error('流程名称存在', $url); } if (empty($main)) { $flash_error('主流程不能为空', $url); } $mains = self::_get_array_by_str($main); $stuffs = self::_get_array_by_str($stuff); $configs = self::_get_array_by_str($config); $data = ['name' => $name, 'flow' => [Module_FlowManager_Main::FLOW_TYPE_MAIN => $mains, Module_FlowManager_Main::FLOW_TYPE_STUFF => $stuffs, Module_FlowManager_Main::FLOW_TYPE_CONFIG => $configs]]; return $data; }