Esempio n. 1
0
 /**
  * Получение результата от модуля 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;
     }
 }