/** * @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; }