1
0
mirror of https://github.com/ONLYOFFICE/onlyoffice-owncloud.git synced 2025-04-18 13:24:05 +03:00

Merge pull request 'Release/9.6.1' from develop into master

Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/onlyoffice-owncloud/pulls/22
This commit is contained in:
Sergey Linnik 2025-02-12 14:10:25 +00:00
commit f086753f77
88 changed files with 780 additions and 170 deletions

View File

@ -5,7 +5,6 @@ on:
push:
branches: [master]
pull_request:
types: [opened, reopened]
branches: [master]
jobs:
@ -13,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Get Info
run: |
echo "version=$(grep -Eo '[0-9]+(\.[0-9]+)+' CHANGELOG.md | head -n 1)" >> $GITHUB_OUTPUT
@ -28,7 +27,12 @@ jobs:
cd onlyoffice
rm -rf ./.github/
rm -rf ./.git/
rm ./.eslintrc.json
rm ./.gitmodules
rm ./.stylelintrc.json
rm ./npm-shrinkwrap.json
rm ./package.json
rm ./ruleset.xml
rm -rf ./assets/document-templates/.git
rm -rf ./assets/document-formats/.git
cd ./appinfo
@ -36,7 +40,7 @@ jobs:
cd $cwd
tar -czvf onlyoffice.tar.gz onlyoffice
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: onlyoffice
path: onlyoffice.tar.gz

View File

@ -19,12 +19,12 @@ jobs:
working-directory: ./js
steps:
- name: Install NodeJS
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Code Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Dependencies
run: npm ci

View File

@ -19,7 +19,7 @@ jobs:
name: php-lint
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v2

View File

@ -16,7 +16,7 @@ jobs:
name: php-cs
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:

View File

