This commit is contained in:
Avinash Gusain 2023-12-08 11:12:53 +05:30
parent e1d8b3660c
commit 1bdddbeb09

View file

@ -14,7 +14,7 @@ class PageController extends Controller
{ {
private IL10N $l; private IL10N $l;
// Nextcloud lang to locale mapping array // Nextcloud lang to locale mapping array
public const LANGUAGE_TO_LOCALE_MAP = [ public const LANGUAGE_TO_LOCALE_MAP = [
'af' => 'af-ZA', // Afrikaans (South Africa) 'af' => 'af-ZA', // Afrikaans (South Africa)
'ar' => 'ar-SA', // Arabic (Saudi Arabia) 'ar' => 'ar-SA', // Arabic (Saudi Arabia)
'az' => 'az-AZ', // Azerbaijani (Azerbaijan) 'az' => 'az-AZ', // Azerbaijani (Azerbaijan)
@ -71,10 +71,11 @@ public const LANGUAGE_TO_LOCALE_MAP = [
'vi' => 'vi-VN', // Vietnamese (Vietnam) 'vi' => 'vi-VN', // Vietnamese (Vietnam)
'zh-cn' => 'zh-CN', // Chinese (China) 'zh-cn' => 'zh-CN', // Chinese (China)
'zh-tw' => 'zh-TW' // Chinese (Taiwan) 'zh-tw' => 'zh-TW' // Chinese (Taiwan)
]; ];
public function __construct(string $appName, IRequest $request, IL10N $l) { public function __construct(string $appName, IRequest $request, IL10N $l)
{
parent::__construct($appName, $request); parent::__construct($appName, $request);
$this->l = $l; $this->l = $l;
$lang = \strtolower(\str_replace('_', '-', $l->getLocaleCode())); $lang = \strtolower(\str_replace('_', '-', $l->getLocaleCode()));
@ -113,7 +114,7 @@ public const LANGUAGE_TO_LOCALE_MAP = [
]); ]);
$csp = new ContentSecurityPolicy(); $csp = new ContentSecurityPolicy();
$csp->addAllowedFrameDomain("'self'"); $csp->addAllowedFrameDomain("'self'");
// $csp->addAllowedFrameAncestorDomain("'self'"); // $csp->addAllowedFrameAncestorDomain("'self'");
$response->setContentSecurityPolicy($csp); $response->setContentSecurityPolicy($csp);
return $response; return $response;
} }
@ -147,7 +148,7 @@ public const LANGUAGE_TO_LOCALE_MAP = [
if(isset($aResultLang['LANGS_NAMES_EN'][$localeCode])) { if(isset($aResultLang['LANGS_NAMES_EN'][$localeCode])) {
$sLanguage = $localeCode; $sLanguage = $localeCode;
} }
}else { } else {
$sLanguage = $oActions->GetLanguage(false); $sLanguage = $oActions->GetLanguage(false);
} }
$csp = new ContentSecurityPolicy(); $csp = new ContentSecurityPolicy();
@ -155,12 +156,12 @@ public const LANGUAGE_TO_LOCALE_MAP = [
$params = [ $params = [
'Admin' => $bAdmin ? 1 : 0, 'Admin' => $bAdmin ? 1 : 0,
'LoadingDescriptionEsc' => \htmlspecialchars($oConfig->Get('webmail', 'loading_description', 'SnappyMail'), ENT_QUOTES|ENT_IGNORE, 'UTF-8'), 'LoadingDescriptionEsc' => \htmlspecialchars($oConfig->Get('webmail', 'loading_description', 'SnappyMail'), ENT_QUOTES | ENT_IGNORE, 'UTF-8'),
'BaseTemplates' => \RainLoop\Utils::ClearHtmlOutput($oServiceActions->compileTemplates($bAdmin)), 'BaseTemplates' => \RainLoop\Utils::ClearHtmlOutput($oServiceActions->compileTemplates($bAdmin)),
'BaseAppBootScript' => \file_get_contents(APP_VERSION_ROOT_PATH.'static/js'.($sAppJsMin ? '/min' : '').'/boot'.$sAppJsMin.'.js'), 'BaseAppBootScript' => \file_get_contents(APP_VERSION_ROOT_PATH . 'static/js' . ($sAppJsMin ? '/min' : '') . '/boot' . $sAppJsMin . '.js'),
'BaseAppBootScriptNonce' => $sNonce, 'BaseAppBootScriptNonce' => $sNonce,
'BaseLanguage' => $oActions->compileLanguage($sLanguage, $bAdmin), 'BaseLanguage' => $oActions->compileLanguage($sLanguage, $bAdmin),
'BaseAppBootCss' => \file_get_contents(APP_VERSION_ROOT_PATH.'static/css/boot'.$sAppCssMin.'.css'), 'BaseAppBootCss' => \file_get_contents(APP_VERSION_ROOT_PATH . 'static/css/boot' . $sAppCssMin . '.css'),
'BaseAppThemeCss' => \preg_replace( 'BaseAppThemeCss' => \preg_replace(
'/\\s*([:;{},]+)\\s*/s', '/\\s*([:;{},]+)\\s*/s',
'$1', '$1',
@ -168,12 +169,12 @@ public const LANGUAGE_TO_LOCALE_MAP = [
) )
]; ];
// \OCP\Util::addScript('snappymail', '../app/snappymail/v/'.APP_VERSION.'/static/js'.($sAppJsMin ? '/min' : '').'/boot'.$sAppJsMin); // \OCP\Util::addScript('snappymail', '../app/snappymail/v/'.APP_VERSION.'/static/js'.($sAppJsMin ? '/min' : '').'/boot'.$sAppJsMin);
// Nextcloud html encodes, so addHeader('style') is not possible // Nextcloud html encodes, so addHeader('style') is not possible
// \OCP\Util::addHeader('style', ['id'=>'app-boot-css'], \file_get_contents(APP_VERSION_ROOT_PATH.'static/css/boot'.$sAppCssMin.'.css')); // \OCP\Util::addHeader('style', ['id'=>'app-boot-css'], \file_get_contents(APP_VERSION_ROOT_PATH.'static/css/boot'.$sAppCssMin.'.css'));
\OCP\Util::addHeader('link', ['type'=>'text/css','rel'=>'stylesheet','href'=>\RainLoop\Utils::WebStaticPath('css/'.($bAdmin?'admin':'app').$sAppCssMin.'.css')], ''); \OCP\Util::addHeader('link', ['type' => 'text/css','rel' => 'stylesheet','href' => \RainLoop\Utils::WebStaticPath('css/' . ($bAdmin ? 'admin' : 'app') . $sAppCssMin . '.css')], '');
// \OCP\Util::addHeader('style', ['id'=>'app-theme-style','data-href'=>$params['BaseAppThemeCssLink']], $params['BaseAppThemeCss']); // \OCP\Util::addHeader('style', ['id'=>'app-theme-style','data-href'=>$params['BaseAppThemeCssLink']], $params['BaseAppThemeCss']);
$response = new TemplateResponse('snappymail', 'index_embed', $params); $response = new TemplateResponse('snappymail', 'index_embed', $params);