Exemple #1
0
 public static function getAuthenticatedUser($iUserId = '')
 {
     static $oUser = null;
     if ($oUser === null) {
         if (!empty($iUserId)) {
             \CApi::getAuthenticatedUserId($iUserId);
             // called for saving in session
         } else {
             if (!empty(self::$aUserSession['UserId'])) {
                 $iUserId = self::$aUserSession['UserId'];
             }
         }
         $oApiIntegrator = \CApi::GetSystemManager('integrator');
         if ($oApiIntegrator) {
             $oUser = $oApiIntegrator->getAuthenticatedUserByIdHelper($iUserId);
         }
     }
     return $oUser;
 }
Exemple #2
0
 /**
  * @return CAccount|null
  */
 public function getAuthenticatedDefaultAccount($sAuthToken = '')
 {
     $oResult = null;
     $iUserId = \CApi::getAuthenticatedUserId($sAuthToken);
     if (0 < $iUserId) {
         $oApiUsers = CApi::GetSystemManager('users');
         if ($oApiUsers) {
             $iAccountId = $oApiUsers->getDefaultAccountId($iUserId);
             if (0 < $iAccountId) {
                 $oAccount = $oApiUsers->getAccountById($iAccountId);
                 $oResult = $oAccount instanceof \CAccount ? $oAccount : null;
             }
         }
     } else {
         $this->logoutAccount();
     }
     return $oResult;
 }
Exemple #3
0
 /**
  * 
  * @param string $sMethod
  * @param array $aArguments
  * @param boolean $bWebApi
  * @return mixed
  */
 public function CallMethod($sMethod, $aArguments = array(), $bWebApi = false)
 {
     $mResult = false;
     try {
         if (method_exists($this, $sMethod) && !($bWebApi && $this->isCallbackMethod($sMethod))) {
             if ($bWebApi && !isset($aArguments['UserId'])) {
                 $aArguments['UserId'] = \CApi::getAuthenticatedUserId();
             }
             // prepare arguments for before event
             $aMethodArgs = $this->prepareMethodArguments($sMethod, $aArguments, $bWebApi);
             $bEventResult = $this->broadcastEvent($sMethod . \AApiModule::$Delimiter . 'before', $aArguments, $mResult);
             // prepare arguments for main action after event
             $aMethodArgs = $this->prepareMethodArguments($sMethod, $aArguments, $bWebApi);
             if (!$bEventResult) {
                 try {
                     $mMethodResult = call_user_func_array(array($this, $sMethod), $aMethodArgs);
                     if (is_array($mMethodResult) && is_array($mResult)) {
                         $mResult = array_merge($mMethodResult, $mResult);
                     } else {
                         if ($mMethodResult !== null) {
                             $mResult = $mMethodResult;
                         }
                     }
                 } catch (\Exception $oException) {
                     \CApi::GetModuleManager()->AddResult($this->GetName(), $sMethod, $mResult, $oException->getCode());
                     if (!$oException instanceof \System\Exceptions\AuroraApiException) {
                         throw new \System\Exceptions\AuroraApiException($oException->getCode(), $oException, $oException->getMessage());
                     } else {
                         throw $oException;
                     }
                 }
             }
             $this->broadcastEvent($sMethod . \AApiModule::$Delimiter . 'after', $aArguments, $mResult);
             \CApi::GetModuleManager()->AddResult($this->GetName(), $sMethod, $mResult);
         }
     } catch (\Exception $oException) {
         if (!$oException instanceof \System\Exceptions\AuroraApiException) {
             throw new \System\Exceptions\AuroraApiException($oException->getCode(), $oException, $oException->getMessage());
         } else {
             throw $oException;
         }
     }
     return $mResult;
 }
Exemple #4
0
 /**
  * @return \CAccount | null
  */
 public static function GetDefaultAccount()
 {
     $oResult = null;
     $oApiUsers = \CApi::GetSystemManager('users');
     $oApiIntegrator = \CApi::GetSystemManager('integrator');
     $iUserId = \CApi::getAuthenticatedUserId();
     if (0 < $iUserId) {
         $iAccountId = $oApiUsers->getDefaultAccountId($iUserId);
         if (0 < $iAccountId) {
             $oAccount = $oApiUsers->getAccountById($iAccountId);
             if ($oAccount instanceof \CAccount && !$oAccount->IsDisabled) {
                 $oResult = $oAccount;
             }
         }
     }
     return $oResult;
 }