@ -1,4 +1,4 @@
ownCloud ONLYOFFICE integration app uses code from the following 3rd party projects:
ONLYOFFICE app for ownCloud uses code from the following 3rd party projects:
JWT - JSON Web Token implementation (https://github.com/firebase/php-jwt/blob/master/LICENSE)
License: BSD

View File

@ -1,5 +1,16 @@
# Change Log
## 9.6.1
## Added
- setting for setup unknown author display name
- setting for sending notifications by email
- opening docm, xlsm, pptm files
- support IMPORTRANGE
## Changed
- URL for requests to Conversion API
- reading JSON instead of XML from Conversion API
## 9.5.1
## Added
- default empty templates

View File

@ -1,4 +1,4 @@
# ![onlyoffice icon](screenshots/icon.png) ownCloud ONLYOFFICE integration app
# ![onlyoffice icon](screenshots/icon.png) ONLYOFFICE app for ownCloud
This app allows users to edit office documents from [ownCloud](https://owncloud.com) using ONLYOFFICE Docs packaged as Document Server - [Community or Enterprise Edition](#onlyoffice-docs-editions).
@ -7,14 +7,16 @@ This app allows users to edit office documents from [ownCloud](https://owncloud.
The app allows to:
* Create and edit text documents, spreadsheets, and presentations.
* Create and edit PDF forms.
* Edit PDF files.
* Share files with different permission types - viewing/editing, commenting, reviewing, filling forms. It's also possible to restrict downloading (in all editors) and modifying filters (in spreadshhets). Sharing via public link is also available.
* Co-edit documents in real-time: use two co-editing modes (Fast and Strict), Track Changes, comments, and built-in chat. Co-editing is also available several federated ownCloud instances connected to one Document Server.
* Work with documents, spreadsheets, and presentations within ownCloud Web.
Supported formats:
* For editing: DOCM, DOCX, DOCXF, DOTM, DOTX, EPUB, FB2, HTML, ODT, OTT, RTF, TXT, CSV, ODS, OTS, XLSM, XLSX, XLTM, XLTX, ODP, OTP, POTM, POTX, PPSM, PPSX, PPTM, PPTX.
* For viewing only: DJVU, DOC, DOT, FODT, HTM, MHT, MHTML, OFORM, PDF, STW, SXW, WPS, WPT, XML, XPS, ET, ETT, FODS, SXC, XLS, XLSB, XLT, DPS, DPT, FODP, POT, PPS, PPT, SXI.
* For editing: DOCM, DOCX, DOTM, DOTX, PDF, EPUB, FB2, HTML, ODT, OTT, RTF, TXT, CSV, ODS, OTS, XLSM, XLSX, XLTM, XLTX, ODP, OTP, POTM, POTX, PPSM, PPSX, PPTM, PPTX.
* For viewing only: DJVU, DOC, DOT, FODT, HTM, MHT, MHTML, STW, SXW, WPS, WPT, XML, XPS, ET, ETT, FODS, SXC, XLS, XLSB, XLT, DPS, DPT, FODP, POT, PPS, PPT, SXI.
ODT, ODS, and ODP is also available for instant conversion. After you enable the corresponding option in the admin settings, ODF-formatted documents are immediately converted in the editor and opened after you click on it.
@ -36,9 +38,9 @@ To use ONLYOFFICE behind a proxy, please refer to [this article](https://helpcen
You can also use our **[Docker installation](https://github.com/ONLYOFFICE/docker-onlyoffice-owncloud)** to install pre-configured Document Server (free version) and ownCloud with a couple of commands.
## Installing ownCloud ONLYOFFICE integration app
## Installing ONLYOFFICE app for ownCloud
The ownCloud administrator can install the integration app from the in-built application market.
The ownCloud administrator can install the app from the in-built application market.
For that click the upper-left hamburger menu and select **Market**. After that find **ONLYOFFICE** in the list of available applications and install it.
If the server with the ownCloud installed does not have an Internet access, or if you need it for some other reason, the administrator can install the application manually:
@ -49,7 +51,7 @@ If the server with the ownCloud installed does not have an Internet access, or i
cd apps/
```
2. Get the ownCloud ONLYOFFICE integration app.
2. Get the ONLYOFFICE app for ownCloud.
There are several ways to do that:
a. Download the latest signed version from the official store for [ownCloud](https://marketplace.owncloud.com/apps/onlyoffice).
@ -73,7 +75,7 @@ There are several ways to do that:
4. In ownCloud open the `~/settings/admin?sectionid=apps&category=disabled` page with _Not enabled_ apps by administrator and click _Enable_ for the **ONLYOFFICE** application.
## Configuring ownCloud ONLYOFFICE integration app
## Configuring ONLYOFFICE app for ownCloud
In ownCloud open the `~/settings/admin?sectionid=additional#onlyoffice` page with administrative settings for **ONLYOFFICE** section.
Enter the following address to connect ONLYOFFICE Document Server:
@ -129,7 +131,7 @@ Depending on your webserver configuration you can drop the `index.php` segment f
## How it works
The ONLYOFFICE integration follows the API documented [here](https://api.onlyoffice.com/editors/basic):
The ONLYOFFICE app follows the API documented [here](https://api.onlyoffice.com/editors/basic):
* When creating a new file, the user navigates to a document folder within ownCloud and clicks the **Document**, **Spreadsheet** or **Presentation** item in the _new_ (+) menu.
@ -194,7 +196,7 @@ The instruction on enabling _master key_ based encryption is available in the of
To solve this, we added an asynchronous background task which runs on the server to check availability of the editors. It allows testing the connection between your **ownCloud instance** and **ONLYOFFICE Document Server**, namely availability of server addresses and the validity of the JWT secret are being checked.
If any issue is detected, the ONLYOFFICE integration connector (consequently, the ability to create and open files) will be disabled. As an ownCloud admin, you will get the corresponding notification.
If any issue is detected, the ONLYOFFICE app (consequently, the ability to create and open files) will be disabled. As an ownCloud admin, you will get the corresponding notification.
This option allows you to avoid issues when the server settings become incorrect and require changes.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -119,6 +119,9 @@ class Application extends App {
$detector->registerType("ott", "application/vnd.oasis.opendocument.text-template");
$detector->registerType("ots", "application/vnd.oasis.opendocument.spreadsheet-template");
$detector->registerType("otp", "application/vnd.oasis.opendocument.presentation-template");
$detector->registerType("docm", "application/vnd.ms-word.document.macroenabled.12");
$detector->registerType("xlsm", "application/vnd.ms-excel.sheet.macroenabled.12");
$detector->registerType("pptm", "application/vnd.ms-powerpoint.presentation.macroenabled.12");
$previewManager = $container->query(IPreview::class);
if ($this->appConfig->getPreview()) {
@ -228,7 +231,8 @@ class Application extends App {
$this->crypt,
$c->query("IManager"),
$c->query("Session"),
$c->query("ServerContainer")->getGroupManager()
$c->query("ServerContainer")->getGroupManager(),
$c->query("Mailer")
);
}
);

View File

@ -6,15 +6,15 @@
<description>ONLYOFFICE connector allows you to view, edit and collaborate on text documents, spreadsheets and presentations within ownCloud using ONLYOFFICE Docs. This will create a new Edit in ONLYOFFICE action within the document library for Office documents. This allows multiple users to co-author documents in real time from the familiar web interface and save the changes back to your file storage.</description>
<licence>apl2</licence>
<author>Ascensio System SIA</author>
<version>9.5.1</version>
<version>9.6.1</version>
<namespace>Onlyoffice</namespace>
<types>
<filesystem/>
</types>
<documentation>
<admin>https://api.onlyoffice.com/editors/owncloud</admin>
<admin>https://helpcenter.onlyoffice.com/integration/owncloud.aspx</admin>
<user>https://helpcenter.onlyoffice.com/integration/owncloud.aspx</user>
<developer>https://github.com/ONLYOFFICE/onlyoffice-owncloud</developer>
<user>https://api.onlyoffice.com/editors/owncloud</user>
</documentation>
<category>tools</category>
<website>https://www.onlyoffice.com</website>

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

@ -1 +1 @@
Subproject commit 8c1941e3b896831b50a9956fefb36d6f78eb2e50
Subproject commit aff1285e92c02b46225a501e94cba3a07bb6e6f3

@ -1 +1 @@
Subproject commit 26da864937e48e80ee667e3545e386405c16c10f
Subproject commit 75e3d68f5d86554b17c8473c2e1d19492ae67fc1

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -303,7 +303,7 @@ class EditorApiController extends OCSController {
"title" => $fileName,
"url" => $fileUrl,
"referenceData" => [
"fileKey" => $file->getId(),
"fileKey" => (string)$file->getId(),
"instanceId" => $this->config->getSystemValue("instanceid", true),
],
],

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -39,6 +39,7 @@ use OCP\IUser;
use OCP\IUserSession;
use OCP\IUserManager;
use OCP\IGroupManager;
use OCP\Mail\IMailer;
use OCP\Share\IManager;
use OCP\Share;
@ -47,6 +48,7 @@ use OCA\Files\Helper;
use OCA\Onlyoffice\AppConfig;
use OCA\Onlyoffice\Crypt;
use OCA\Onlyoffice\DocumentService;
use OCA\Onlyoffice\EmailManager;
use OCA\Onlyoffice\FileUtility;
use OCA\Onlyoffice\VersionManager;
use OCA\Onlyoffice\FileVersions;
@ -147,6 +149,20 @@ class EditorController extends Controller {
*/
private $avatarManager;
/**
* Mailer
*
* @var IMailer
*/
private $mailer;
/**
* Email manager
*
* @var EmailManager
*/
private $emailManager;
/**
* @param string $AppName - application name
* @param IRequest $request - request object
@ -161,6 +177,7 @@ class EditorController extends Controller {
* @param IManager $shareManager - Share manager
* @param ISession $session - Session
* @param IGroupManager $groupManager - Group manager
* @param IMailer $mailer - Mailer
*/
public function __construct(
$AppName,
@ -175,7 +192,8 @@ class EditorController extends Controller {
Crypt $crypt,
IManager $shareManager,
ISession $session,
IGroupManager $groupManager
IGroupManager $groupManager,
IMailer $mailer
) {
parent::__construct($AppName, $request);
@ -194,6 +212,7 @@ class EditorController extends Controller {
$this->fileUtility = new FileUtility($AppName, $trans, $logger, $config, $shareManager, $session);
$this->avatarManager = \OC::$server->getAvatarManager();
$this->emailManager = new EmailManager($AppName, $trans, $logger, $mailer, $userManager, $urlGenerator);
}
/**
@ -412,7 +431,7 @@ class EditorController extends Controller {
if ($user->getUID() != $currentUserId && (!empty($email) || $operationType === "protect")) {
$userElement = [
"name" => $user->getDisplayName(),
"id" => $user->getUID()
"id" => $operationType === "protect" ? $this->buildUserId($user->getUID()) : $user->getUID()
];
if (!empty($email)) {
$userElement["email"] = $email;
@ -582,6 +601,9 @@ class EditorController extends Controller {
$notification->setUser($recipientId);
$notificationManager->notify($notification);
if ($this->config->getEmailNotifications()) {
$this->emailManager->notifyMentionEmail($userId, $recipientId, $file->getId(), $file->getName(), $anchor, $notification->getObjectId());
}
}
return ["message" => $this->trans->t("Notification sent successfully")];
@ -592,13 +614,14 @@ class EditorController extends Controller {
*
* @param array $referenceData - reference data
* @param string $path - file path
* @param string $link - file link
*
* @return array
*
* @NoAdminRequired
* @PublicPage
*/
public function reference($referenceData, $path = null) {
public function reference($referenceData, $path = null, $link = null) {
$this->logger->debug("reference: " . json_encode($referenceData) . " $path", ["app" => $this->appName]);
if (!$this->config->isUserAllowedToUse()) {
@ -633,6 +656,15 @@ class EditorController extends Controller {
}
}
if ($file === null
&& !empty($link)
) {
$fileId = $this->getFileIdByLink($link);
if (!empty($fileId)) {
list($file, $error, $share) = $this->getFile($userId, $fileId);
}
}
if ($file === null) {
$this->logger->error("Reference not found: $fileId $path", ["app" => $this->appName]);
return ["error" => $this->trans->t("File not found")];
@ -648,7 +680,7 @@ class EditorController extends Controller {
"path" => $userFolder->getRelativePath($file->getPath()),
"key" => $key,
"referenceData" => [
"fileKey" => $file->getId(),
"fileKey" => (string)$file->getId(),
"instanceId" => $this->config->getSystemValue("instanceid", true),
],
"url" => $this->getUrl($file, $user),
@ -910,13 +942,26 @@ class EditorController extends Controller {
$versionId = $version->getRevisionId();
$author = FileVersions::getAuthor($ownerId, $fileId, $versionId);
$authorId = $author !== null ? $author["id"] : $ownerId;
$authorName = $author !== null ? $author["name"] : $owner->getDisplayName();
$historyItem["user"] = [
"id" => $this->buildUserId($authorId),
"name" => $authorName
];
if ($author !== null) {
$historyItem["user"] = [
"id" => $this->buildUserId($author["id"]),
"name" => $author["name"],
];
} else {
if (!empty($this->config->getUnknownAuthor()) && $versionNum !== 1) {
$authorName = $this->config->getUnknownAuthor();
$historyItem["user"] = [
"name" => $authorName,
];
} else {
$authorName = $owner->getDisplayName();
$authorId = $owner->getUID();
$historyItem["user"] = [
"id" => $this->buildUserId($authorId),
"name" => $authorName,
];
}
}
$historyData = FileVersions::getHistoryData($ownerId, $fileId, $versionId, $prevVersion);
if ($historyData !== null) {
@ -946,6 +991,10 @@ class EditorController extends Controller {
"id" => $this->buildUserId($author["id"]),
"name" => $author["name"]
];
} elseif (!empty($this->config->getUnknownAuthor()) && $versionNum !== 0) {
$historyItem["user"] = [
"name" => $this->config->getUnknownAuthor()
];
} elseif ($owner !== null) {
$historyItem["user"] = [
"id" => $this->buildUserId($ownerId),
@ -1546,6 +1595,38 @@ class EditorController extends Controller {
return $userId;
}
/**
* Get File id from by link
*
* @param string $link - link to the file
*
* @return string|null
*/
private function getFileIdByLink(string $link) {
$path = parse_url($link, PHP_URL_PATH);
$encodedPath = array_map("urlencode", explode("/", $path));
$link = str_replace($path, implode("/", $encodedPath), $link);
if (filter_var($link, FILTER_VALIDATE_URL) === false) {
return null;
}
if (!empty($this->config->getStorageUrl())) {
$storageUrl = $this->config->getStorageUrl();
} else {
$storageUrl = $this->urlGenerator->getAbsoluteURL("/");
}
if (parse_url($link, PHP_URL_HOST) !== parse_url($storageUrl, PHP_URL_HOST)) {
return null;
}
if (preg_match('/\/onlyoffice\/(\d+)/', $link, $matches)) {
return $matches[1];
}
return null;
}
/**
* Print error page
*

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -118,6 +118,7 @@ class SettingsController extends Controller {
"sameTab" => $this->config->getSameTab(),
"preview" => $this->config->getPreview(),
"cronChecker" => $this->config->getCronChecker(),
"emailNotifications" => $this->config->getEmailNotifications(),
"versionHistory" => $this->config->getVersionHistory(),
"protection" => $this->config->getProtection(),
"encryption" => $this->config->checkEncryptionModule(),
@ -134,7 +135,8 @@ class SettingsController extends Controller {
"reviewDisplay" => $this->config->getCustomizationReviewDisplay(),
"theme" => $this->config->getCustomizationTheme(),
"templates" => $this->getGlobalTemplates(),
"linkToDocs" => $this->config->getLinkToDocs()
"linkToDocs" => $this->config->getLinkToDocs(),
"unknownAuthor" => $this->config->getUnknownAuthor()
];
return new TemplateResponse($this->appName, "settings", $data, "blank");
}
@ -208,6 +210,7 @@ class SettingsController extends Controller {
* @param bool $sameTab - open in the same tab
* @param bool $preview - generate preview files
* @param bool $cronChecker - disable cron checker
* @param bool $emailNotifications - notifications via e-mail
* @param bool $versionHistory - keep version history
* @param array $limitGroups - list of groups
* @param bool $chat - display chat
@ -218,6 +221,7 @@ class SettingsController extends Controller {
* @param bool $toolbarNoTabs - display toolbar tab
* @param string $reviewDisplay - review viewing mode
* @param string $theme - default theme mode
* @param string $unknownAuthor - display unknown author
*
* @return array
*/
@ -227,6 +231,7 @@ class SettingsController extends Controller {
$sameTab,
$preview,
$cronChecker,
$emailNotifications,
$versionHistory,
$limitGroups,
$chat,
@ -236,13 +241,15 @@ class SettingsController extends Controller {
$help,
$toolbarNoTabs,
$reviewDisplay,
$theme
$theme,
$unknownAuthor
) {
$this->config->setDefaultFormats($defFormats);
$this->config->setEditableFormats($editFormats);
$this->config->setSameTab($sameTab);
$this->config->setPreview($preview);
$this->config->setCronChecker($cronChecker);
$this->config->setEmailNotifications($emailNotifications);
$this->config->setVersionHistory($versionHistory);
$this->config->setLimitGroups($limitGroups);
$this->config->setCustomizationChat($chat);
@ -253,6 +260,7 @@ class SettingsController extends Controller {
$this->config->setCustomizationToolbarNoTabs($toolbarNoTabs);
$this->config->setCustomizationReviewDisplay($reviewDisplay);
$this->config->setCustomizationTheme($theme);
$this->config->setUnknownAuthor($unknownAuthor);
return [
];

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -39,9 +39,7 @@
OCA.Onlyoffice.currentWindow = window;
if (OCA.Onlyoffice.inframe) {
OCA.Onlyoffice.faviconBase = $('link[rel="icon"]').attr("href");
OCA.Onlyoffice.currentWindow = window.parent;
OCA.Onlyoffice.titleBase = OCA.Onlyoffice.currentWindow.document.title;
}
if (!OCA.Onlyoffice.fileId && !OCA.Onlyoffice.shareToken) {
@ -687,6 +685,7 @@
};
OCA.Onlyoffice.onRequestReferenceData = function (event) {
const link = event.data.link
const referenceData = event.data.referenceData;
const path = event.data.path;
@ -695,6 +694,7 @@
{
referenceData,
path,
link,
},
function onSuccess(response) {
if (response.error) {

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -20,6 +20,8 @@
OCA.Onlyoffice = _.extend(
{
AppName: "onlyoffice",
titleBase: window.document.title,
favIconBase: $('link[rel="icon"]').attr("href"),
},
OCA.Onlyoffice
);
@ -198,18 +200,22 @@
}
});
window.addEventListener("DOMNodeRemoved", function (event) {
if (
$(event.target).length &&
$("#onlyoffice-frame").length &&
($(event.target)[0].id === "viewer" ||
$(event.target)[0].id === $("#onlyoffice-frame")[0].id)
) {
OCA.Onlyoffice.changeFavicon(
$("#onlyoffice-frame")[0].contentWindow.OCA.Onlyoffice.faviconBase
);
window.document.title =
$("#onlyoffice-frame")[0].contentWindow.OCA.Onlyoffice.titleBase;
const mutationObserver = new MutationObserver(mutationRecords => {
if (mutationRecords[0] && mutationRecords[0].removedNodes) {
mutationRecords[0].removedNodes.forEach((node) => {
if (node.id && node.id === "onlyoffice-frame") {
OCA.Onlyoffice.changeFavicon(
OCA.Onlyoffice.favIconBase
);
window.document.title = OCA.Onlyoffice.titleBase;
}
})
}
});
mutationObserver.observe(document.documentElement, {
childList: true,
subtree: true,
characterDataOldValue: true,
});
})(OCA);

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -167,6 +167,7 @@
const sameTab = $("#onlyofficeSameTab").is(":checked");
const preview = $("#onlyofficePreview").is(":checked");
const cronChecker = $("#onlyofficeCronChecker").is(":checked");
const emailNotifications = $('#onlyofficeEmailNotifications').is(':checked');
const versionHistory = $("#onlyofficeVersionHistory").is(":checked");
const limitGroupsString = $("#onlyofficeGroups").prop("checked")
@ -188,6 +189,7 @@
const theme = $("input[type='radio'][name='theme']:checked")
.attr("id")
.replace("onlyofficeTheme_", "");
const unknownAuthor = $('#onlyofficeUnknownAuthor').val().trim();
$.ajax({
method: "PUT",
@ -200,6 +202,7 @@
sameTab,
preview,
cronChecker,
emailNotifications,
versionHistory,
limitGroups,
chat,
@ -210,6 +213,7 @@
toolbarNoTabs,
reviewDisplay,
theme,
unknownAuthor,
},
success: function onSuccess(response) {
$(".section-onlyoffice").removeClass("icon-loading");

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,4 +1,4 @@
# ownCloud Web ONLYOFFICE integration app
# ONLYOFFICE app for ownCloud Web
This is a connector for integrating ONLYOFFICE Docs (packaged as Document Server) and ownCloud with new user interface called ownCloud Web.
@ -25,7 +25,7 @@ Community Edition vs Enterprise Edition comparison can be found [here](#onlyoffi
You will need:
* [ownCloud server](https://owncloud.com/download-server/#owncloud-server) with ownCloud Web (it can be compiled from source code or installed from the [official marketplace](https://marketplace.owncloud.com/apps/web)).
* Official ownCloud ONLYOFFICE integration app. You can install it from the [ownCloud marketplace](https://marketplace.owncloud.com/apps/onlyoffice). The support for ownCloud Web starts from v7.*.
* Official ownCloud ONLYOFFICE app. You can install it from the [ownCloud marketplace](https://marketplace.owncloud.com/apps/onlyoffice). The support for ownCloud Web starts from v7.*.
To enable work within ownCloud web, register the connector in the ownCloud Web config.json:

View File

@ -42,7 +42,6 @@ OC.L10N.register(
"Open file in the same tab" : "Отваряне на файла в същия прозорец",
"The default application for opening the format" : "Приложение по подразбиране за отваряне на следните формати",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Отваряне на файла за редактиране (според ограниченята на формата данните могат да бъдат загубени при запис във формати от списъка по-долу)",
"View details" : "Виж детайли",
"Save" : "Запази",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Смесеното активно съдържание е недопустимо. За ONLYOFFICE Docs е необходимо използването на HTTPS-адрес.",
"Allow the following groups to access the editors" : "Разреши достъп до редакторите само за тези групи",

View File

@ -40,7 +40,6 @@
"Open file in the same tab" : "Отваряне на файла в същия прозорец",
"The default application for opening the format" : "Приложение по подразбиране за отваряне на следните формати",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Отваряне на файла за редактиране (според ограниченята на формата данните могат да бъдат загубени при запис във формати от списъка по-долу)",
"View details" : "Виж детайли",
"Save" : "Запази",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Смесеното активно съдържание е недопустимо. За ONLYOFFICE Docs е необходимо използването на HTTPS-адрес.",
"Allow the following groups to access the editors" : "Разреши достъп до редакторите само за тези групи",

View File

@ -42,7 +42,6 @@ OC.L10N.register(
"Open file in the same tab" : "Obrir arxiu en la mateixa pestanya",
"The default application for opening the format" : "L'aplicació predeterminada per a obrir el format",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Obrir arxiu per a editar (a causa de les restriccions de format les dades podrien perdre's en guardar en els formats de la següent llista)",
"View details" : "Veure detalls",
"Save" : "Guardar",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Contingut Mixt Actiu no està permès. Es requereix la direcció HTTPS per a ONLYOFFICE Docs.",
"review" : "",

View File

@ -40,7 +40,6 @@
"Open file in the same tab" : "Obrir arxiu en la mateixa pestanya",
"The default application for opening the format" : "L'aplicació predeterminada per a obrir el format",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Obrir arxiu per a editar (a causa de les restriccions de format les dades podrien perdre's en guardar en els formats de la següent llista)",
"View details" : "Veure detalls",
"Save" : "Guardar",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Contingut Mixt Actiu no està permès. Es requereix la direcció HTTPS per a ONLYOFFICE Docs.",
"review" : "",

View File

@ -42,7 +42,6 @@ OC.L10N.register(
"Open file in the same tab": "Åbn filen i samme fane",
"The default application for opening the format": "Standardapplikationen til at åbne formatet",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)": "Åbn filen til redigering (på grund af formatbegrænsninger kan data gå tabt, når du gemmer i formaterne fra listen nedenfor)",
"View details": "Se detaljer",
"Save": "Gem",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required.": "Blandet aktivt indhold er ikke tilladt. HTTPS-adresse for ONLYOFFICE Docs er påkrævet.",
"review": "Anmeldelse",

View File

@ -40,7 +40,6 @@
"Open file in the same tab": "Åbn filen i samme fane",
"The default application for opening the format": "Standardapplikationen til at åbne formatet",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)": "Åbn filen til redigering (på grund af formatbegrænsninger kan data gå tabt, når du gemmer i formaterne fra listen nedenfor)",
"View details": "Se detaljer",
"Save": "Gem",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required.": "Blandet aktivt indhold er ikke tilladt. HTTPS-adresse for ONLYOFFICE Docs er påkrævet.",
"review": "Anmeldelse",

View File

@ -42,7 +42,6 @@ OC.L10N.register(
"Open file in the same tab" : "Datei in der gleichen Registerkarte öffnen",
"The default application for opening the format" : "Die Standardanwendung zum Öffnen des Formats",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Öffne die Datei zum Bearbeiten (aufgrund von Formateinschränkungen können die Daten beim Speichern in den Formaten aus der folgenden Liste verloren gehen)",
"View details" : "Details anzeigen",
"Save" : "Speichern",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Mixed Active Content ist nicht möglich. HTTPS-Adresse für ONLYOFFICE Docs ist erforderlich.",
"Allow the following groups to access the editors": "Den folgenden Gruppen den Zugriff auf die Editoren erlauben",
@ -126,6 +125,15 @@ OC.L10N.register(
"Select data source": "Datenquelle auswählen",
"The data source must not be the current document": "Die Datenquelle darf nicht das aktuelle Dokument sein",
"Enable background connection check to the editors": "Die Hintergrund-Verbindungsprüfung zu den Editoren erlauben",
"The domain in the file url does not match the domain of the Document server": "Die Domäne in der Datei-URL stimmt nicht mit der Domäne von Document Server überein"
"The domain in the file url does not match the domain of the Document server": "Die Domäne in der Datei-URL stimmt nicht mit der Domäne von Document Server überein",
"Unknown author display name": "Anzeigename des unbekannten Autors",
"Enable e-mail notifications": "E-Mail-Benachrichtigungen aktivieren",
"You were mentioned in the document": "Sie wurden im Dokument erwähnt",
"%1\$s mentioned you in the document comment": "%1\$s hat Sie im Dokumentkommentar erwähnt",
"This is a mail message to notify that you have been mentioned by <b>%1\$s</b> in the comment to the <a href=\"%2\$s\">%3\$s</a>:<br>\"%4\$s\"": "Dies ist eine E-Mail-Nachricht, um Sie darüber zu informieren, dass Sie von <b>%1\$s</b> im Kommentar zu <a href=\"%2\$s\">%3\$s</a>:<br>\"%4\$s\" erwähnt wurden.",
"Open file": "Datei öffnen",
"ONLYOFFICE Document Server is unavailable": "ONLYOFFICE Document Server ist nicht verfügbar",
"This is a mail message to notify that the connection with the ONLYOFFICE Document Server has been lost. Please check the connection settings:": "Dies ist eine E-Mail-Nachricht, die Sie darüber informiert, dass die Verbindung mit dem ONLYOFFICE Document Server unterbrochen wurde. Bitte überprüfen Sie die Verbindungseinstellungen:",
"Go to Settings": "Zu den Einstellungen gehen"
},
"nplurals=2; plural=(n != 1);");

View File

@ -40,7 +40,6 @@
"Open file in the same tab" : "Datei in der gleichen Registerkarte öffnen",
"The default application for opening the format" : "Die Standardanwendung zum Öffnen des Formats",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Öffne die Datei zum Bearbeiten (aufgrund von Formateinschränkungen können die Daten beim Speichern in den Formaten aus der folgenden Liste verloren gehen)",
"View details" : "Details anzeigen",
"Save" : "Speichern",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Mixed Active Content ist nicht möglich. HTTPS-Adresse für ONLYOFFICE Docs ist erforderlich.",
"Allow the following groups to access the editors" : "Den folgenden Gruppen den Zugriff auf die Editoren erlauben",
@ -124,6 +123,15 @@
"Select data source": "Datenquelle auswählen",
"The data source must not be the current document": "Die Datenquelle darf nicht das aktuelle Dokument sein",
"Enable background connection check to the editors": "Die Hintergrund-Verbindungsprüfung zu den Editoren erlauben",
"The domain in the file url does not match the domain of the Document server": "Die Domäne in der Datei-URL stimmt nicht mit der Domäne von Document Server überein"
"The domain in the file url does not match the domain of the Document server": "Die Domäne in der Datei-URL stimmt nicht mit der Domäne von Document Server überein",
"Unknown author display name" : "Anzeigename des unbekannten Autors",
"Enable e-mail notifications" : "E-Mail-Benachrichtigungen aktivieren",
"You were mentioned in the document" : "Sie wurden im Dokument erwähnt",
"%1$s mentioned you in the document comment" : "%1$s hat Sie im Dokumentkommentar erwähnt",
"This is a mail message to notify that you have been mentioned by <b>%1$s</b> in the comment to the <a href=\"%2$s\">%3$s</a>:<br>\"%4$s\"" : "Dies ist eine E-Mail-Nachricht, um Sie darüber zu informieren, dass Sie von <b>%1$s</b> im Kommentar zu <a href=\"%2$s\">%3$s</a>:<br>\"%4$s\" erwähnt wurden.",
"Open file" : "Datei öffnen",
"ONLYOFFICE Document Server is unavailable" : "ONLYOFFICE Document Server ist nicht verfügbar",
"This is a mail message to notify that the connection with the ONLYOFFICE Document Server has been lost. Please check the connection settings:" : "Dies ist eine E-Mail-Nachricht, die Sie darüber informiert, dass die Verbindung mit dem ONLYOFFICE Document Server unterbrochen wurde. Bitte überprüfen Sie die Verbindungseinstellungen:",
"Go to Settings" : "Zu den Einstellungen gehen"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@ -42,7 +42,6 @@ OC.L10N.register(
"Open file in the same tab" : "Datei in der gleichen Registerkarte öffnen",
"The default application for opening the format" : "Die Standardanwendung zum Öffnen des Formats",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Öffnen Sie die Datei zum Bearbeiten (aufgrund von Formateinschränkungen können die Daten beim Speichern in den Formaten aus der folgenden Liste verloren gehen)",
"View details" : "Details anzeigen",
"Save" : "Speichern",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Mixed Active Content ist nicht möglich. HTTPS-Adresse für ONLYOFFICE Docs ist erforderlich.",
"Allow the following groups to access the editors": "Den folgenden Gruppen den Zugriff auf die Editoren erlauben",
@ -126,6 +125,15 @@ OC.L10N.register(
"Select data source": "Datenquelle auswählen",
"The data source must not be the current document": "Die Datenquelle darf nicht das aktuelle Dokument sein",
"Enable background connection check to the editors": "Die Hintergrund-Verbindungsprüfung zu den Editoren erlauben",
"The domain in the file url does not match the domain of the Document server": "Die Domäne in der Datei-URL stimmt nicht mit der Domäne von Document Server überein"
"The domain in the file url does not match the domain of the Document server": "Die Domäne in der Datei-URL stimmt nicht mit der Domäne von Document Server überein",
"Unknown author display name": "Anzeigename des unbekannten Autors",
"Enable e-mail notifications": "E-Mail-Benachrichtigungen aktivieren",
"You were mentioned in the document": "Sie wurden im Dokument erwähnt",
"%1\$s mentioned you in the document comment": "%1\$s hat Sie im Dokumentkommentar erwähnt",
"This is a mail message to notify that you have been mentioned by <b>%1\$s</b> in the comment to the <a href=\"%2\$s\">%3\$s</a>:<br>\"%4\$s\"": "Dies ist eine E-Mail-Nachricht, um Sie darüber zu informieren, dass Sie von <b>%1\$s</b> im Kommentar zu <a href=\"%2\$s\">%3\$s</a>:<br>\"%4\$s\" erwähnt wurden.",
"Open file": "Datei öffnen",
"ONLYOFFICE Document Server is unavailable": "ONLYOFFICE Document Server ist nicht verfügbar",
"This is a mail message to notify that the connection with the ONLYOFFICE Document Server has been lost. Please check the connection settings:": "Dies ist eine E-Mail-Nachricht, die Sie darüber informiert, dass die Verbindung mit dem ONLYOFFICE Document Server unterbrochen wurde. Bitte überprüfen Sie die Verbindungseinstellungen:",
"Go to Settings": "Zu den Einstellungen gehen"
},
"nplurals=2; plural=(n != 1);");

View File

@ -40,7 +40,6 @@
"Open file in the same tab" : "Datei in der gleichen Registerkarte öffnen",
"The default application for opening the format" : "Die Standardanwendung zum Öffnen des Formats",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Öffnen Sie die Datei zum Bearbeiten (aufgrund von Formateinschränkungen können die Daten beim Speichern in den Formaten aus der folgenden Liste verloren gehen)",
"View details" : "Details anzeigen",
"Save" : "Speichern",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Mixed Active Content ist nicht möglich. HTTPS-Adresse für ONLYOFFICE Docs ist erforderlich.",
"Allow the following groups to access the editors" : "Den folgenden Gruppen den Zugriff auf die Editoren erlauben",
@ -124,6 +123,15 @@
"Select data source": "Datenquelle auswählen",
"The data source must not be the current document": "Die Datenquelle darf nicht das aktuelle Dokument sein",
"Enable background connection check to the editors": "Die Hintergrund-Verbindungsprüfung zu den Editoren erlauben",
"The domain in the file url does not match the domain of the Document server": "Die Domäne in der Datei-URL stimmt nicht mit der Domäne von Document Server überein"
"The domain in the file url does not match the domain of the Document server": "Die Domäne in der Datei-URL stimmt nicht mit der Domäne von Document Server überein",
"Unknown author display name" : "Anzeigename des unbekannten Autors",
"Enable e-mail notifications" : "E-Mail-Benachrichtigungen aktivieren",
"You were mentioned in the document" : "Sie wurden im Dokument erwähnt",
"%1$s mentioned you in the document comment" : "%1$s hat Sie im Dokumentkommentar erwähnt",
"This is a mail message to notify that you have been mentioned by <b>%1$s</b> in the comment to the <a href=\"%2$s\">%3$s</a>:<br>\"%4$s\"" : "Dies ist eine E-Mail-Nachricht, um Sie darüber zu informieren, dass Sie von <b>%1$s</b> im Kommentar zu <a href=\"%2$s\">%3$s</a>:<br>\"%4$s\" erwähnt wurden.",
"Open file" : "Datei öffnen",
"ONLYOFFICE Document Server is unavailable" : "ONLYOFFICE Document Server ist nicht verfügbar",
"This is a mail message to notify that the connection with the ONLYOFFICE Document Server has been lost. Please check the connection settings:" : "Dies ist eine E-Mail-Nachricht, die Sie darüber informiert, dass die Verbindung mit dem ONLYOFFICE Document Server unterbrochen wurde. Bitte überprüfen Sie die Verbindungseinstellungen:",
"Go to Settings" : "Zu den Einstellungen gehen"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@ -42,7 +42,6 @@ OC.L10N.register(
"Open file in the same tab" : "Abrir archivo en la misma pestaña",
"The default application for opening the format" : "La aplicación predeterminada para abrir el formato",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Abrir archivo para editar (debido a las restricciones de formato los datos podrían perderse al guardar en los formatos de la siguiente lista)",
"View details" : "Ver detalles",
"Save" : "Guardar",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Contenido Mixto Activo no está permitido. Se requiere la dirección HTTPS para ONLYOFFICE Docs.",
"Allow the following groups to access the editors": "Permitir a los siguientes grupos acceder a los editores",
@ -126,6 +125,15 @@ OC.L10N.register(
"Select data source": "Seleccionar fuente de datos",
"The data source must not be the current document": "La fuente de datos no debe ser el documento actual",
"Enable background connection check to the editors": "Activar la comprobación de conexión en segundo plano con los editores",
"The domain in the file url does not match the domain of the Document server": "El dominio de la URL del archivo no coincide con el dominio del Servidor de documentos"
"The domain in the file url does not match the domain of the Document server": "El dominio de la URL del archivo no coincide con el dominio del Servidor de documentos",
"Unknown author display name": "Nombre de autor desconocido",
"Enable e-mail notifications": "Activar notificaciones por correo electrónico",
"You were mentioned in the document": "Se le ha mencionado en el documento",
"%1\$s mentioned you in the document comment": "%1\$s le ha mencionado en el comentario del documento",
"This is a mail message to notify that you have been mentioned by <b>%1\$s</b> in the comment to the <a href=\"%2\$s\">%3\$s</a>:<br>\"%4\$s\"": "Este es un mensaje de correo electrónico para notificarle que ha sido mencionado por <b>%1\$s</b> en el comentario del <a href=\"%2\$s\">%3\$s</a>:<br>\"%4\$s\"",
"Open file": "Abrir archivo",
"ONLYOFFICE Document Server is unavailable": "El Servidor de documentos ONLYOFFICE no está disponible",
"This is a mail message to notify that the connection with the ONLYOFFICE Document Server has been lost. Please check the connection settings:": "Este es un mensaje de correo electrónico para notificarle que la conexión con el Servidor de documentos ONLYOFFICE se ha perdido. Por favor, compruebe los ajustes de conexión:",
"Go to Settings": "Перейти в настройки"
},
"nplurals=2; plural=(n != 1);");

View File

@ -40,7 +40,6 @@
"Open file in the same tab" : "Abrir archivo en la misma pestaña",
"The default application for opening the format" : "La aplicación predeterminada para abrir el formato",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Abrir archivo para editar (debido a las restricciones de formato los datos podrían perderse al guardar en los formatos de la siguiente lista)",
"View details" : "Ver detalles",
"Save" : "Guardar",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Contenido Mixto Activo no está permitido. Se requiere la dirección HTTPS para ONLYOFFICE Docs.",
"Allow the following groups to access the editors" : "Permitir a los siguientes grupos acceder a los editores",
@ -124,6 +123,15 @@
"Select data source": "Seleccionar fuente de datos",
"The data source must not be the current document": "La fuente de datos no debe ser el documento actual",
"Enable background connection check to the editors": "Activar la comprobación de conexión en segundo plano con los editores",
"The domain in the file url does not match the domain of the Document server": "El dominio de la URL del archivo no coincide con el dominio del Servidor de documentos"
"The domain in the file url does not match the domain of the Document server": "El dominio de la URL del archivo no coincide con el dominio del Servidor de documentos",
"Unknown author display name" : "Nombre de autor desconocido",
"Enable e-mail notifications" : "Activar notificaciones por correo electrónico",
"You were mentioned in the document" : "Se le ha mencionado en el documento",
"%1$s mentioned you in the document comment" : "%1$s le ha mencionado en el comentario del documento",
"This is a mail message to notify that you have been mentioned by <b>%1$s</b> in the comment to the <a href=\"%2$s\">%3$s</a>:<br>\"%4$s\"" : "Este es un mensaje de correo electrónico para notificarle que ha sido mencionado por <b>%1$s</b> en el comentario del <a href=\"%2$s\">%3$s</a>:<br>\"%4$s\"",
"Open file" : "Abrir archivo",
"ONLYOFFICE Document Server is unavailable" : "El Servidor de documentos ONLYOFFICE no está disponible",
"This is a mail message to notify that the connection with the ONLYOFFICE Document Server has been lost. Please check the connection settings:" : "Este es un mensaje de correo electrónico para notificarle que la conexión con el Servidor de documentos ONLYOFFICE se ha perdido. Por favor, compruebe los ajustes de conexión:",
"Go to Settings" : "Ir a Ajustes"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@ -42,7 +42,6 @@ OC.L10N.register(
"Open file in the same tab" : "Ouvrir le fichier dans le même onglet",
"The default application for opening the format" : "Application par défaut pour ouvrir le format",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Ouvrir le fichier pour édition (en raison de restrictions de format, des données peuvent être perdues lors de l'enregistrement dans les formats de la liste ci-dessous)",
"View details" : "Voir les détails",
"Save" : "Enregistrer",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Le contenu mixte actif n'est pas autorisé. Une adresse HTTPS pour le ONLYOFFICE Docs est requise",
"Allow the following groups to access the editors": "Autoriser les groupes suivants à accéder aux éditeurs",
@ -126,6 +125,15 @@ OC.L10N.register(
"Select data source": "Sélectionner la source de données",
"The data source must not be the current document": "La source de données ne doit pas être le document actuel",
"Enable background connection check to the editors": "Activer la vérification des connexions en arrière-plan avec les éditeurs",
"The domain in the file url does not match the domain of the Document server": "Le domaine dans l'URL du fichier ne correspond pas au domaine de Document Server"
"The domain in the file url does not match the domain of the Document server": "Le domaine dans l'URL du fichier ne correspond pas au domaine de Document Server",
"Unknown author display name": "Nom d'affichage de l'auteur inconnu",
"Enable e-mail notifications": "Activer les notifications par e-mail",
"You were mentioned in the document": "Vous avez été mentionné dans le document",
"%1\$s mentioned you in the document comment": "%1\$s vous a mentionné dans le commentaire du document",
"This is a mail message to notify that you have been mentioned by <b>%1\$s</b> in the comment to the <a href=\"%2\$s\">%3\$s</a>:<br>\"%4\$s\"": "Ceci est un message pour vous notifier que vous avez été mentionné par <b>%1\$s</b> dans le commentaire à <a href=\"%2\$s\">%3\$s</a>:<br>\"%4\$s\"",
"Open file": "Ouvrir le fichier",
"ONLYOFFICE Document Server is unavailable": "ONLYOFFICE Document Server n'est pas disponible",
"This is a mail message to notify that the connection with the ONLYOFFICE Document Server has been lost. Please check the connection settings:": "Ceci est un message pour vous informer que la connexion avec ONLYOFFICE Document Server a été interrompue. Veuillez vérifier les paramètres de connexion :",
"Go to Settings": "Aller dans Paramètres"
},
"nplurals=2; plural=(n > 1);");

View File

@ -40,7 +40,6 @@
"Open file in the same tab" : "Ouvrir le fichier dans le même onglet",
"The default application for opening the format" : "Application par défaut pour ouvrir le format",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Ouvrir le fichier pour édition (en raison de restrictions de format, des données peuvent être perdues lors de l'enregistrement dans les formats de la liste ci-dessous)",
"View details" : "Voir les détails",
"Save" : "Enregistrer",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Le contenu mixte actif n'est pas autorisé. Une adresse HTTPS pour le ONLYOFFICE Docs est requise",
"Allow the following groups to access the editors" : "Autoriser les groupes suivants à accéder aux éditeurs",
@ -124,6 +123,15 @@
"Select data source": "Sélectionner la source de données",
"The data source must not be the current document": "La source de données ne doit pas être le document actuel",
"Enable background connection check to the editors": "Activer la vérification des connexions en arrière-plan avec les éditeurs",
"The domain in the file url does not match the domain of the Document server": "Le domaine dans l'URL du fichier ne correspond pas au domaine de Document Server"
"The domain in the file url does not match the domain of the Document server": "Le domaine dans l'URL du fichier ne correspond pas au domaine de Document Server",
"Unknown author display name" : "Nom d'affichage de l'auteur inconnu",
"Enable e-mail notifications" : "Activer les notifications par e-mail",
"You were mentioned in the document" : "Vous avez été mentionné dans le document",
"%1$s mentioned you in the document comment" : "%1$s vous a mentionné dans le commentaire du document",
"This is a mail message to notify that you have been mentioned by <b>%1$s</b> in the comment to the <a href=\"%2$s\">%3$s</a>:<br>\"%4$s\"" : "Ceci est un message pour vous notifier que vous avez été mentionné par <b>%1$s</b> dans le commentaire à <a href=\"%2$s\">%3$s</a>:<br>\"%4$s\"",
"Open file" : "Ouvrir le fichier",
"ONLYOFFICE Document Server is unavailable" : "ONLYOFFICE Document Server n'est pas disponible",
"This is a mail message to notify that the connection with the ONLYOFFICE Document Server has been lost. Please check the connection settings:" : "Ceci est un message pour vous informer que la connexion avec ONLYOFFICE Document Server a été interrompue. Veuillez vérifier les paramètres de connexion :",
"Go to Settings" : "Aller dans Paramètres"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
}

View File

@ -42,7 +42,6 @@ OC.L10N.register(
"Open file in the same tab" : "Apri il file nella stessa scheda",
"The default application for opening the format": "L'applicazione predefinita per l'apertura del formato",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Apri il file per la modifica (a causa di restrizioni di formato, i dati potrebbero andare persi durante il salvataggio nei formati della lista sottostante)",
"View details" : "Vedi dettagli",
"Save" : "Salva",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Il contenuto attivo misto non è consentito. È richiesto l'indirizzo HTTPS per ONLYOFFICE Docs.",
"Allow the following groups to access the editors": "Consenti ai seguenti gruppi di accedere agli editor",
@ -126,6 +125,15 @@ OC.L10N.register(
"Select data source": "Seleziona fonte dati",
"The data source must not be the current document": "La fonte dei dati non deve essere il documento corrente",
"Enable background connection check to the editors": "Abilita il controllo della connessione in background per gli editor",
"The domain in the file url does not match the domain of the Document server": "Il dominio nell'URL del file non corrisponde al dominio del Document server"
"The domain in the file url does not match the domain of the Document server": "Il dominio nell'URL del file non corrisponde al dominio del Document server",
"Unknown author display name": "Nome dell'autore sconosciuto",
"Enable e-mail notifications": "Attiva le notifiche via e-mail",
"You were mentioned in the document": "Sei stato menzionato nel documento",
"%1\$s mentioned you in the document comment": "%1\$s ti ha menzionato in un commento del documento",
"This is a mail message to notify that you have been mentioned by <b>%1\$s</b> in the comment to the <a href=\"%2\$s\">%3\$s</a>:<br>\"%4\$s\"": "Questo è un messaggio per notificare che sei stato menzionato da <b>%1\$s</b> in un commento al <a href=\"%2\$s\">%3\$s</a>:<br>\"%4\$s\"",
"Open file": "Apri file",
"ONLYOFFICE Document Server is unavailable": "ONLYOFFICE Document Server non è disponibile",
"This is a mail message to notify that the connection with the ONLYOFFICE Document Server has been lost. Please check the connection settings:": "Questo è un messaggio di posta elettronica per notificare che la connessione con ONLYOFFICE Document Server è stata persa. Si prega di controllare le impostazioni di connessione:",
"Go to Settings": "Vai alle impostazioni"
},
"nplurals=2; plural=(n != 1);");

View File

@ -40,7 +40,6 @@
"Open file in the same tab" : "Apri il file nella stessa scheda",
"The default application for opening the format": "L'applicazione predefinita per l'apertura del formato",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Apri il file per la modifica (a causa di restrizioni di formato, i dati potrebbero andare persi durante il salvataggio nei formati della lista sottostante)",
"View details" : "Vedi dettagli",
"Save" : "Salva",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Il contenuto attivo misto non è consentito. È richiesto l'indirizzo HTTPS per ONLYOFFICE Docs.",
"Allow the following groups to access the editors" : "Consenti ai seguenti gruppi di accedere agli editor",
@ -124,6 +123,15 @@
"Select data source": "Seleziona fonte dati",
"The data source must not be the current document": "La fonte dei dati non deve essere il documento corrente",
"Enable background connection check to the editors": "Abilita il controllo della connessione in background per gli editor",
"The domain in the file url does not match the domain of the Document server": "Il dominio nell'URL del file non corrisponde al dominio del Document server"
"The domain in the file url does not match the domain of the Document server": "Il dominio nell'URL del file non corrisponde al dominio del Document server",
"Unknown author display name" : "Nome dell'autore sconosciuto",
"Enable e-mail notifications" : "Attiva le notifiche via e-mail",
"You were mentioned in the document" : "Sei stato menzionato nel documento",
"%1$s mentioned you in the document comment" : "%1$s ti ha menzionato in un commento del documento",
"This is a mail message to notify that you have been mentioned by <b>%1$s</b> in the comment to the <a href=\"%2$s\">%3$s</a>:<br>\"%4$s\"" : "Questo è un messaggio per notificare che sei stato menzionato da <b>%1$s</b> in un commento al <a href=\"%2$s\">%3$s</a>:<br>\"%4$s\"",
"Open file" : "Apri file",
"ONLYOFFICE Document Server is unavailable" : "ONLYOFFICE Document Server non è disponibile",
"This is a mail message to notify that the connection with the ONLYOFFICE Document Server has been lost. Please check the connection settings:" : "Questo è un messaggio di posta elettronica per notificare che la connessione con ONLYOFFICE Document Server è stata persa. Si prega di controllare le impostazioni di connessione:",
"Go to Settings" : "Vai alle impostazioni"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@ -42,7 +42,6 @@ OC.L10N.register(
"Open file in the same tab" : "ファイルを同じタブで開く",
"The default application for opening the format": "以下のファイルフォーマットをデフォルトで開く",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "編集できるファイルフォーマット (フォーマットの制限により、以下のフォーマットを保存する時にデータが失われる可能性があります)",
"View details" : "詳細表示",
"Save" : "保存",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "アクティブコンテンツの混在は許可されていません。ONLYOFFICE DocsにはHTTPSアドレスが必要です",
"Allow the following groups to access the editors": "以下のグループにエディタへのアクセスを許可する",
@ -126,6 +125,15 @@ OC.L10N.register(
"Select data source": "データソースの選択",
"The data source must not be the current document": "データソースは現在の文書であってはなりません",
"Enable background connection check to the editors": "エディタへのバックグラウンド接続チェックを有効にする",
"The domain in the file url does not match the domain of the Document server": "ファイルURLのドメインがドキュメントサーバーのドメインと一致しません"
"The domain in the file url does not match the domain of the Document server": "ファイルURLのドメインがドキュメントサーバーのドメインと一致しません",
"Unknown author display name": "不明の作成者表示名",
"Enable e-mail notifications": "電子メール通知を有効にする",
"You were mentioned in the document": "あなたがドキュメントでメンションされました",
"%1\$s mentioned you in the document comment": "%1\$s さんは文書コメントであなたをメンションしました",
"This is a mail message to notify that you have been mentioned by <b>%1\$s</b> in the comment to the <a href=\"%2\$s\">%3\$s</a>:<br>\"%4\$s\"": "これは、 <b>%1\$s</b> さんが <a href=\"%2\$s\">%3\$s</a> へのコメントであなたをメンションしたことを通知するメッセージです:<br>\"%4\$s\"",
"Open file": "ファイルを開く",
"ONLYOFFICE Document Server is unavailable": "ONLYOFFICEドキュメントサーバーは只今ご利用いただけません",
"This is a mail message to notify that the connection with the ONLYOFFICE Document Server has been lost. Please check the connection settings:": "これは、ONLYOFFICEドキュメントサーバーとの接続が失われたことを通知するメッセージです。接続設定をご確認ください",
"Go to Settings": "設定に進む"
},
"nplurals=1; plural=0;");

View File

@ -40,7 +40,6 @@
"Open file in the same tab" : "ファイルを同じタブで開く",
"The default application for opening the format": "以下のファイルフォーマットをデフォルトで開く",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "編集できるファイルフォーマット (フォーマットの制限により、以下のフォーマットを保存する時にデータが失われる可能性があります)",
"View details" : "詳細表示",
"Save" : "保存",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "アクティブコンテンツの混在は許可されていません。ONLYOFFICE DocsにはHTTPSアドレスが必要です",
"Allow the following groups to access the editors" : "以下のグループにエディタへのアクセスを許可する",
@ -124,6 +123,15 @@
"Select data source": "データソースの選択",
"The data source must not be the current document": "データソースは現在の文書であってはなりません",
"Enable background connection check to the editors": "エディタへのバックグラウンド接続チェックを有効にする",
"The domain in the file url does not match the domain of the Document server": "ファイルURLのドメインがドキュメントサーバーのドメインと一致しません"
"The domain in the file url does not match the domain of the Document server": "ファイルURLのドメインがドキュメントサーバーのドメインと一致しません",
"Unknown author display name" : "不明の作成者表示名",
"Enable e-mail notifications" : "電子メール通知を有効にする",
"You were mentioned in the document" : "あなたがドキュメントでメンションされました",
"%1$s mentioned you in the document comment" : "%1$s さんは文書コメントであなたをメンションしました",
"This is a mail message to notify that you have been mentioned by <b>%1$s</b> in the comment to the <a href=\"%2$s\">%3$s</a>:<br>\"%4$s\"" : "これは、 <b>%1$s</b> さんが <a href=\"%2$s\">%3$s</a> へのコメントであなたをメンションしたことを通知するメッセージです:<br>\"%4$s\"",
"Open file" : "ファイルを開く",
"ONLYOFFICE Document Server is unavailable" : "ONLYOFFICEドキュメントサーバーは只今ご利用いただけません",
"This is a mail message to notify that the connection with the ONLYOFFICE Document Server has been lost. Please check the connection settings:" : "これは、ONLYOFFICEドキュメントサーバーとの接続が失われたことを通知するメッセージです。接続設定をご確認ください",
"Go to Settings" : "設定に進む"
},"pluralForm" :"nplurals=1; plural=0;"
}

View File

@ -42,7 +42,6 @@ OC.L10N.register(
"Open file in the same tab": "Bestand in dezelfde tabblad openen",
"The default application for opening the format": "De standaardtoepassing voor het openen van het formaat",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)": "Open het bestand om het te bewerken (wegens formaatbeperkingen kunnen de gegevens verloren gaan bij het opslaan in de formaten van de onderstaande lijst)",
"View details": "Bekijk details",
"Save": "Opslaan",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required.": "Gemende Actieve Inhoud is niet toegestaan. HTTPS-adres voor ONLYOFFICE Docs is vereist.",
"review": "overzicht",

View File

@ -40,7 +40,6 @@
"Open file in the same tab" : "Bestand in dezelfde tabblad openen",
"The default application for opening the format" : "De standaardtoepassing voor het openen van het formaat",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Open het bestand om het te bewerken (wegens formaatbeperkingen kunnen de gegevens verloren gaan bij het opslaan in de formaten van de onderstaande lijst)",
"View details" : "Bekijk details",
"Save" : "Opslaan",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Gemende Actieve Inhoud is niet toegestaan. HTTPS-adres voor ONLYOFFICE Docs is vereist.",
"review" : "overzicht",

View File

@ -42,7 +42,6 @@ OC.L10N.register(
"Open file in the same tab" : "Otwórz plik w tym samym oknie",
"The default application for opening the format" : "Domyślna aplikacja do otwierania formatów",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Otwórz plik do edycji (ze względu na ograniczenia formatów, dane mogą zostac utracone przy zapisie do formatów podanych poniżej)",
"View details" : "Szczegóły",
"Save" : "Zapisz",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Aktywna Zawartość Mieszana nie jest dozwolona. Adres HTTPS jest wymagany dla ONLYOFFICE Docs.",
"review" : "recenzja",

View File

@ -40,7 +40,6 @@
"Open file in the same tab" : "Otwórz plik w tym samym oknie",
"The default application for opening the format" : "Domyślna aplikacja do otwierania formatów",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Otwórz plik do edycji (ze względu na ograniczenia formatów, dane mogą zostac utracone przy zapisie do formatów podanych poniżej)",
"View details" : "Szczegóły",
"Save" : "Zapisz",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Aktywna Zawartość Mieszana nie jest dozwolona. Adres HTTPS jest wymagany dla ONLYOFFICE Docs.",
"review" : "recenzja",

View File

@ -42,7 +42,6 @@ OC.L10N.register(
"Open file in the same tab" : "Abrir arquivo na mesma aba",
"The default application for opening the format" : "Aplicação padrão para os formatos",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Habilitar edição (devido à restrição dos formatos, dados podem ser perdidos ao salvar nos formatos abaixo)",
"View details" : "Ver detalhes",
"Save" : "Salvar",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Conteúdo Misto não é permitido. É necessário um endereço HTTPS para o ONLYOFFICE Docs.",
"Allow the following groups to access the editors": "Permitir que os seguintes grupos acessem os editores",
@ -126,6 +125,15 @@ OC.L10N.register(
"Select data source": "Selecionar fonte de dados",
"The data source must not be the current document": "A fonte de dados não deve ser o documento atual",
"Enable background connection check to the editors": "Ativar verificação de conexão em segundo plano para os editores",
"The domain in the file url does not match the domain of the Document server": "O domínio no URL do arquivo não corresponde ao domínio do servidor de documentos"
"The domain in the file url does not match the domain of the Document server": "O domínio no URL do arquivo não corresponde ao domínio do servidor de documentos",
"Unknown author display name": "Nome de exibição do autor desconhecido",
"Enable e-mail notifications": "Habilitar notificações por e-mail",
"You were mentioned in the document": "Você foi mencionado no documento",
"%1\$s mentioned you in the document comment": "%1\$s mencionou você no comentário do documento",
"This is a mail message to notify that you have been mentioned by <b>%1\$s</b> in the comment to the <a href=\"%2\$s\">%3\$s</a>:<br>\"%4\$s\"": "Esta é uma mensagem de e-mail para notificar que você foi mencionado por <b>%1\$s</b> no comentário para <a href=\"%2\$s\">%3\$s</a>:<br>\"%4\$s\"",
"Open file": "Abrir arquivo",
"ONLYOFFICE Document Server is unavailable": "O servidor de documentos ONLYOFFICE não está disponível",
"This is a mail message to notify that the connection with the ONLYOFFICE Document Server has been lost. Please check the connection settings:": "Esta é uma mensagem de e-mail para notificar que a conexão com o servidor de documentos ONLYOFFICE foi perdida. Verifique as configurações de conexão:",
"Go to Settings": "Ir para configurações"
},
"nplurals=2; plural=(n > 1);");

View File

@ -40,7 +40,6 @@
"Open file in the same tab" : "Abrir arquivo na mesma aba",
"The default application for opening the format" : "Aplicação padrão para os formatos",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Habilitar edição (devido à restrição dos formatos, dados podem ser perdidos ao salvar nos formatos abaixo)",
"View details" : "Ver detalhes",
"Save" : "Salvar",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Conteúdo Misto não é permitido. É necessário um endereço HTTPS para o ONLYOFFICE Docs.",
"Allow the following groups to access the editors" : "Permitir que os seguintes grupos acessem os editores",
@ -124,6 +123,15 @@
"Select data source": "Selecionar fonte de dados",
"The data source must not be the current document": "A fonte de dados não deve ser o documento atual",
"Enable background connection check to the editors": "Ativar verificação de conexão em segundo plano para os editores",
"The domain in the file url does not match the domain of the Document server": "O domínio no URL do arquivo não corresponde ao domínio do servidor de documentos"
"The domain in the file url does not match the domain of the Document server": "O domínio no URL do arquivo não corresponde ao domínio do servidor de documentos",
"Unknown author display name" : "Nome de exibição do autor desconhecido",
"Enable e-mail notifications" : "Habilitar notificações por e-mail",
"You were mentioned in the document" : "Você foi mencionado no documento",
"%1$s mentioned you in the document comment" : "%1$s mencionou você no comentário do documento",
"This is a mail message to notify that you have been mentioned by <b>%1$s</b> in the comment to the <a href=\"%2$s\">%3$s</a>:<br>\"%4$s\"" : "Esta é uma mensagem de e-mail para notificar que você foi mencionado por <b>%1$s</b> no comentário para <a href=\"%2$s\">%3$s</a>:<br>\"%4$s\"",
"Open file" : "Abrir arquivo",
"ONLYOFFICE Document Server is unavailable" : "O servidor de documentos ONLYOFFICE não está disponível",
"This is a mail message to notify that the connection with the ONLYOFFICE Document Server has been lost. Please check the connection settings:" : "Esta é uma mensagem de e-mail para notificar que a conexão com o servidor de documentos ONLYOFFICE foi perdida. Verifique as configurações de conexão:",
"Go to Settings" : "Ir para configurações"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
}

View File

@ -42,7 +42,6 @@ OC.L10N.register(
"Open file in the same tab" : "Открыть файл в той же вкладке",
"The default application for opening the format" : "Приложение по умолчанию для открытия формата",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Открыть файл на редактирование (из-за ограничений формата данные могут быть утеряны при сохранении в форматы из списка ниже)",
"View details" : "Подробнее",
"Save" : "Сохранить",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Смешанное активное содержимое запрещено. Для ONLYOFFICE Docs необходимо использовать HTTPS-адрес.",
"Allow the following groups to access the editors" : "Дать доступ к редакторам только следующим группам",
@ -126,6 +125,15 @@ OC.L10N.register(
"Select data source": "Выбрать источник данных",
"The data source must not be the current document": "Источником данных не должен быть текущий документ",
"Enable background connection check to the editors": "Включить фоновую проверку подключения к редакторам",
"The domain in the file url does not match the domain of the Document server": "Домен в адресе файла не соответствует домену сервера документов"
"The domain in the file url does not match the domain of the Document server": "Домен в адресе файла не соответствует домену сервера документов",
"Unknown author display name" : "Отображаемое имя неизвестного автора",
"Enable e-mail notifications" : "Включить уведомления по электронной почте",
"You were mentioned in the document" : "Вы были упомянуты в документе",
"%1\$s mentioned you in the document comment" : "%1\$s упомянул вас в комментарии к документу",
"This is a mail message to notify that you have been mentioned by <b>%1\$s</b> in the comment to the <a href=\"%2\$s\">%3\$s</a>:<br>\"%4\$s\"": "Это почтовое сообщение, уведомляющее о том, что вас упомянул <b>%1\$s</b> в комментарии к <a href=\"%2\$s\">%3\$s</a>:<br>\"%4\$s\"",
"Open file" : "Открыть документ",
"ONLYOFFICE Document Server is unavailable" : "Сервер документов ONLYOFFICE недоступен",
"This is a mail message to notify that the connection with the ONLYOFFICE Document Server has been lost. Please check the connection settings:" : "Это почтовое сообщение, уведомляющее о том, что соединение с сервером документов ONLYOFFICE потеряно. Пожалуйста, проверьте настройки подключения:",
"Go to Settings" : "Перейти в настройки"
},
"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");

View File

@ -40,7 +40,6 @@
"Open file in the same tab" : "Открыть файл в той же вкладке",
"The default application for opening the format" : "Приложение по умолчанию для открытия формата",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Открыть файл на редактирование (из-за ограничений формата данные могут быть утеряны при сохранении в форматы из списка ниже)",
"View details" : "Подробнее",
"Save" : "Сохранить",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Смешанное активное содержимое запрещено. Для ONLYOFFICE Docs необходимо использовать HTTPS-адрес.",
"Allow the following groups to access the editors" : "Дать доступ к редакторам только следующим группам",
@ -124,6 +123,15 @@
"Select data source": "Выбрать источник данных",
"The data source must not be the current document": "Источником данных не должен быть текущий документ",
"Enable background connection check to the editors": "Включить фоновую проверку подключения к редакторам",
"The domain in the file url does not match the domain of the Document server": "Домен в адресе файла не соответствует домену сервера документов"
"The domain in the file url does not match the domain of the Document server": "Домен в адресе файла не соответствует домену сервера документов",
"Unknown author display name" : "Отображаемое имя неизвестного автора",
"Enable e-mail notifications" : "Включить уведомления по электронной почте",
"You were mentioned in the document" : "Вы были упомянуты в документе",
"%1$s mentioned you in the document comment" : "%1$s упомянул вас в комментарии к документу",
"This is a mail message to notify that you have been mentioned by <b>%1$s</b> in the comment to the <a href=\"%2$s\">%3$s</a>:<br>\"%4$s\"": "Это почтовое сообщение, уведомляющее о том, что вас упомянул <b>%1$s</b> в комментарии к <a href=\"%2$s\">%3$s</a>:<br>\"%4$s\"",
"Open file" : "Открыть документ",
"ONLYOFFICE Document Server is unavailable" : "Сервер документов ONLYOFFICE недоступен",
"This is a mail message to notify that the connection with the ONLYOFFICE Document Server has been lost. Please check the connection settings:" : "Это почтовое сообщение, уведомляющее о том, что соединение с сервером документов ONLYOFFICE потеряно. Пожалуйста, проверьте настройки подключения:",
"Go to Settings" : "Перейти в настройки"
},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
}

View File

@ -42,7 +42,6 @@ OC.L10N.register(
"Open file in the same tab" : "Öppna dokument i samma flik",
"The default application for opening the format" : "Standardprogram for att öppna format",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Öppna filen för redigering (på grund av formatrestriktioner kan data gå förlorade när du sparar i format från listan nedan)",
"View details" : "Visa detaljer",
"Save" : "Spara",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Blandat aktivt innehåll är inte tillåtet. HTTPS-adress till ONLYOFFICE Docs krävs.",
"review" : "granska",

View File

@ -40,7 +40,6 @@
"Open file in the same tab" : "Öppna dokument i samma flik",
"The default application for opening the format" : "Standardprogram for att öppna format",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "Öppna filen för redigering (på grund av formatrestriktioner kan data gå förlorade när du sparar i format från listan nedan)",
"View details" : "Visa detaljer",
"Save" : "Spara",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "Blandat aktivt innehåll är inte tillåtet. HTTPS-adress till ONLYOFFICE Docs krävs.",
"review" : "granska",

View File

@ -41,7 +41,6 @@ OC.L10N.register(
"Open file in the same tab": "Відкривати файл у тій саме вкладці",
"The default application for opening the format": "Типовий застосунок для для відкриття файлу формату",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)": "Відкрити файл для редагування (через обмеження формату дані може бути втрачено при збереженні у нижче наведених форматах файлів)",
"View details": "Докладно",
"Save": "Зберегти",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required.": "Змішаний активний вміст заборонено. Для користування ONLYOFFICE Docs потрібно використовувати безпечне з'єднання HTTPS.",
"Allow the following groups to access the editors": "Надати доступ до редагування лише таким групам",

View File

@ -39,7 +39,6 @@
"Open file in the same tab": "Відкривати файл у тій саме вкладці",
"The default application for opening the format": "Типовий застосунок для для відкриття файлу формату",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)": "Відкрити файл для редагування (через обмеження формату дані може бути втрачено при збереженні у нижче наведених форматах файлів)",
"View details": "Докладно",
"Save": "Зберегти",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required.": "Змішаний активний вміст заборонено. Для користування ONLYOFFICE Docs потрібно використовувати безпечне з'єднання HTTPS.",
"Allow the following groups to access the editors": "Надати доступ до редагування лише таким групам",

View File

@ -42,7 +42,6 @@ OC.L10N.register(
"Open file in the same tab": "在相同的标签页中打开",
"The default application for opening the format": "默认关联的文件格式",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "默认的文件编辑器 (由于文件格式限制,保存为下列格式时,数据可能会缺失)",
"View details" : "查看详情",
"Save" : "保存",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "不允许混合活动内容请使用HTTPS连接ONLYOFFICE Docs。",
"Allow the following groups to access the editors": "让以下用户组访问编辑器",
@ -126,6 +125,15 @@ OC.L10N.register(
"Select data source": "选择数据源",
"The data source must not be the current document": "数据源不应该是当前文档",
"Enable background connection check to the editors": "启用编辑器后台连接检查",
"The domain in the file url does not match the domain of the Document server": "文件 URL 中的域与文档服务器的域不匹配"
"The domain in the file url does not match the domain of the Document server": "文件 URL 中的域与文档服务器的域不匹配",
"Unknown author display name": "未知作者显示名称",
"Enable e-mail notifications": "启用电子邮件通知",
"You were mentioned in the document": "您在文档中被提及",
"%1\$s mentioned you in the document comment": "%1\$s 在文档的批注中提及了您",
"This is a mail message to notify that you have been mentioned by <b>%1\$s</b> in the comment to the <a href=\"%2\$s\">%3\$s</a>:<br>\"%4\$s\"": "此邮件是为了通知您,<b>%1\$s</b> 在<a href=\"%2\$s\">%3\$s</a>:<br>\"%4\$s\"的批注中提及了您",
"Open file": "打开文件",
"ONLYOFFICE Document Server is unavailable": "ONLYOFFICE 文档服务器不可用",
"This is a mail message to notify that the connection with the ONLYOFFICE Document Server has been lost. Please check the connection settings:": "此邮件是为了通知您,您与 ONLYOFFICE 文档服务器的连接已丢失。请检查连接设置",
"Go to Settings": "转到设置"
},
"nplurals=1; plural=0;");

View File

@ -40,7 +40,6 @@
"Open file in the same tab" : "在相同的标签页中打开",
"The default application for opening the format": "默认关联的文件格式",
"Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)" : "默认的文件编辑器 (由于文件格式限制,保存为下列格式时,数据可能会缺失)",
"View details" : "查看详情",
"Save" : "保存",
"Mixed Active Content is not allowed. HTTPS address for ONLYOFFICE Docs is required." : "不允许混合活动内容请使用HTTPS连接ONLYOFFICE Docs。",
"Allow the following groups to access the editors" : "让以下用户组访问编辑器",
@ -124,6 +123,15 @@
"Select data source": "选择数据源",
"The data source must not be the current document": "数据源不应该是当前文档",
"Enable background connection check to the editors": "启用编辑器后台连接检查",
"The domain in the file url does not match the domain of the Document server": "文件 URL 中的域与文档服务器的域不匹配"
"The domain in the file url does not match the domain of the Document server": "文件 URL 中的域与文档服务器的域不匹配",
"Unknown author display name" : "未知作者显示名称",
"Enable e-mail notifications" : "启用电子邮件通知",
"You were mentioned in the document" : "您在文档中被提及",
"%1$s mentioned you in the document comment" : "%1$s 在文档的批注中提及了您",
"This is a mail message to notify that you have been mentioned by <b>%1$s</b> in the comment to the <a href=\"%2$s\">%3$s</a>:<br>\"%4$s\"" : "此邮件是为了通知您,<b>%1$s</b> 在<a href=\"%2$s\">%3$s</a>:<br>\"%4$s\"的批注中提及了您",
"Open file" : "打开文件",
"ONLYOFFICE Document Server is unavailable" : "ONLYOFFICE 文档服务器不可用",
"This is a mail message to notify that the connection with the ONLYOFFICE Document Server has been lost. Please check the connection settings:" : "此邮件是为了通知您,您与 ONLYOFFICE 文档服务器的连接已丢失。请检查连接设置",
"Go to Settings" : "转到设置"
},"pluralForm" :"nplurals=1; plural=0;"
}

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -125,6 +125,13 @@ class AppConfig {
*/
private $_cronChecker = "cronChecker";
/**
* The config key for the e-mail notifications
*
* @var string
*/
private $_emailNotifications = "emailNotifications";
/**
* The config key for the keep versions history
*
@ -195,6 +202,13 @@ class AppConfig {
*/
private $_customizationTheme = "customizationTheme";
/**
* Display name of the unknown author
*
* @var string
*/
private $_unknownAuthor = "unknownAuthor";
/**
* The config key for the setting limit groups
*
@ -736,6 +750,28 @@ class AppConfig {
$this->config->setAppValue($this->appName, $this->_cronChecker, json_encode($value));
}
/**
* Get e-mail notifications setting
*
* @return bool
*/
public function getEmailNotifications() {
return $this->config->getAppValue($this->appName, $this->_emailNotifications, "true") !== "false";
}
/**
* Save e-mail notifications setting
*
* @param bool $value - emailNotifications
*
* @return void
*/
public function setEmailNotifications($value) {
$this->logger->info("Set e-mail notifications: " . json_encode($value), ["app" => $this->appName]);
$this->config->setAppValue($this->appName, $this->_emailNotifications, json_encode($value));
}
/**
* Save keep versions history
*
@ -976,6 +1012,27 @@ class AppConfig {
return "theme-classic-light";
}
/**
* Save unknownAuthor setting
*
* @param string $value - unknown author
*
* @return void
*/
public function setUnknownAuthor($value) {
$this->logger->info("Set unknownAuthor: " . trim($value), ["app" => $this->appName]);
$this->config->setAppValue($this->appName, $this->_unknownAuthor, trim($value));
}
/**
* Get unknownAuthor setting
*
* @return string
*/
public function getUnknownAuthor() {
return $this->config->getAppValue($this->appName, $this->_unknownAuthor, "");
}
/**
* Save macros setting
*

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -28,10 +28,13 @@ use OCP\IGroupManager;
use OCP\IL10N;
use OCP\ILogger;
use OCP\IURLGenerator;
use OCP\Mail\IMailer;
use OCP\IUserManager;
use OCA\Onlyoffice\AppConfig;
use OCA\Onlyoffice\Crypt;
use OCA\Onlyoffice\DocumentService;
use OCA\Onlyoffice\EmailManager;
/**
* Editors availability check background job
@ -87,6 +90,13 @@ class EditorsCheck extends TimedJob {
*/
private $groupManager;
/**
* Email manager
*
* @var EmailManager
*/
private $emailManager;
/**
* @param string $AppName - application name
* @param IURLGenerator $urlGenerator - url generator service
@ -114,6 +124,9 @@ class EditorsCheck extends TimedJob {
$this->crypt = $crypt;
$this->groupManager = $groupManager;
$this->setInterval($this->config->getEditorsCheckInterval());
$mailer = \OC::$server->getMailer();
$userManager = \OC::$server->getUserManager();
$this->emailManager = new EmailManager($AppName, $trans, $this->logger, $mailer, $userManager, $urlGenerator);
}
/**
@ -192,6 +205,9 @@ class EditorsCheck extends TimedJob {
foreach ($this->getUsersToNotify() as $uid) {
$notification->setUser($uid);
$notificationManager->notify($notification);
if ($this->config->getEmailNotifications()) {
$this->emailManager->notifyEditorsCheckEmail($uid);
}
}
}
}

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -90,15 +90,12 @@ class DocumentService {
public function getConvertedUri($document_uri, $from_extension, $to_extension, $document_revision_id, $toForm = false) {
$responceFromConvertService = $this->sendRequestToConvertService($document_uri, $from_extension, $to_extension, $document_revision_id, false, $toForm);
$errorElement = $responceFromConvertService->Error;
if ($errorElement->count() > 0) {
$this->processConvServResponceError($errorElement . "");
if (isset($responceFromConvertService->error)) {
$this->processConvServResponceError($responceFromConvertService->error);
}
$isEndConvert = $responceFromConvertService->EndConvert;
if ($isEndConvert !== null && strtolower($isEndConvert) === "true") {
return (string)$responceFromConvertService->FileUrl;
if (isset($responceFromConvertService->endConvert) && $responceFromConvertService->endConvert === true) {
return (string)$responceFromConvertService->fileUrl;
}
return "";
@ -123,7 +120,7 @@ class DocumentService {
throw new \Exception($this->trans->t("ONLYOFFICE app is not configured. Please contact admin"));
}
$urlToConverter = $documentServerUrl . "ConvertService.ashx";
$urlToConverter = $documentServerUrl . "converter";
if (empty($document_revision_id)) {
$document_revision_id = $document_uri;
@ -177,22 +174,15 @@ class DocumentService {
$opts["body"] = json_encode($data);
}
$response_xml_data = $this->request($urlToConverter, "post", $opts);
$responseJsonData = $this->request($urlToConverter, "post", $opts);
libxml_use_internal_errors(true);
if (!\function_exists("simplexml_load_file")) {
throw new \Exception($this->trans->t("Server can't read xml"));
}
$response_data = simplexml_load_string($response_xml_data);
if (!$response_data) {
$exc = $this->trans->t("Bad Response. Errors: ");
foreach (libxml_get_errors() as $error) {
$exc = $exc . "\t" . $error->message;
}
$responseData = json_decode($responseJsonData);
if (json_last_error() !== 0) {
$exc = $this->trans->t("Bad Response. JSON error: " . json_last_error_msg());
throw new \Exception($exc);
}
return $response_data;
return $responseData;
}
/**

241
lib/emailmanager.php Normal file
View File

@ -0,0 +1,241 @@
<?php
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
namespace OCA\Onlyoffice;
use OCP\Mail\IEMailTemplate;
use OCP\Mail\IMailer;
use OCP\IL10N;
use OCP\ILogger;
use OCP\IURLGenerator;
use OCP\IUserManager;
/**
* Email manager
*
* @package OCA\Onlyoffice
*/
class EmailManager {
/**
* Application name
*
* @var string
*/
private $appName;
/**
* l10n service
*
* @var IL10N
*/
private $trans;
/**
* Logger
*
* @var ILogger
*/
private $logger;
/**
* Mailer
*
* @var IMailer
*/
private $mailer;
/**
* User manager
*
* @var IUserManager
*/
private $userManager;
/**
* Url generator service
*
* @var IURLGenerator
*/
private $urlGenerator;
/**
* @param string $appName - application name
* @param IL10N $trans - l10n service
* @param ILogger $logger - logger
* @param IMailer $mailer - mailer
* @param IUserManager $userManager - user manager
* @param IURLGenerator $urlGenerator - URL generator
*/
public function __construct(
$appName,
IL10N $trans,
ILogger $logger,
IMailer $mailer,
IUserManager $userManager,
IURLGenerator $urlGenerator
) {
$this->appName = $appName;
$this->trans = $trans;
$this->logger = $logger;
$this->mailer = $mailer;
$this->userManager = $userManager;
$this->urlGenerator = $urlGenerator;
}
/**
* Send notification about mention via email
*
* @param string $notifierId - id of notifier user
* @param string $recipientId - id of recipient user
* @param string $fileId - file id
* @param string $fileName - file name
* @param string $anchor - anchor
* @param string $notificationObjectId - object of notification
*
* @return bool
*/
public function notifyMentionEmail(
string $notifierId,
string $recipientId,
string $fileId,
string $fileName,
string $anchor,
string $notificationObjectId
) {
$recipient = $this->userManager->get($recipientId);
if (empty($recipient)) {
$this->logger->error("recipient $recipientId is null", ["app" => $this->appName]);
return false;
}
$email = $recipient->getEMailAddress();
if (empty($email)) {
$this->logger->info("The mentioned recipient $recipientId does not have an email", ["app" => $this->appName]);
return false;
}
$recipientName = $recipient->getDisplayName();
$notifier = $this->userManager->get($notifierId);
if (empty($notifier)) {
$this->logger->error("notifier $notifierId is null", ["app" => $this->appName]);
return false;
}
$notifierName = $notifier->getDisplayName();
$editorLink = $this->urlGenerator->linkToRouteAbsolute(
$this->appName . ".editor.index", [
"fileId" => $fileId,
"anchor" => $anchor
]
);
$subject = $this->trans->t("You were mentioned in the document");
$heading = $this->trans->t("%1\$s mentioned you in the document comment", [$notifierName]);
$bodyHtml = $this->trans->t(
"This is a mail message to notify that you have been mentioned by <b>%1\$s</b> in the comment to the <a href=\"%2\$s\">%3\$s</a>:<br>\"%4\$s\"",
[$notifierName, $editorLink, $fileName, $notificationObjectId]
);
$this->logger->debug($bodyHtml, ["app" => $this->appName]);
$button = [$this->trans->t("Open file"), $editorLink];
$template = $this->buildEmailTemplate($heading, $bodyHtml, $button);
$result = $this->sendEmailNotification($template, $email, $recipientName, $subject);
if ($result) {
$this->logger->info("Email to $recipientId was sent", ["app" => $this->appName]);
}
return $result;
}
/**
* Send notification about editors unsuccessfull check via email
*
* @param string $uid - user id
*
* @return bool
*/
public function notifyEditorsCheckEmail(string $uid) {
$user = $this->userManager->get($uid);
if (empty($user)) {
$this->logger->error("recipient $uid is null", ["app" => $this->appName]);
return false;
}
$email = $user->getEMailAddress();
if (empty($email)) {
$this->logger->info("The notification recipient $uid does not have an email", ["app" => $this->appName]);
return false;
}
$userName = $user->getDisplayName();
$subject = $this->trans->t("ONLYOFFICE Document Server is unavailable");
$bodyHtml = $this->trans->t("This is a mail message to notify that the connection with the ONLYOFFICE Document Server has been lost. Please check the connection settings:");
$appSettingsLink = $this->urlGenerator->getAbsoluteURL("/settings/admin?sectionid=additional");
$button = [$this->trans->t("Go to Settings"), $appSettingsLink];
$template = $this->buildEmailTemplate($subject, $bodyHtml, $button);
$result = $this->sendEmailNotification($template, $email, $userName, $subject);
if ($result) {
$this->logger->info("Email to $uid was sent", ["app" => $this->appName]);
}
return $result;
}
/**
* Build email template
*
* @param string $heading - e-mail heading text
* @param string $body - e-mail body html
* @param array $button - params for link (0-text, 1-link)
*
* @return OC_Template
*/
private function buildEmailTemplate(string $heading, string $body, array $button = []) {
$template = new \OC_Template($this->appName, 'email/notify');
$template->assign('msgHeading', $heading);
$template->assign('msgBody', $body);
if (!empty($button) && isset($button[0]) && isset($button[1]) && is_string($button[0]) && is_string($button[1])) {
$template->assign('msgButtonText', $button[0]);
$template->assign('msgButtonLink', $button[1]);
}
return $template;
}
/**
* Send email
*
* @param OC_Template $template - e-mail template
* @param string $email - e-mail address
* @param string $recipientName - recipient name
* @param string $subject - email subject
*
* @return bool
*/
private function sendEmailNotification(\OC_Template $template, string $email, string $recipientName, string $subject) {
try {
$message = $this->mailer->createMessage();
$message->setTo([$email => $recipientName]);
$message->setSubject($subject);
$msgPage = $template->fetchPage();
$message->setHtmlBody($msgPage);
$this->mailer->send($message);
} catch (\Exception $e) {
$this->logger->logException($e, ["message" => "Send email", "app" => $this->appName]);
return false;
}
return true;
}
}

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -0,0 +1,50 @@
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr><td>
<table cellspacing="0" cellpadding="0" border="0" width="600px">
<tr>
<td bgcolor="<?php p($theme->getMailHeaderColor());?>" width="20px">&nbsp;</td>
<td bgcolor="<?php p($theme->getMailHeaderColor());?>">
<img src="<?php p(\OC::$server->getURLGenerator()->getAbsoluteURL(image_path('', 'logo-mail.gif'))); ?>" alt="<?php p($theme->getName()); ?>"/>
</td>
</tr>
<tr><td colspan="2">&nbsp;</td></tr>
<tr>
<td width="20px">&nbsp;</td>
<td style="font-weight:normal; font-size:0.8em; line-height:1.2em; font-family:verdana,'arial',sans;">
<h2>
<?php
p($_['msgHeading']);
?>
</h2>
</td>
</tr>
<tr><td colspan="2">&nbsp;</td></tr>
<tr>
<td width="20px">&nbsp;</td>
<td style="font-weight:normal; font-size:0.8em; line-height:1.2em; font-family:verdana,'arial',sans;">
<?php
print_unescaped($_['msgBody']);
?>
</td>
</tr>
<tr><td colspan="2">&nbsp;</td></tr>
<tr>
<td width="20px">&nbsp;</td>
<td style="font-weight:normal; font-size:0.8em; line-height:1.2em; font-family:verdana,'arial',sans;">
<a href="<?php p($_['msgButtonLink']); ?>"><?php p($_['msgButtonText']); ?></a>
</td>
</tr>
<tr><td colspan="2">&nbsp;</td></tr>
<tr>
<td width="20px">&nbsp;</td>
<td style="font-weight:normal; font-size:0.8em; line-height:1.2em; font-family:verdana,'arial',sans;">
<?php print_unescaped($this->inc('html.mail.footer', ['app'=>'core'])); ?>
</td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
</table>
</td></tr>
</table>

View File

@ -2,7 +2,7 @@
/**
* @author Ascensio System SIA <integration@onlyoffice.com>
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -26,7 +26,7 @@ script("onlyoffice", "template");
<div class="section section-onlyoffice">
<h2 id="onlyoffice">
ONLYOFFICE
<a target="_blank" class="icon-info svg" title="" href="https://api.onlyoffice.com/editors/owncloud" data-original-title="<?php p($l->t("Documentation")) ?>"></a>
<a target="_blank" class="icon-info svg" title="" href="https://helpcenter.onlyoffice.com/integration/gettingstarted-owncloud.aspx" data-original-title="<?php p($l->t("Documentation")) ?>"></a>
</h2>
<h2><?php p($l->t("Server settings")) ?></h2>
@ -34,7 +34,6 @@ script("onlyoffice", "template");
<?php if ($_["encryption"] === true) { ?>
<p class="onlyoffice-error">
<?php p($l->t("Encryption App is enabled, the application cannot work. You can continue working with the application if you enable master key.")) ?>
<a target="_blank" class="icon-info svg" title="" href="https://api.onlyoffice.com/editors/owncloud#masterKey" data-original-title="encryption:enable-master-key"></a>
</p>
<?php } ?>
<div id="onlyofficeAddrSettings">
@ -143,6 +142,15 @@ script("onlyoffice", "template");
<label for="onlyofficeCronChecker"><?php p($l->t("Enable background connection check to the editors")) ?></label>
</p>
<p>
<input type="checkbox" class="checkbox" id="onlyofficeEmailNotifications"
<?php if ($_["emailNotifications"]) { ?>checked="checked"<?php } ?> />
<label for="onlyofficeEmailNotifications"><?php p($l->t("Enable e-mail notifications")) ?></label>
</p>
<p class="onlyoffice-header"><?php p($l->t("Unknown author display name")) ?></p>
<p><input id="onlyofficeUnknownAuthor" value="<?php p($_["unknownAuthor"]) ?>" placeholder="" type="text"></p>
<p class="onlyoffice-header"><?php p($l->t("The default application for opening the format")) ?></p>
<div class="onlyoffice-exts">
<?php foreach ($_["formats"] as $format => $setting) { ?>
@ -160,7 +168,6 @@ script("onlyoffice", "template");
<p class="onlyoffice-header">
<?php p($l->t("Open the file for editing (due to format restrictions, the data might be lost when saving to the formats from the list below)")) ?>
<a target="_blank" class="icon-info svg" title="" href="https://api.onlyoffice.com/editors/owncloud#editable" data-original-title="<?php p($l->t("View details")) ?>"></a>
</p>
<div class="onlyoffice-exts">
<?php foreach ($_["formats"] as $format => $setting) { ?>
@ -179,7 +186,6 @@ script("onlyoffice", "template");
<h2>
<?php p($l->t("Editor customization settings")) ?>
<a target="_blank" class="icon-info svg" title="" href="https://api.onlyoffice.com/editors/config/editor/customization" data-original-title="<?php p($l->t("View details")) ?>"></a>
</h2>
<p>