Example #1
0
 /**
  * @param bool $bHelpdesk = false
  * @param string $sHelpdeskHash = ''
  * @param string $sCalendarPubHash = ''
  * @param string $sFileStoragePubHash = ''
  * @param bool $bMobile = false
  * @return string
  */
 private function indexHTML($bHelpdesk = false, $sHelpdeskHash = '', $sCalendarPubHash = '', $sFileStoragePubHash = '', $bMobile = false)
 {
     $sResult = '';
     $mHelpdeskIdTenant = false;
     $oApiIntegrator = \CApi::Manager('integrator');
     if ($oApiIntegrator) {
         if ($bHelpdesk) {
             $oApiHelpdesk = \CApi::Manager('helpdesk');
             if ($oApiHelpdesk) {
                 $oLogginedAccount = $this->oActions->GetDefaultAccount();
                 $oApiCapability = \CApi::Manager('capability');
                 $mHelpdeskIdTenant = $oApiIntegrator->GetTenantIdByHash($sHelpdeskHash);
                 if (!is_int($mHelpdeskIdTenant)) {
                     \CApi::Location('./');
                     return '';
                 }
                 $bDoId = false;
                 $sThread = $this->oHttp->GetQuery('thread');
                 $sThreadAction = $this->oHttp->GetQuery('action');
                 if (0 < strlen($sThread)) {
                     if ($oApiHelpdesk) {
                         $iThreadID = $oApiHelpdesk->GetThreadIdByHash($mHelpdeskIdTenant, $sThread);
                         if (0 < $iThreadID) {
                             $oApiIntegrator->SetThreadIdFromRequest($iThreadID, $sThreadAction);
                             $bDoId = true;
                         }
                     }
                 }
                 $sActivateHash = $this->oHttp->GetQuery('activate');
                 if (0 < strlen($sActivateHash) && !$this->oHttp->HasQuery('forgot')) {
                     $bRemove = true;
                     $oUser = $oApiHelpdesk->GetUserByActivateHash($mHelpdeskIdTenant, $sActivateHash);
                     /* @var $oUser \CHelpdeskUser */
                     if ($oUser) {
                         if (!$oUser->Activated) {
                             $oUser->Activated = true;
                             $oUser->RegenerateActivateHash();
                             if ($oApiHelpdesk->UpdateUser($oUser)) {
                                 $bRemove = false;
                                 $oApiIntegrator->SetUserAsActivated($oUser);
                             }
                         }
                     }
                     if ($bRemove) {
                         $oApiIntegrator->RemoveUserAsActivated();
                     }
                 }
                 if ($oLogginedAccount && $oApiCapability && $oApiCapability->IsHelpdeskSupported($oLogginedAccount) && $oLogginedAccount->IdTenant === $mHelpdeskIdTenant) {
                     if (!$bDoId) {
                         $oApiIntegrator->SetThreadIdFromRequest(0);
                     }
                     $oApiIntegrator->SkipMobileCheck();
                     \CApi::Location('./');
                     return '';
                 }
             } else {
                 \CApi::Location('./');
                 return '';
             }
         }
         $sResult = file_get_contents(PSEVEN_APP_ROOT_PATH . 'templates/Index.html');
         if (is_string($sResult)) {
             @\header('Content-Type: text/html; charset=utf-8', true);
             @\header('Last-Modified: ' . \gmdate('D, d M Y H:i:s') . ' GMT');
             if (\CApi::GetConf('labs.cache-ctrl', true) && isset($_COOKIE['aft-cache-ctrl'])) {
                 setcookie('aft-cache-ctrl', '1', time() - 3600);
                 if (function_exists('http_response_code')) {
                     \http_response_code(304);
                 } else {
                     \header("HTTP/1.1 304 Not Modified", true, 304);
                 }
                 exit;
             }
             $sFrameOptions = \CApi::GetConf('labs.x-frame-options', '');
             if (0 < \strlen($sFrameOptions)) {
                 @\header('X-Frame-Options: ' . $sFrameOptions);
             }
             $sResult = strtr($sResult, array('{{AppVersion}}' => PSEVEN_APP_VERSION, '{{IntegratorDir}}' => $oApiIntegrator->GetAppDirValue(), '{{IntegratorLinks}}' => $oApiIntegrator->BuildHeadersLink('.', $bHelpdesk, $mHelpdeskIdTenant, $sHelpdeskHash, $sCalendarPubHash, $sFileStoragePubHash, $bMobile), '{{IntegratorBody}}' => $oApiIntegrator->BuildBody('.', $bHelpdesk, $mHelpdeskIdTenant, $sHelpdeskHash, $sCalendarPubHash, $sFileStoragePubHash, $bMobile)));
         }
     } else {
         $sResult = '';
     }
     return $sResult;
 }
