Esempio n. 1
0
 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));
 }
Esempio n. 2
0
 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);
     }
 }
Esempio n. 3
0
 public function __construct()
 {
     $this->myMMapMsg = MMapMsg::getInstance();
 }
Esempio n. 4
0
 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();
     // restore current process using checknum
     $myProcManager = ProcManager::getInstance();
     $myProcess = $myProcManager->getProcessByChecknum($request->getGET('checknum'));
     $myProcManager->setCurrentProcess($myProcess);
     $appDesc = new EyeMobileApplicationDescriptor($myProcess->getName());
     $POST = $request->getPOST();
     $params = array();
     if (isset($POST['params'])) {
         $params = $dataManager->doInput($POST['params']);
     } else {
         if ($request->issetGET('params')) {
             $params = $request->getGET('params');
         }
     }
     $methodName = $request->getGET('message');
     // calling an ExecModule
     if (strpos($methodName, '__') === 0) {
         $moduleName = explode('_', substr($methodName, 2));
         $methodName = $moduleName[1];
         //ex: "FileChooser"
         $moduleName = $moduleName[0];
         //ex: "browsePath"
         $return = call_user_func_array(array($appDesc->getApplicationClassName(), '__callModule'), array($moduleName, $methodName, $params));
     } else {
         if ($appDesc->isJavascriptOnlyApplication()) {
             $return = call_user_func(array('EyeosJavascriptApplicationExecutable', $methodName), $params);
         } else {
             if (method_exists($appDesc->getApplicationClassName(), $methodName)) {
                 $return = call_user_func(array($appDesc->getApplicationClassName(), $methodName), $params);
             } else {
                 //If no function is present, call the NOT mobile function
                 MMapMsg::getInstance()->processRequest($request, $response);
                 return;
             }
             //				try {
             //					$return = call_user_func(array($appDesc->getApplicationClassName(), $methodName), $params);
             //				} catch (Exception $e) {
             //					//If no function is present, call the NOT mobile function
             //					MMapMsg::getInstance()->processRequest($request, $response);
             //					return;
             //				}
         }
     }
     if ($response->getBodyRenderer() === null && $response->getBody() == '') {
         $response->setBodyRenderer(new DataManagerBodyRenderer($return));
     }
 }