public function processRequest(MMapRequest $request, MMapResponse $response) { ob_start('mb_output_handler'); MMapManager::startSession(); //check if the session has expired MMapManager::checkSessionExpiration(); $return = null; $dataManager = DataManager::getInstance(); $POST = $request->getPOST(); $params = array(); if (isset($POST['params'])) { $params = $dataManager->doInput($POST['params']); } else { if ($request->issetGET('params')) { $params = $request->getGET('params'); } } $return = array(); foreach ($params as $call) { $call[2] = json_encode($call[2]); $_POST['params'] = $call[2]; $request->setPost('params', $call[2]); $_GET['message'] = $call[1]; $request->setGET('message', $call[1]); $_GET['checknum'] = $call[0]; $request->setGET('checknum', $call[0]); MMapMsg::getInstance()->processRequest($request, $response); MMapManager::getInstance()->doResponse($response); $response->clear(); $content = ob_get_contents(); ob_clean(); $return[] = $content; } $response->setBodyRenderer(new DataManagerBodyRenderer($return)); }
public function processRequest(MMapRequest $request, MMapResponse $response) { $data = explode('/', $request->getSERVER('PATH_INFO')); if (count($data) < 3) { self::$Logger->error('Invalid PATH_INFO: ' . $request->getSERVER('PATH_INFO') . '. Cannot route request to final MMapManager.'); return; } // => MMapExtern if ($data[1] == 'extern') { $path = ''; for ($i = 2; $i < count($data); $i++) { if (empty($path)) { $path = $data[$i]; } else { $path .= '/' . $data[$i]; } } $request->setGET('extern', $path); MMapExtern::getInstance()->processRequest($request, $response); } elseif ($data[1] == 'externApplication') { $path = ''; for ($i = 4; $i < count($data); $i++) { if (empty($path)) { $path = $data[$i]; } else { $path .= '/' . $data[$i]; } } $request->setGET('checknum', $data[2]); $request->setGET('appName', $data[3]); $request->setGET('appFile', $path); MMapExternApp::getInstance()->processRequest($request, $response); } elseif ($data[1] == 'msg') { $request->setGET('checknum', $data[2]); $request->setGET('message', $data[3]); $request->setPOST('params', $data[4]); MMapMsg::getInstance()->processRequest($request, $response); } }