Ejemplo n.º 1
0
 /**
  * @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;
 }