diff options
author | Sergey Linnik <sergey.linnik@onlyoffice.com> | 2020-01-16 17:55:50 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-16 17:55:50 +0300 |
commit | c8fc3c84a77202568fa9c7b09f44950a24b00703 (patch) | |
tree | f0bcd476971df2c6ec387d8b4793873b57639c4d /lib/templatemanager.php | |
parent | c05cbbf9a226810fa24b8e02371c7f9aee504072 (diff) | |
parent | 068d8a610494a2ddeae702735432db234ff357f8 (diff) |
Merge pull request #211 from ONLYOFFICE/developv4.1.1
Release/4.1.1
Diffstat (limited to 'lib/templatemanager.php')
-rw-r--r-- | lib/templatemanager.php | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/lib/templatemanager.php b/lib/templatemanager.php new file mode 100644 index 0000000..71ad53d --- /dev/null +++ b/lib/templatemanager.php @@ -0,0 +1,73 @@ +<?php +/** + * + * (c) Copyright Ascensio System SIA 2019 + * + * This program is a free software product. + * You can redistribute it and/or modify it under the terms of the GNU Affero General Public License + * (AGPL) version 3 as published by the Free Software Foundation. + * In accordance with Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * For details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions of the Program + * must display Appropriate Legal Notices, as required under Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product logo when distributing the program. + * Pursuant to Section 7(e) we decline to grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as well as technical + * writing content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 International. + * See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ + +namespace OCA\Onlyoffice; + + +/** + * Template manager + * + * @package OCA\Onlyoffice + */ +class TemplateManager { + + /** + * Get template + * + * @param string $name - file name + * + * @return string + */ + public static function GetTemplate(string $name) { + $ext = strtolower("." . pathinfo($name, PATHINFO_EXTENSION)); + + $lang = \OC::$server->getL10NFactory("")->get("")->getLanguageCode(); + + $templatePath = self::getTemplatePath($lang, $ext); + if (!file_exists($templatePath)) { + $lang = "en"; + $templatePath = self::getTemplatePath($lang, $ext); + } + + $template = file_get_contents($templatePath); + return $template; + } + + /** + * Get template path + * + * @param string $lang - language + * @param string $ext - file extension + * + * @return string + */ + private static function GetTemplatePath(string $lang, string $ext) { + return dirname(__DIR__) . DIRECTORY_SEPARATOR . "assets" . DIRECTORY_SEPARATOR . $lang . DIRECTORY_SEPARATOR . "new" . $ext; + } +} |