Exemple #1
0
 /**
  * Checks if authenticated user has at least specified role.
  * @param int $iRole
  * @throws \System\Exceptions\AuroraApiException
  */
 public static function checkUserRoleIsAtLeast($iRole)
 {
     $oUser = \CApi::getAuthenticatedUser();
     $bUserRoleIsAtLeast = empty($oUser) && $iRole === \EUserRole::Anonymous || !empty($oUser) && $oUser->Role === \EUserRole::Customer && ($iRole === \EUserRole::Customer || $iRole === \EUserRole::Anonymous) || !empty($oUser) && $oUser->Role === \EUserRole::NormalUser && ($iRole === \EUserRole::NormalUser || $iRole === \EUserRole::Customer || $iRole === \EUserRole::Anonymous) || !empty($oUser) && $oUser->Role === \EUserRole::TenantAdmin && ($iRole === \EUserRole::TenantAdmin || $iRole === \EUserRole::NormalUser || $iRole === \EUserRole::Customer || $iRole === \EUserRole::Anonymous) || !empty($oUser) && $oUser->Role === \EUserRole::SuperAdmin && ($iRole === \EUserRole::SuperAdmin || $iRole === \EUserRole::TenantAdmin || $iRole === \EUserRole::NormalUser || $iRole === \EUserRole::Customer || $iRole === \EUserRole::Anonymous);
     if (!$bUserRoleIsAtLeast) {
         throw new \System\Exceptions\AuroraApiException(\System\Notifications::AccessDenied);
     }
 }
Exemple #2
0
 /**
  * @return array
  */
 public function getThemeAndLanguage()
 {
     static $sLanguage = false;
     static $sTheme = false;
     static $sSiteName = false;
     if (false === $sLanguage && false === $sTheme && false === $sSiteName) {
         $oSettings =& CApi::GetSettings();
         $sSiteName = $oSettings->GetConf('SiteName');
         $sLanguage = $oSettings->GetConf('DefaultLanguage');
         $sTheme = $oSettings->GetConf('DefaultSkin');
         $oUser = \CApi::getAuthenticatedUser();
         if ($oUser) {
             $sSiteName = '';
         } else {
         }
         $sLanguage = $this->validatedLanguageValue($sLanguage);
         $this->setLoginLanguage($sLanguage);
         // todo: sash
         $sTheme = $this->validatedThemeValue($sTheme);
     }
     /*** temporary fix to the problems in mobile version in rtl mode ***/
     /* @var $oApiCapability \CApiCapabilityManager */
     $oApiCapability = \CApi::GetSystemManager('capability');
     if (in_array($sLanguage, array('Arabic', 'Hebrew', 'Persian')) && $oApiCapability && $oApiCapability->isNotLite() && 1 === $this->isMobile()) {
         $sLanguage = 'English';
     }
     /*** end of temporary fix to the problems in mobile version in rtl mode ***/
     return array($sLanguage, $sTheme, $sSiteName);
 }