Example #2
0
 /**
  * @param bool $bHelpdesk = false
  * @param string $sHelpdeskHash = ''
  * @param string $sCalendarPubHash = ''
  * @param string $sFileStoragePubHash = ''
  * @param bool $bMobile = false
  * @return string
  */
 private function indexHTML($bHelpdesk = false, $sHelpdeskHash = '', $sCalendarPubHash = '', $sFileStoragePubHash = '', $bMobile = false)
 {
     $sResult = '';
     $mHelpdeskIdTenant = false;
     $oApiIntegrator = \CApi::Manager('integrator');
     if ($oApiIntegrator) {
         if ($bHelpdesk) {
             $oApiHelpdesk = \CApi::Manager('helpdesk');
             if ($oApiHelpdesk) {
                 $oLogginedAccount = $this->oActions->GetDefaultAccount();
                 $oApiCapability = \CApi::Manager('capability');
                 $mHelpdeskIdTenant = $oApiIntegrator->GetTenantIdByHash($sHelpdeskHash);
                 if (!is_int($mHelpdeskIdTenant)) {
                     \CApi::Location('./');
                     return '';
                 }
                 $bDoId = false;
                 $sThread = $this->oHttp->GetQuery('thread');
                 if (0 < strlen($sThread)) {
                     if ($oApiHelpdesk) {
                         $iThreadID = $oApiHelpdesk->GetThreadIdByHash($mHelpdeskIdTenant, $sThread);
                         if (0 < $iThreadID) {
                             $oApiIntegrator->SetThreadIdFromRequest($iThreadID);
                             $bDoId = true;
                         }
                     }
                 }
                 $sActivateHash = $this->oHttp->GetQuery('activate');
                 if (0 < strlen($sActivateHash) && !$this->oHttp->HasQuery('forgot')) {
                     $bRemove = true;
                     $oUser = $oApiHelpdesk->GetUserByActivateHash($mHelpdeskIdTenant, $sActivateHash);
                     /* @var $oUser \CHelpdeskUser */
                     if ($oUser) {
                         if (!$oUser->Activated) {
                             $oUser->Activated = true;
                             $oUser->RegenerateActivateHash();
                             if ($oApiHelpdesk->UpdateUser($oUser)) {
                                 $bRemove = false;
                                 $oApiIntegrator->SetUserAsActivated($oUser);
                             }
                         }
                     }
                     if ($bRemove) {
                         $oApiIntegrator->RemoveUserAsActivated();
                     }
                 }
                 if ($oLogginedAccount && $oApiCapability && $oApiCapability->IsHelpdeskSupported($oLogginedAccount) && $oLogginedAccount->IdTenant === $mHelpdeskIdTenant) {
                     if (!$bDoId) {
                         $oApiIntegrator->SetThreadIdFromRequest(0);
                     }
                     $oApiIntegrator->SkipMobileCheck();
                     \CApi::Location('./');
                     return '';
                 }
             } else {
                 \CApi::Location('./');
                 return '';
             }
         }
         $sResult = file_get_contents(PSEVEN_APP_ROOT_PATH . 'templates/Index.html');
         if (is_string($sResult)) {
             @\header('Content-Type: text/html; charset=utf-8', true);
             @\header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
             @\header('Last-Modified: ' . \gmdate('D, d M Y H:i:s') . ' GMT');
             @\header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
             @\header('Cache-Control: post-check=0, pre-check=0', false);
             @\header('Pragma: no-cache');
             $sResult = strtr($sResult, array('{{AppVersion}}' => PSEVEN_APP_VERSION, '{{IntegratorDir}}' => $oApiIntegrator->GetAppDirValue(), '{{IntegratorLinks}}' => $oApiIntegrator->BuildHeadersLink('.', $bHelpdesk, $mHelpdeskIdTenant, $sHelpdeskHash, $sCalendarPubHash, $sFileStoragePubHash, $bMobile), '{{IntegratorBody}}' => $oApiIntegrator->BuildBody('.', $bHelpdesk, $mHelpdeskIdTenant, $sHelpdeskHash, $sCalendarPubHash, $sFileStoragePubHash, $bMobile)));
         }
     } else {
         $sResult = '';
     }
     return $sResult;
 }