private static function chooseModule($search, $userRequest) { // es functian ancnuma konkret es texi vra grancvac u $search-in hamapatasxanox sax modulneri vra hertov, ete inch vor modulic stanumavor inq@ stugi hajordin stuguma hakarak depqum veredarznuma ardyunq@ kanchoxin $modulesList = FrameworkModuleVisibility_table::getModuleVisibility($search); //var_dump( $search, $modulesList ); for ($i = 0; $i < count($modulesList); $i++) { $moduleResponse = self::getModuleView($modulesList[$i]["moduleId"], $userRequest); if ($moduleResponse->getStatus() != FrameworkResponse::$STATUS__CHANGE_MODULE) { return $moduleResponse; } } $moduleResponse = new FrameworkResponse(); $moduleResponse->setStatus(FrameworkResponse::$STATUS__CHANGE_MODULE); return $moduleResponse; }
public static function requestFromUser() { $userRequest = new FrameworkRequest(); $userRequest->setHttpRequest($_REQUEST); $userResponse = new FrameworkResponse(); $userResponse->setStatus(FrameworkResponse::$STATUS__CHANGE_TEMPLATE); $userResponse->setData($userRequest->getHttpRequestParam(FrameworkRequest::$REQUEST_PARAM__templateId)); $returnView = ""; $limit = 20; $count = 0; while ($userResponse->getStatus() == FrameworkResponse::$STATUS__CHANGE_TEMPLATE) { $count++; $oldTemplateId = $userResponse->getData(); $userResponse = self::getTemplateResponse($userResponse->getData(), $userRequest); //if( $userResponse->getStatus() == FrameworkResponse::$STATUS__CHANGE_TEMPLATE && $userResponse->getData() == $oldTemplateId ){ if ($count > $limit) { throw new \Exception('My Framework Exeption: template id forever in cycle problem'); } } return $userResponse->getHtml(); }
private static function getAjaxResponse($model) { $res = new FrameworkResponse(); $res->setStatus(FrameworkResponse::$STATUS__READY); if ($model->getCurrentState() == FrameModUserLoginRegister_Model::$STATE__NO_USER) { $json = array("moduleAction" => "defaultView"); $res->setJson($json); } else { if ($model->getCurrentState() == FrameModUserLoginRegister_Model::$STATE__ADMIN_LOGIN) { $json = array("moduleAction" => "showLoginData", "moduleActionParam" => $model->getLoginUserData()); $res->setJson($json); } else { if ($model->getCurrentState() == FrameModUserLoginRegister_Model::$STATE__INCORRECT_LOGIN) { $json = array("moduleAction" => "showIncorrectLogin", "moduleActionParam" => "Your username or password is incorrect"); $res->setJson($json); } } } return $res; }
public function getView($userRequest) { $userResponse = new FrameworkResponse(); if (GlobalHelper::isRequestAjax()) { // json result for ajax call $json = array(); $userRequest->setTemplatePlace("main"); $placeResponse = FrameworkModuleManager::getModuleViewForTemplateArea(clone $userRequest); // if modules are more than one, then view separater is FrameworkModuleManager::$destMod_ModSeparator if ($placeResponse->getStatus() == FrameworkResponse::$STATUS__READY) { $json[] = $placeResponse->getJson(); } else { //ete modulneric inch vor mek@ asuma sax normal chi orinak problem ka kam STATUS__CHANGE_TEMPLATE, miangamic @ndhatum enq u et veradarznum enq verev return $placeResponse; } $userResponse->setStatus(FrameworkResponse::$STATUS__READY); $userResponse->setHtml(json_encode($json)); } else { //mixed html, script, import response for simple request $import = ""; $script = ""; $html = "<div align='center'>"; /* place - main */ $userRequest->setTemplatePlace("main"); $placeResponse = FrameworkModuleManager::getModuleViewForTemplateArea(clone $userRequest); if ($placeResponse->getStatus() == FrameworkResponse::$STATUS__READY) { $html .= $placeResponse->getHtml(); $import .= $placeResponse->getImport(); $script .= $placeResponse->getScript(); } else { //ete modulneric inch vor mek@ asuma sax normal chi orinak problem ka kam STATUS__CHANGE_TEMPLATE, miangamic @ndhatum enq u et veradarznum enq verev return $placeResponse; } $html .= "</div>"; $userResponseView = "<html><head>" . $import . "<script>var _CURRENT_TEMPLATE_ID = '" . self::getTemplateId() . "';</script></head><body>" . $html . "<script>" . $script . "</script></body></html>"; $userResponse->setStatus(FrameworkResponse::$STATUS__READY); $userResponse->setHtml($userResponseView); } return $userResponse; }
protected function chooseActionByModelStatus($userRequest, $model, $actionMap, $viewClass) { $templatesMap = array($userRequest->getTemplateId(), "*"); foreach ($templatesMap as $templ) { foreach ($actionMap as $action) { //@ste hima stugvuma menak cherez model_state bayc piti stugvi naev cherez template_id if ($action["templateId"] == $templ && $action["moduleState"] == $model->getCurrentState()) { if ($action["action"] == "changeTemplate") { if (GlobalHelper::isRequestAjax()) { //JS change template $res = new FrameworkResponse(); $res->setStatus(FrameworkResponse::$STATUS__READY); $res->changeTemplate($action["actionParam"] . "&" . $userRequest->getHttpRequestParamsStr(array(FrameworkRequest::$REQUEST_PARAM__templateId, FrameworkRequest::$REQUEST_PARAM__ajaxCall))); } else { //PHP change template $res = new FrameworkResponse(); $res->setStatus(FrameworkResponse::$STATUS__CHANGE_TEMPLATE); $res->setData($action["actionParam"]); } return $res; } } } } return $viewClass::getView($model); //call_user_func }
public function getView($userRequest) { $userResponse = new FrameworkResponse(); if (GlobalHelper::isRequestAjax()) { // json result for ajax call $json = array(); $userRequest->setTemplatePlace("status_bar"); $placeResponse = FrameworkModuleManager::getModuleViewForTemplateArea(clone $userRequest); // if modules are more than one, then view separater is FrameworkModuleManager::$destMod_ModSeparator if ($placeResponse->getStatus() == FrameworkResponse::$STATUS__READY) { $json[] = $placeResponse->getJson(); } else { //ete modulneric inch vor mek@ asuma sax normal chi orinak problem ka kam STATUS__CHANGE_TEMPLATE, miangamic @ndhatum enq u et veradarznum enq verev return $placeResponse; } $userRequest->setTemplatePlace("main_content"); $placeResponse = FrameworkModuleManager::getModuleViewForTemplateArea(clone $userRequest); // if modules are more than one, then view separater is FrameworkModuleManager::$destMod_ModSeparator if ($placeResponse->getStatus() == FrameworkResponse::$STATUS__READY) { $json[] = $placeResponse->getJson(); } else { //ete modulneric inch vor mek@ asuma sax normal chi orinak problem ka kam STATUS__CHANGE_TEMPLATE, miangamic @ndhatum enq u et veradarznum enq verev return $placeResponse; } $userRequest->setTemplatePlace("menu"); $placeResponse = FrameworkModuleManager::getModuleViewForTemplateArea(clone $userRequest); // if modules are more than one, then view separater is FrameworkModuleManager::$destMod_ModSeparator if ($placeResponse->getStatus() == FrameworkResponse::$STATUS__READY) { $json[] = $placeResponse->getJson(); } else { //ete modulneric inch vor mek@ asuma sax normal chi orinak problem ka kam STATUS__CHANGE_TEMPLATE, miangamic @ndhatum enq u et veradarznum enq verev return $placeResponse; } $userResponse->setStatus(FrameworkResponse::$STATUS__READY); $userResponse->setHtml(json_encode($json)); } else { //mixed html, script, import response for simple request $import = ""; $script = ""; $html = "<div align='center' style='background-color: #666666; height: 50px;'>"; $userRequest->setTemplatePlace("status_bar"); $placeResponse = FrameworkModuleManager::getModuleViewForTemplateArea(clone $userRequest); if ($placeResponse->getStatus() == FrameworkResponse::$STATUS__READY) { $html .= $placeResponse->getHtml(); $import .= $placeResponse->getImport(); $script .= $placeResponse->getScript(); } else { //ete modulneric inch vor mek@ asuma sax normal chi orinak problem ka kam STATUS__CHANGE_TEMPLATE, miangamic @ndhatum enq u et veradarznum enq verev return $placeResponse; } $html .= "</div><div align='center'><table style='height: 100%; width: 100%;'><tr><td style='width: 200px; vertical-align: top;'>"; $userRequest->setTemplatePlace("menu"); $placeResponse = FrameworkModuleManager::getModuleViewForTemplateArea(clone $userRequest); if ($placeResponse->getStatus() == FrameworkResponse::$STATUS__READY) { $html .= $placeResponse->getHtml(); $import .= $placeResponse->getImport(); $script .= $placeResponse->getScript(); } else { //ete modulneric inch vor mek@ asuma sax normal chi orinak problem ka kam STATUS__CHANGE_TEMPLATE, miangamic @ndhatum enq u et veradarznum enq verev return $placeResponse; } $html .= "</td><td style='vertical-align: top;'>"; $userRequest->setTemplatePlace("main_content"); $placeResponse = FrameworkModuleManager::getModuleViewForTemplateArea(clone $userRequest); if ($placeResponse->getStatus() == FrameworkResponse::$STATUS__READY) { $html .= $placeResponse->getHtml(); $import .= $placeResponse->getImport(); $script .= $placeResponse->getScript(); } else { //ete modulneric inch vor mek@ asuma sax normal chi orinak problem ka kam STATUS__CHANGE_TEMPLATE, miangamic @ndhatum enq u et veradarznum enq verev return $placeResponse; } $html .= "</td></tr></table></div>"; $userResponseView = "<html><head>" . $import . "<script>var _CURRENT_TEMPLATE_ID = '" . self::getTemplateId() . "';</script></head><body style='padding: 0px; margin: 0px;'>" . $html . "<script>" . $script . "</script></body></html>"; $userResponse->setStatus(FrameworkResponse::$STATUS__READY); $userResponse->setHtml($userResponseView); } return $userResponse; }