/** * Получение результата от модуля API * @param string $sResourceName Имя объекта ресурса * @param array $aData Данные для формировния ресурса * @return string */ protected function _ApiResult($sResourceName, $aData) { $sApiMethod = ''; foreach (explode('/', $sResourceName) as $sPart) { $sApiMethod .= ucfirst($sPart); } // Если результата нет, выведем ошибку плохого ресурса if (!E::ModuleApi()->MethodExists($sApiMethod)) { return E::ModuleApi()->ERROR_CODE_0001; } // Или отсутствие ресурса if (!($aResult = E::ModuleApi()->{$sApiMethod}($aData))) { return E::ModuleApi()->ERROR_CODE_0003; } // Определим формат данных if (isset($aData['params']['tpl']) && $aData['params']['tpl'] !== FALSE) { $sResult = $this->_Fetch($sResourceName, $aResult['data'], $aData['params']['tpl']); } else { $sResult = $aResult['json']; } $aResult = array('data' => $sResult, 'params' => $aData['params']); $sResult = json_encode($aResult); if ($this->bIsAjax) { E::ModuleViewer()->AssignAjax('result', $sResult); } else { E::ModuleViewer()->Assign('result', $sResult); } return FALSE; }
/** * GET /talks/:id */ public function EventGetTalks() { $this->_setResponse(); $this->_getAuthorizedUser(true); $iTalkId = intval($this->GetParam(0)); if (!$iTalkId) { $this->_Error(E::ModuleApi()->ERROR_CODE_9005); return; } $oTalk = E::ModuleApiTalks()->getInfo($iTalkId); if (!$oTalk) { $this->_Error(E::ModuleApi()->ERROR_CODE_9003); } else { $this->aResponseData['talk'] = $oTalk; } }