/** * @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; }
/** * @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; }