mirror of
https://github.com/ONLYOFFICE/document-server-integration.git
synced 2026-04-07 14:06:11 +08:00
Compare commits
115 Commits
v99.99.99.
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
| a1486fd45c | |||
| 1512cc6858 | |||
| a46cad979f | |||
| 99f5cc75a2 | |||
| 8897042ebf | |||
| 9fc7606a6b | |||
| 2990d9fb68 | |||
| 7b9623ce6a | |||
| 97c0952d0e | |||
| b43af4a42b | |||
| 8778d492a1 | |||
| 3c7aa7707c | |||
| b528be73d8 | |||
| dc9ff1ae4a | |||
| 91551f4664 | |||
| 3fa078d3ef | |||
| 6076181db4 | |||
| 9a76a3100f | |||
| f52ae4558e | |||
| 26a5809bc7 | |||
| a080a156b0 | |||
| 1dbca4aeb3 | |||
| 0652ae6679 | |||
| 1574e2c550 | |||
| 9d7993ecba | |||
| da663c951e | |||
| 967287ab44 | |||
| d236bc0bcc | |||
| 333da622b3 | |||
| 19967b0940 | |||
| b0224993a2 | |||
| 449c6b55e6 | |||
| b39e5f4787 | |||
| 9d8bcda58b | |||
| f3a71ee26b | |||
| 480d68148d | |||
| 8b32812744 | |||
| edab397c98 | |||
| ab90b3eb32 | |||
| fdee619bb0 | |||
| 15f3f531f0 | |||
| 02be0dd321 | |||
| f8fbf35244 | |||
| f6227c8bc9 | |||
| 8301c63826 | |||
| 47c737c431 | |||
| d7b1a7f34f | |||
| 8e4dc58bf9 | |||
| 09e41f4c3d | |||
| 4bc09870a8 | |||
| 04aae40b66 | |||
| d13eb90f38 | |||
| de2b2e0c59 | |||
| 67f453c4e0 | |||
| 9878583600 | |||
| 2fb6246f80 | |||
| 829f1b4226 | |||
| 8271719817 | |||
| 395e2d1299 | |||
| 7d9d2fdf3d | |||
| 3a0a713c5a | |||
| 8d1e0ff63d | |||
| 496092c09f | |||
| c0a870458b | |||
| 35da4e1de1 | |||
| 238cf93a22 | |||
| 10bc689f13 | |||
| d532f3d8de | |||
| 59a8e2f63d | |||
| 0bdaa40036 | |||
| a60fd14daf | |||
| f55196a1b2 | |||
| 11974256a9 | |||
| f69fabb44a | |||
| bc434dea55 | |||
| af895ee2e6 | |||
| 8c725214af | |||
| dd513194bb | |||
| 6069c017c0 | |||
| fbc3d47607 | |||
| f8222b1052 | |||
| 4c331d56d7 | |||
| ea3667174f | |||
| ada17c99f7 | |||
| 7a1cc7cbdc | |||
| 976d7072a9 | |||
| 8272c83660 | |||
| 9a7350e169 | |||
| 0c33288120 | |||
| aff50cca4a | |||
| 7aca0edfed | |||
| 2a3bcc0f67 | |||
| 1da1dec76c | |||
| c73aae1c4b | |||
| 4340c34c23 | |||
| 3eff9b469b | |||
| 701d65dfaf | |||
| 5fa447b489 | |||
| eabda30bf7 | |||
| 548f24aaff | |||
| c1ec722b9f | |||
| 92a1aff932 | |||
| 4fe6e961d3 | |||
| e612717b0b | |||
| e0e0bc96bf | |||
| c3739fb08a | |||
| c22dbea9bf | |||
| 606a14ce8f | |||
| 4cb50c752b | |||
| c304b5f526 | |||
| f02726d138 | |||
| 85b0fdc33f | |||
| 0e8c99aaab | |||
| 5a4b47c4bd | |||
| 9775c8e175 |
4
.github/workflows/artifact-csharp-mvc.yml
vendored
4
.github/workflows/artifact-csharp-mvc.yml
vendored
@ -3,10 +3,10 @@ name: Artifact Csharp MVC
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master]
|
||||
branches: [main]
|
||||
paths: ['web/documentserver-example/csharp-mvc/**']
|
||||
pull_request:
|
||||
branches: [master]
|
||||
branches: [main]
|
||||
paths: ['web/documentserver-example/csharp-mvc/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/artifact-csharp.yml
vendored
4
.github/workflows/artifact-csharp.yml
vendored
@ -3,10 +3,10 @@ name: Artifact Csharp
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master]
|
||||
branches: [main]
|
||||
paths: ['web/documentserver-example/csharp/**']
|
||||
pull_request:
|
||||
branches: [master]
|
||||
branches: [main]
|
||||
paths: ['web/documentserver-example/csharp/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/artifact-go.yml
vendored
4
.github/workflows/artifact-go.yml
vendored
@ -3,10 +3,10 @@ name: Artifact Golang
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master]
|
||||
branches: [main]
|
||||
paths: ['web/documentserver-example/go/**']
|
||||
pull_request:
|
||||
branches: [master]
|
||||
branches: [main]
|
||||
paths: ['web/documentserver-example/go/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/artifact-java.yml
vendored
4
.github/workflows/artifact-java.yml
vendored
@ -3,10 +3,10 @@ name: Artifact Java
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master]
|
||||
branches: [main]
|
||||
paths: ['web/documentserver-example/java/**']
|
||||
pull_request:
|
||||
branches: [master]
|
||||
branches: [main]
|
||||
paths: ['web/documentserver-example/java/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/artifact-node.yml
vendored
4
.github/workflows/artifact-node.yml
vendored
@ -3,10 +3,10 @@ name: Artifact Nodejs
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master]
|
||||
branches: [main]
|
||||
paths: ['web/documentserver-example/nodejs/**']
|
||||
pull_request:
|
||||
branches: [master]
|
||||
branches: [main]
|
||||
paths: ['web/documentserver-example/nodejs/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/artifact-php-laravel.yml
vendored
4
.github/workflows/artifact-php-laravel.yml
vendored
@ -3,10 +3,10 @@ name: Artifact PHP Laravel
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master]
|
||||
branches: [main]
|
||||
paths: ['web/documentserver-example/php-laravel/**']
|
||||
pull_request:
|
||||
branches: [master]
|
||||
branches: [main]
|
||||
paths: ['web/documentserver-example/php-laravel/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/artifact-php.yml
vendored
4
.github/workflows/artifact-php.yml
vendored
@ -3,10 +3,10 @@ name: Artifact PHP
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master]
|
||||
branches: [main]
|
||||
paths: ['web/documentserver-example/php/**']
|
||||
pull_request:
|
||||
branches: [master]
|
||||
branches: [main]
|
||||
paths: ['web/documentserver-example/php/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/artifact-python.yml
vendored
4
.github/workflows/artifact-python.yml
vendored
@ -3,10 +3,10 @@ name: Artifact Python
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master]
|
||||
branches: [main]
|
||||
paths: ['web/documentserver-example/python/**']
|
||||
pull_request:
|
||||
branches: [master]
|
||||
branches: [main]
|
||||
paths: ['web/documentserver-example/python/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/artifact-ruby.yml
vendored
4
.github/workflows/artifact-ruby.yml
vendored
@ -3,10 +3,10 @@ name: Artifact Ruby
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master]
|
||||
branches: [main]
|
||||
paths: ['web/documentserver-example/ruby/**']
|
||||
pull_request:
|
||||
branches: [master]
|
||||
branches: [main]
|
||||
paths: ['web/documentserver-example/ruby/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/artifact-spring.yml
vendored
4
.github/workflows/artifact-spring.yml
vendored
@ -3,10 +3,10 @@ name: Artifact Java Spring
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master]
|
||||
branches: [main]
|
||||
paths: ['web/documentserver-example/java-spring/**']
|
||||
pull_request:
|
||||
branches: [master]
|
||||
branches: [main]
|
||||
paths: ['web/documentserver-example/java-spring/**']
|
||||
|
||||
jobs:
|
||||
|
||||
2
.github/workflows/create-tag.yml
vendored
2
.github/workflows/create-tag.yml
vendored
@ -2,7 +2,7 @@ name: Create Tag
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
branches: [main]
|
||||
paths-ignore:
|
||||
- '.github/**'
|
||||
- '**/AUTHORS.md'
|
||||
|
||||
4
.github/workflows/licenses-csharp-mvc.yml
vendored
4
.github/workflows/licenses-csharp-mvc.yml
vendored
@ -3,10 +3,10 @@ name: Licenses Csharp MVC
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/csharp-mvc/**']
|
||||
pull_request:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/csharp-mvc/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/licenses-csharp.yml
vendored
4
.github/workflows/licenses-csharp.yml
vendored
@ -3,10 +3,10 @@ name: Licenses Csharp
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/csharp/**']
|
||||
pull_request:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/csharp/**']
|
||||
|
||||
jobs:
|
||||
|
||||
8
.github/workflows/licenses-go.yml
vendored
8
.github/workflows/licenses-go.yml
vendored
@ -3,10 +3,10 @@ name: Licenses Go
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/go/**']
|
||||
pull_request:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/go/**']
|
||||
|
||||
jobs:
|
||||
@ -15,6 +15,10 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v6
|
||||
with:
|
||||
go-version: '1.23'
|
||||
- name: Submodule Update
|
||||
run: |
|
||||
cd ${{ github.workspace }}
|
||||
|
||||
4
.github/workflows/licenses-java.yml
vendored
4
.github/workflows/licenses-java.yml
vendored
@ -3,10 +3,10 @@ name: Licenses Java
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/java/**']
|
||||
pull_request:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/java/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/licenses-nodejs.yml
vendored
4
.github/workflows/licenses-nodejs.yml
vendored
@ -3,10 +3,10 @@ name: Licenses Nodejs
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/nodejs/**']
|
||||
pull_request:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/nodejs/**']
|
||||
|
||||
env:
|
||||
|
||||
4
.github/workflows/licenses-php-laravel.yml
vendored
4
.github/workflows/licenses-php-laravel.yml
vendored
@ -3,10 +3,10 @@ name: Licenses PHP Laravel
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/php-laravel/**']
|
||||
pull_request:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/php-laravel/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/licenses-php.yml
vendored
4
.github/workflows/licenses-php.yml
vendored
@ -3,10 +3,10 @@ name: Licenses PHP
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/php/**']
|
||||
pull_request:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/php/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/licenses-python.yml
vendored
4
.github/workflows/licenses-python.yml
vendored
@ -3,10 +3,10 @@ name: Licenses Python
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/python/**']
|
||||
pull_request:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/python/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/licenses-ruby.yml
vendored
4
.github/workflows/licenses-ruby.yml
vendored
@ -3,10 +3,10 @@ name: Licenses Ruby
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/ruby/**']
|
||||
pull_request:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/ruby/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/licenses-spring.yml
vendored
4
.github/workflows/licenses-spring.yml
vendored
@ -3,10 +3,10 @@ name: Licenses Java Spring
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/java-spring/**']
|
||||
pull_request:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/java-spring/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/lint-go.yml
vendored
4
.github/workflows/lint-go.yml
vendored
@ -3,10 +3,10 @@ name: Golangci
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/go/**']
|
||||
pull_request:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/go/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/lint-java.yml
vendored
4
.github/workflows/lint-java.yml
vendored
@ -3,10 +3,10 @@ name: Lint Java
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/java/**']
|
||||
pull_request:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/java/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/lint-nodejs.yml
vendored
4
.github/workflows/lint-nodejs.yml
vendored
@ -3,10 +3,10 @@ name: ESLint
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/nodejs/**']
|
||||
pull_request:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/nodejs/**']
|
||||
|
||||
env:
|
||||
|
||||
4
.github/workflows/lint-php-laravel.yml
vendored
4
.github/workflows/lint-php-laravel.yml
vendored
@ -3,10 +3,10 @@ name: Laravel Pint
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/php-laravel/**']
|
||||
pull_request:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/php-laravel/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/lint-php.yml
vendored
4
.github/workflows/lint-php.yml
vendored
@ -3,10 +3,10 @@ name: PHPCs
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/php/**']
|
||||
pull_request:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/php/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/lint-python.yml
vendored
4
.github/workflows/lint-python.yml
vendored
@ -3,10 +3,10 @@ name: PyLint
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/python/**']
|
||||
pull_request:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/python/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/lint-ruby.yml
vendored
4
.github/workflows/lint-ruby.yml
vendored
@ -3,10 +3,10 @@ name: Rubocop
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/ruby/**']
|
||||
pull_request:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/ruby/**']
|
||||
|
||||
jobs:
|
||||
|
||||
4
.github/workflows/lint-spring.yml
vendored
4
.github/workflows/lint-spring.yml
vendored
@ -3,10 +3,10 @@ name: Lint Spring
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [master]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/java-spring/**']
|
||||
pull_request:
|
||||
branches: [master, develop]
|
||||
branches: [main, develop]
|
||||
paths: ['web/documentserver-example/java-spring/**']
|
||||
|
||||
jobs:
|
||||
|
||||
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -5,6 +5,9 @@
|
||||
[submodule "web/documentserver-example/nodejs/public/assets/document-formats"]
|
||||
path = web/documentserver-example/nodejs/public/assets/document-formats
|
||||
url = https://github.com/ONLYOFFICE/document-formats
|
||||
[submodule "web/documentserver-example/nodejs/public/assets/plugin-aiautofill"]
|
||||
path = web/documentserver-example/nodejs/public/assets/plugin-aiautofill
|
||||
url = https://github.com/ONLYOFFICE/plugin-aiautofill.git
|
||||
[submodule "web/documentserver-example/csharp-mvc/assets/document-templates"]
|
||||
path = web/documentserver-example/csharp-mvc/assets/document-templates
|
||||
url = https://github.com/ONLYOFFICE/document-templates
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
# Change Log
|
||||
|
||||
- java-spring: docs-integration-sdk updated to 1.8
|
||||
- php-laravel: update docs-integration-sdk to 1.4
|
||||
- nodejs: wopi CopyPasteRestrictions for anonymous
|
||||
- update insertImage formats
|
||||
- new mobile index page view
|
||||
@ -17,8 +19,9 @@
|
||||
- nodejs: wopi UserCanOnlyComment
|
||||
|
||||
## 1.15.0
|
||||
- nodejs: added AI Auto Fill Plugin
|
||||
- php-laravel: fix custom jwt header
|
||||
- formats for ds v9.1
|
||||
- formats for ds v9.3
|
||||
- user role
|
||||
- start filling
|
||||
- update demo files
|
||||
|
||||
20
Readme.md
20
Readme.md
@ -8,16 +8,16 @@ These examples show the way to integrate [ONLYOFFICE Docs][2] into your own webs
|
||||
The package contains examples written in .Net (C# MVC), .Net (C#), Go, Java, Java Spring, Node.js, PHP, PHP (Laravel), Python and Ruby.
|
||||
|
||||
You should change `http://documentserver` to your server address in these files:
|
||||
* [.Net (C# MVC)](https://github.com/ONLYOFFICE/document-server-integration/tree/master/web/documentserver-example/csharp-mvc) - `web/documentserver-example/csharp-mvc/web.appsettings.config`
|
||||
* [.Net (C#)](https://github.com/ONLYOFFICE/document-server-integration/tree/master/web/documentserver-example/csharp) - `web/documentserver-example/csharp/settings.config`
|
||||
* [Go](https://github.com/ONLYOFFICE/document-server-integration/tree/master/web/documentserver-example/go) - `web\documentserver-example\go\config\configuration.json`
|
||||
* [Java](https://github.com/ONLYOFFICE/document-server-integration/tree/master/web/documentserver-example/java) - `web/documentserver-example/java/src/main/resources/settings.properties`
|
||||
* [Java Spring](https://github.com/ONLYOFFICE/document-server-integration/tree/master/web/documentserver-example/java-spring) - `web/documentserver-example/java-spring/src/main/resources/application.properties`
|
||||
* [Node.js](https://github.com/ONLYOFFICE/document-server-integration/tree/master/web/documentserver-example/nodejs) - `web/documentserver-example/nodejs/config/default.json`
|
||||
* [PHP](https://github.com/ONLYOFFICE/document-server-integration/tree/master/web/documentserver-example/php) - `web/documentserver-example/php/src/configuration/ConfigurationManager.php`
|
||||
* [PHP (Laravel)](https://github.com/ONLYOFFICE/document-server-integration/tree/master/web/documentserver-example/php-laravel) - `web/documentserver-example/php-laravel/.env.example`
|
||||
* [Python](https://github.com/ONLYOFFICE/document-server-integration/tree/master/web/documentserver-example/python) - `web/documentserver-example/python/src/configuration/configuration.py`
|
||||
* [Ruby](https://github.com/ONLYOFFICE/document-server-integration/tree/master/web/documentserver-example/ruby) - `web/documentserver-example/ruby/app/configuration/configuration.rb`
|
||||
* [.Net (C# MVC)](https://github.com/ONLYOFFICE/document-server-integration/tree/main/web/documentserver-example/csharp-mvc) - `web/documentserver-example/csharp-mvc/web.appsettings.config`
|
||||
* [.Net (C#)](https://github.com/ONLYOFFICE/document-server-integration/tree/main/web/documentserver-example/csharp) - `web/documentserver-example/csharp/settings.config`
|
||||
* [Go](https://github.com/ONLYOFFICE/document-server-integration/tree/main/web/documentserver-example/go) - `web\documentserver-example\go\config\configuration.json`
|
||||
* [Java](https://github.com/ONLYOFFICE/document-server-integration/tree/main/web/documentserver-example/java) - `web/documentserver-example/java/src/main/resources/settings.properties`
|
||||
* [Java Spring](https://github.com/ONLYOFFICE/document-server-integration/tree/main/web/documentserver-example/java-spring) - `web/documentserver-example/java-spring/src/main/resources/application.properties`
|
||||
* [Node.js](https://github.com/ONLYOFFICE/document-server-integration/tree/main/web/documentserver-example/nodejs) - `web/documentserver-example/nodejs/config/default.json`
|
||||
* [PHP](https://github.com/ONLYOFFICE/document-server-integration/tree/main/web/documentserver-example/php) - `web/documentserver-example/php/src/configuration/ConfigurationManager.php`
|
||||
* [PHP (Laravel)](https://github.com/ONLYOFFICE/document-server-integration/tree/main/web/documentserver-example/php-laravel) - `web/documentserver-example/php-laravel/.env.example`
|
||||
* [Python](https://github.com/ONLYOFFICE/document-server-integration/tree/main/web/documentserver-example/python) - `web/documentserver-example/python/src/configuration/configuration.py`
|
||||
* [Ruby](https://github.com/ONLYOFFICE/document-server-integration/tree/main/web/documentserver-example/ruby) - `web/documentserver-example/ruby/app/configuration/configuration.rb`
|
||||
|
||||
More information on how to use these examples can be found here: [https://api.onlyoffice.com/docs/docs-api/samples/language-specific-examples/](https://api.onlyoffice.com/docs/docs-api/samples/language-specific-examples/)
|
||||
|
||||
|
||||
@ -143,6 +143,7 @@
|
||||
|
||||
.scroll-table-body {
|
||||
top: 31px;
|
||||
height: calc(100% - 34px);
|
||||
}
|
||||
|
||||
footer {
|
||||
@ -748,6 +749,7 @@
|
||||
|
||||
.scroll-table-body {
|
||||
top: 36px;
|
||||
height: calc(100% - 34px);
|
||||
}
|
||||
|
||||
.scroll-table-body tr:first-child {
|
||||
|
||||
@ -844,6 +844,7 @@ footer table tr td:first-child {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 71px;
|
||||
height: calc(100% - 130px);
|
||||
scrollbar-color: #D0D5DA transparent;
|
||||
scrollbar-width: thin;
|
||||
}
|
||||
|
||||
@ -398,7 +398,9 @@ if (typeof jQuery != "undefined") {
|
||||
jq("#downloadConverted").removeClass("disable");
|
||||
jq("#hiddenFileName").attr("data",response.filename);
|
||||
if (response.error !== "FileTypeIsNotSupported") {
|
||||
jq("#beginEditConverted").removeClass("disable");
|
||||
if (formatManager.isEditable(fileExt)) {
|
||||
jq("#beginEditConverted").removeClass("disable");
|
||||
}
|
||||
jq("#beginViewConverted").removeClass("disable");
|
||||
jq("#downloadConverted").attr("data","fromStorage");
|
||||
} else {
|
||||
|
||||
@ -143,6 +143,7 @@
|
||||
|
||||
.scroll-table-body {
|
||||
top: 31px;
|
||||
height: calc(100% - 34px);
|
||||
}
|
||||
|
||||
footer {
|
||||
@ -748,6 +749,7 @@
|
||||
|
||||
.scroll-table-body {
|
||||
top: 36px;
|
||||
height: calc(100% - 34px);
|
||||
}
|
||||
|
||||
.scroll-table-body tr:first-child {
|
||||
|
||||
@ -848,6 +848,7 @@ footer a:hover {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 71px;
|
||||
height: calc(100% - 130px);
|
||||
scrollbar-color: #D0D5DA transparent;
|
||||
scrollbar-width: thin;
|
||||
}
|
||||
|
||||
Submodule web/documentserver-example/csharp/assets/document-formats updated: 99725d9589...7d7576a3fe
@ -398,7 +398,9 @@ if (typeof jQuery != "undefined") {
|
||||
jq("#downloadConverted").removeClass("disable");
|
||||
jq("#hiddenFileName").attr("data",response.filename);
|
||||
if (response.error !== "FileTypeIsNotSupported") {
|
||||
jq("#beginEditConverted").removeClass("disable");
|
||||
if (formatManager.isEditable(fileExt)) {
|
||||
jq("#beginEditConverted").removeClass("disable");
|
||||
}
|
||||
jq("#beginViewConverted").removeClass("disable");
|
||||
jq("#downloadConverted").attr("data","fromStorage");
|
||||
} else {
|
||||
|
||||
@ -79,7 +79,9 @@ func (srv *DefaultServerEndpointsHandler) Convert(w http.ResponseWriter, r *http
|
||||
return
|
||||
}
|
||||
|
||||
newUrl, newExt, err := srv.ConversionManager.GetConverterUri(fileUrl, fileExt, toExt, key, true, filename)
|
||||
newUrl, newExt, err := srv.ConversionManager.GetConverterUri(
|
||||
fileUrl, fileExt, toExt, key, true, filename, payload.Filepass,
|
||||
)
|
||||
if err != nil {
|
||||
response.Error = err.Error()
|
||||
srv.logger.Errorf("File conversion error: %s", err.Error())
|
||||
|
||||
@ -74,7 +74,10 @@ type JwtManager interface {
|
||||
|
||||
type ConversionManager interface {
|
||||
GetInternalExtension(fileType string) string
|
||||
GetConverterUri(docUri, fromExt, toExt, docKey string, isAsync bool, title string) (string, string, error)
|
||||
GetConverterUri(
|
||||
docUri, fromExt, toExt, docKey string,
|
||||
isAsync bool, title string, filePass string,
|
||||
) (string, string, error)
|
||||
}
|
||||
|
||||
type CommandManager interface {
|
||||
|
||||
@ -69,6 +69,7 @@ func (cm DefaultConversionManager) GetConverterUri(
|
||||
docKey string,
|
||||
isAsync bool,
|
||||
title string,
|
||||
filePass string,
|
||||
) (string, string, error) {
|
||||
if fromExt == "" {
|
||||
fromExt = utils.GetFileExt(docUri, true)
|
||||
@ -81,6 +82,7 @@ func (cm DefaultConversionManager) GetConverterUri(
|
||||
Title: title,
|
||||
Key: docKey,
|
||||
Async: isAsync,
|
||||
Password: filePass,
|
||||
RegisteredClaims: jwt.RegisteredClaims{
|
||||
ExpiresAt: jwt.NewNumericDate(time.Now().Add(time.Minute * cm.config.JwtExpiresIn)),
|
||||
IssuedAt: jwt.NewNumericDate(time.Now()),
|
||||
|
||||
@ -78,7 +78,7 @@ func (dm DefaultDocumentManager) sanitizeEditorParameters(parameters *managers.E
|
||||
}
|
||||
|
||||
actions := dm.FormatManager.GetActions(utils.GetFileExt(parameters.Filename, true))
|
||||
parameters.CanEdit = slices.Contains(actions, "edit")
|
||||
parameters.CanEdit = slices.Contains(actions, "edit") || slices.Contains(actions, "lossy-edit")
|
||||
|
||||
if parameters.CanEdit && parameters.PermissionsMode != "view" {
|
||||
parameters.Mode = "edit"
|
||||
|
||||
@ -30,23 +30,6 @@ type DefaultUserManager struct {
|
||||
|
||||
func NewDefaultUserManager(logger *zap.SugaredLogger) managers.UserManager {
|
||||
users := []models.User{
|
||||
{
|
||||
Id: "uid-0",
|
||||
Username: "",
|
||||
Email: "",
|
||||
Group: "",
|
||||
ReviewGroups: nil,
|
||||
CommentGroups: nil,
|
||||
UserInfoGroups: nil,
|
||||
Favorite: -1,
|
||||
DeniedPermissions: []string{"protect"},
|
||||
Description: descriptionUser0,
|
||||
Templates: false,
|
||||
Avatar: false,
|
||||
Goback: nil,
|
||||
Close: nil,
|
||||
Roles: []string{},
|
||||
},
|
||||
{
|
||||
Id: "uid-1",
|
||||
Username: "John Smith",
|
||||
@ -116,6 +99,23 @@ func NewDefaultUserManager(logger *zap.SugaredLogger) managers.UserManager {
|
||||
},
|
||||
Roles: []string{"role"},
|
||||
},
|
||||
{
|
||||
Id: "uid-0",
|
||||
Username: "",
|
||||
Email: "",
|
||||
Group: "",
|
||||
ReviewGroups: nil,
|
||||
CommentGroups: nil,
|
||||
UserInfoGroups: nil,
|
||||
Favorite: -1,
|
||||
DeniedPermissions: []string{"protect"},
|
||||
Description: descriptionUser0,
|
||||
Templates: false,
|
||||
Avatar: false,
|
||||
Goback: nil,
|
||||
Close: nil,
|
||||
Roles: []string{},
|
||||
},
|
||||
}
|
||||
return &DefaultUserManager{
|
||||
users,
|
||||
@ -197,7 +197,7 @@ func (um DefaultUserManager) GetUserById(uid string) (models.User, error) {
|
||||
}
|
||||
}
|
||||
|
||||
return um.users[0], nil
|
||||
return um.GetUserById("uid-0")
|
||||
}
|
||||
|
||||
func (um DefaultUserManager) GetUserInfoById(uid string, serverAddress string) models.UserInfo {
|
||||
|
||||
@ -99,6 +99,7 @@ type ConvertRequestPayload struct {
|
||||
Key string `json:"key"`
|
||||
Async bool `json:"async"`
|
||||
JwtToken string `json:"token,omitempty"`
|
||||
Password string `json:"password"`
|
||||
jwt.RegisteredClaims
|
||||
}
|
||||
|
||||
|
||||
@ -58,7 +58,6 @@ type EditorConfig struct {
|
||||
Mode string `json:"mode,omitempty"`
|
||||
ActionLink string `json:"actionLink,omitempty"`
|
||||
CreateUrl string `json:"createUrl,omitempty"`
|
||||
FileChoiceUrl string `json:"fileChoiceUrl,omitempty"`
|
||||
CoEditing map[string]interface{} `json:"coEditing,omitempty"`
|
||||
Plugins map[string]interface{} `json:"plugins,omitempty"`
|
||||
Templates []Template `json:"templates,omitempty"`
|
||||
|
||||
@ -130,7 +130,7 @@ if (typeof jQuery !== "undefined") {
|
||||
var responseText = data.responseText;
|
||||
var response = jq.parseJSON(responseText);
|
||||
if (response.error) {
|
||||
if (response.error.includes("Incorrect password")) {
|
||||
if (response.error.includes("-5")) {
|
||||
jq(".current").removeClass("current");
|
||||
jq("#step2").addClass("error");
|
||||
jq("#blockPassword").show();
|
||||
@ -385,7 +385,9 @@ if (typeof jQuery !== "undefined") {
|
||||
jq("#downloadConverted").removeClass("disable");
|
||||
jq("#hiddenFileName").attr("data",response.filename);
|
||||
if (response.error !== "FileTypeIsNotSupported") {
|
||||
jq("#beginEditConverted").removeClass("disable");
|
||||
if (formatManager.isEditable(fileExt)) {
|
||||
jq("#beginEditConverted").removeClass("disable");
|
||||
}
|
||||
jq("#beginViewConverted").removeClass("disable");
|
||||
jq("#downloadConverted").attr("data","fromStorage");
|
||||
} else {
|
||||
|
||||
@ -143,6 +143,7 @@
|
||||
|
||||
.scroll-table-body {
|
||||
top: 31px;
|
||||
height: calc(100% - 34px);
|
||||
}
|
||||
|
||||
footer {
|
||||
@ -747,6 +748,7 @@
|
||||
|
||||
.scroll-table-body {
|
||||
top: 36px;
|
||||
height: calc(100% - 34px);
|
||||
}
|
||||
|
||||
.scroll-table-body tr:first-child {
|
||||
|
||||
@ -845,6 +845,7 @@ footer table tr td:first-child {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 71px;
|
||||
height: calc(100% - 130px);
|
||||
scrollbar-color: #D0D5DA transparent;
|
||||
scrollbar-width: thin;
|
||||
}
|
||||
|
||||
@ -59,7 +59,7 @@
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-core</artifactId>
|
||||
<version>2.15.0</version>
|
||||
<version>2.18.6</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
@ -84,7 +84,7 @@
|
||||
<dependency>
|
||||
<groupId>com.onlyoffice</groupId>
|
||||
<artifactId>docs-integration-sdk</artifactId>
|
||||
<version>1.6.0</version>
|
||||
<version>1.8.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.httpcomponents.core5</groupId>
|
||||
|
||||
@ -68,7 +68,7 @@ public class ExampleData {
|
||||
"Can view chat",
|
||||
"Has an avatar",
|
||||
"Can submit forms",
|
||||
"Has no roles",
|
||||
"Has role 'Anyone'",
|
||||
"Can start filling"
|
||||
);
|
||||
|
||||
@ -85,7 +85,7 @@ public class ExampleData {
|
||||
"Can view chat",
|
||||
"Has an avatar",
|
||||
"Can't submit forms",
|
||||
"Has role 'Anyone'",
|
||||
"Has role 'role'",
|
||||
"Can start filling"
|
||||
);
|
||||
|
||||
@ -105,7 +105,7 @@ public class ExampleData {
|
||||
"Can't close history",
|
||||
"Can't restore the file version",
|
||||
"Can't submit forms",
|
||||
"Has role 'role'",
|
||||
"Has no roles",
|
||||
"Can start filling"
|
||||
);
|
||||
|
||||
@ -114,19 +114,19 @@ public class ExampleData {
|
||||
"", List.of(FilterState.NULL.toString()), List.of(FilterState.NULL.toString()),
|
||||
List.of(FilterState.NULL.toString()), List.of(FilterState.NULL.toString()),
|
||||
List.of(FilterState.NULL.toString()), false, true, true, true,
|
||||
new Goback(null, false), new Close(null, false), null, true);
|
||||
new Goback(null, false), new Close(null, false), List.of("Anyone"), true);
|
||||
|
||||
// create user 2 with the specified parameters
|
||||
userService.createUser("Mark Pottato", "pottato@example.com", descriptionUserSecond,
|
||||
"group-2", List.of("", "group-2"), List.of(FilterState.NULL.toString()),
|
||||
List.of("group-2", ""), List.of("group-2"), List.of("group-2", ""), true, true,
|
||||
true, true, new Goback("Go to Documents", null), new Close(null, true), List.of("Anyone"), false);
|
||||
true, true, new Goback("Go to Documents", null), new Close(null, true), List.of("role"), false);
|
||||
|
||||
// create user 3 with the specified parameters
|
||||
userService.createUser("Hamish Mitchell", null, descriptionUserThird,
|
||||
"group-3", List.of("group-2"), List.of("group-2", "group-3"), List.of("group-2"),
|
||||
new ArrayList<>(), List.of("group-2"), null, true, true, false,
|
||||
null, new Close(null, true), List.of("role"), false);
|
||||
null, new Close(null, true), null, false);
|
||||
|
||||
// create user 0 with the specified parameters
|
||||
userService.createUser("Anonymous", null, descriptionUserZero, "",
|
||||
|
||||
@ -33,8 +33,8 @@ spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
|
||||
hibernate.ddl-auto
|
||||
spring.h2.console.enabled=true
|
||||
spring.h2.console.path=/h2
|
||||
spring.servlet.multipart.max-file-size=5MB
|
||||
spring.servlet.multipart.max-request-size=5MB
|
||||
spring.servlet.multipart.max-file-size=100MB
|
||||
spring.servlet.multipart.max-request-size=100MB
|
||||
|
||||
url.index=/
|
||||
url.converter=/converter
|
||||
|
||||
@ -130,6 +130,7 @@
|
||||
|
||||
.scroll-table-body {
|
||||
top: 31px;
|
||||
height: calc(100% - 34px);
|
||||
}
|
||||
|
||||
footer {
|
||||
@ -740,6 +741,7 @@
|
||||
|
||||
.scroll-table-body {
|
||||
top: 36px;
|
||||
height: calc(100% - 34px);
|
||||
}
|
||||
|
||||
.scroll-table-body tr:first-child {
|
||||
|
||||
@ -846,6 +846,7 @@ footer table tr td:first-child {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 71px;
|
||||
height: calc(100% - 130px);
|
||||
scrollbar-color: #D0D5DA transparent;
|
||||
scrollbar-width: thin;
|
||||
}
|
||||
|
||||
@ -390,7 +390,9 @@ if (typeof jQuery !== "undefined") {
|
||||
jq("#downloadConverted").removeClass("disable");
|
||||
jq("#hiddenFileName").attr("data",response.filename);
|
||||
if (response.error !== "FileTypeIsNotSupported") {
|
||||
jq("#beginEditConverted").removeClass("disable");
|
||||
if (formatManager.isEditable(fileExt)) {
|
||||
jq("#beginEditConverted").removeClass("disable");
|
||||
}
|
||||
jq("#beginViewConverted").removeClass("disable");
|
||||
jq("#downloadConverted").attr("data","fromStorage");
|
||||
} else {
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
version=1.15.0
|
||||
|
||||
filesize-max=5242880
|
||||
filesize-max=104857600
|
||||
storage-folder=app_data
|
||||
filename-max=50
|
||||
enable-forgotten=TRUE
|
||||
|
||||
@ -142,6 +142,7 @@
|
||||
|
||||
.scroll-table-body {
|
||||
top: 31px;
|
||||
height: calc(100% - 34px);
|
||||
}
|
||||
|
||||
footer {
|
||||
@ -734,6 +735,7 @@
|
||||
|
||||
.scroll-table-body {
|
||||
top: 36px;
|
||||
height: calc(100% - 34px);
|
||||
}
|
||||
|
||||
.scroll-table-body tr:first-child {
|
||||
|
||||
@ -851,6 +851,7 @@ footer table tr td:first-child {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 71px;
|
||||
height: calc(100% - 130px);
|
||||
scrollbar-color: #D0D5DA transparent;
|
||||
scrollbar-width: thin;
|
||||
}
|
||||
|
||||
@ -397,7 +397,9 @@ if (typeof jQuery !== "undefined") {
|
||||
jq("#downloadConverted").removeClass("disable");
|
||||
jq("#hiddenFileName").attr("data",response.filename);
|
||||
if (response.error !== "FileTypeIsNotSupported") {
|
||||
jq("#beginEditConverted").removeClass("disable");
|
||||
if (formatManager.isEditable(fileExt)) {
|
||||
jq("#beginEditConverted").removeClass("disable");
|
||||
}
|
||||
jq("#beginViewConverted").removeClass("disable");
|
||||
jq("#downloadConverted").attr("data","fromStorage");
|
||||
} else {
|
||||
|
||||
@ -17,6 +17,7 @@
|
||||
*/
|
||||
|
||||
// connect the necessary packages and modules
|
||||
const crypto = require('crypto');
|
||||
const express = require('express');
|
||||
const path = require('path');
|
||||
const favicon = require('serve-favicon');
|
||||
@ -34,11 +35,11 @@ const documentService = require('./helpers/documentService');
|
||||
const fileUtility = require('./helpers/fileUtility');
|
||||
const wopiApp = require('./helpers/wopi/wopiRouting');
|
||||
const users = require('./helpers/users');
|
||||
const dataAutofill = require('./config/data.json');
|
||||
|
||||
const configServer = config.get('server');
|
||||
const siteUrl = configServer.get('siteUrl');
|
||||
const enableForgotten = configServer.get('enableForgotten');
|
||||
const fileChoiceUrl = configServer.has('fileChoiceUrl') ? configServer.get('fileChoiceUrl') : '';
|
||||
const cfgSignatureEnable = configServer.get('token.enable');
|
||||
const cfgSignatureUseForRequest = configServer.get('token.useforrequest');
|
||||
const cfgSignatureAuthorizationHeader = configServer.get('token.authorizationHeader');
|
||||
@ -221,6 +222,18 @@ app.get('/download', (req, res) => { // define a handler for downloading files
|
||||
filestream.pipe(res); // send file information to the response by streams
|
||||
});
|
||||
|
||||
app.get('/data', (req, res) => { // define a handler for getting sample ai form data
|
||||
if (!req.query.code) { // integration must validate incoming codes and generate new ones for each data request
|
||||
res.sendStatus(403);
|
||||
return;
|
||||
}
|
||||
|
||||
res.send({
|
||||
data: dataAutofill,
|
||||
code: crypto.randomBytes(16).toString('hex'),
|
||||
});
|
||||
});
|
||||
|
||||
app.get('/history', (req, res) => {
|
||||
req.DocManager = new DocManager(req, res);
|
||||
if (cfgSignatureEnable && cfgSignatureUseForRequest) {
|
||||
@ -283,7 +296,7 @@ app.post('/upload', (req, res) => { // define a handler for uploading files
|
||||
if (err) { // if an error occurs
|
||||
// DocManager.cleanFolderRecursive(uploadDirTmp, true); // clean the folder with temporary files
|
||||
res.writeHead(200, { 'Content-Type': 'application/json' });
|
||||
res.write(`{ "error": "${err.message}"}`);
|
||||
res.write(`{ "error": "${err.message}" }`);
|
||||
res.end();
|
||||
return;
|
||||
}
|
||||
@ -292,7 +305,7 @@ app.post('/upload', (req, res) => { // define a handler for uploading files
|
||||
|
||||
if (file === undefined) { // if file parameter is undefined
|
||||
res.writeHead(200, { 'Content-Type': 'application/json' });
|
||||
res.write('{ "error": "Uploaded file not found"}');
|
||||
res.write('{ "error": "Uploaded file not found" }');
|
||||
res.end();
|
||||
return;
|
||||
}
|
||||
@ -303,7 +316,7 @@ app.post('/upload', (req, res) => { // define a handler for uploading files
|
||||
if (fileSizeLimit < file.size || file.size <= 0) {
|
||||
// DocManager.cleanFolderRecursive(uploadDirTmp, true); // clean the folder with temporary files
|
||||
res.writeHead(200, { 'Content-Type': 'application/json' });
|
||||
res.write('{ "error": "File size is incorrect"}');
|
||||
res.write('{ "error": "File size is incorrect" }');
|
||||
res.end();
|
||||
return;
|
||||
}
|
||||
@ -315,7 +328,7 @@ app.post('/upload', (req, res) => { // define a handler for uploading files
|
||||
if (exts.indexOf(curExt) === -1 || fileUtility.getFormatActions(curExt).length === 0) {
|
||||
// DocManager.cleanFolderRecursive(uploadDirTmp, true); // if not, clean the folder with temporary files
|
||||
res.writeHead(200, { 'Content-Type': 'application/json' });
|
||||
res.write('{ "error": "File type is not supported"}');
|
||||
res.write('{ "error": "File type is not supported" }');
|
||||
res.end();
|
||||
return;
|
||||
}
|
||||
@ -324,7 +337,7 @@ app.post('/upload', (req, res) => { // define a handler for uploading files
|
||||
// DocManager.cleanFolderRecursive(uploadDirTmp, true); // clean the folder with temporary files
|
||||
res.writeHead(200, { 'Content-Type': 'application/json' });
|
||||
if (error) { // if an error occurs
|
||||
res.write(`{ "error": "${error}"}`); // write an error message to the response
|
||||
res.write(`{ "error": "${error}" }`); // write an error message to the response
|
||||
} else {
|
||||
// otherwise, write a new file name to the response
|
||||
res.write(`{ "filename": "${file.originalFilename}", "documentType": "${documentType}" }`);
|
||||
@ -557,7 +570,7 @@ app.delete('/file', (req, res) => { // define a handler for removing file
|
||||
}
|
||||
|
||||
res.writeHead(200, { 'Content-Type': 'application/json' });
|
||||
res.write('{"success":true}');
|
||||
res.write('{ "success":true }');
|
||||
} catch (ex) {
|
||||
console.log(ex);
|
||||
res.writeHead(200, { 'Content-Type': 'text/plain' });
|
||||
@ -729,7 +742,7 @@ app.post('/track', async (req, res) => { // define a handler for tracking file c
|
||||
if (!req.DocManager.existsSync(req.DocManager.storagePath(fileName, userAddress))) {
|
||||
console.log(`callbackProcessSave error: name = ${fileName} userAddress = ${userAddress} is not exist`);
|
||||
response.setHeader('Content-Type', 'application/json');
|
||||
response.write('{"error":1, "message":"file is not exist"}');
|
||||
response.write('{ "error": 1, "message": "file is not exist" }');
|
||||
response.end();
|
||||
return;
|
||||
}
|
||||
@ -791,13 +804,13 @@ app.post('/track', async (req, res) => { // define a handler for tracking file c
|
||||
} catch (ex) {
|
||||
console.log(ex);
|
||||
response.setHeader('Content-Type', 'application/json');
|
||||
response.write(`{"error":1,"message":${JSON.stringify(ex)}}`);
|
||||
response.write(`{ "error": 1, "message":${JSON.stringify(ex)} }`);
|
||||
response.end();
|
||||
return;
|
||||
}
|
||||
|
||||
response.setHeader('Content-Type', 'application/json');
|
||||
response.write('{"error":0}');
|
||||
response.write('{ "error": 0 }');
|
||||
response.end();
|
||||
};
|
||||
|
||||
@ -805,7 +818,7 @@ app.post('/track', async (req, res) => { // define a handler for tracking file c
|
||||
const processSave = async function processSave(downloadUri, body, fileName, userAddress) {
|
||||
if (!downloadUri) {
|
||||
response.setHeader('Content-Type', 'application/json');
|
||||
response.write('{"error":1,"message":"save uri is empty"}');
|
||||
response.write('{ "error": 1, "message": "save uri is empty" }');
|
||||
response.end();
|
||||
return;
|
||||
}
|
||||
@ -917,13 +930,13 @@ app.post('/track', async (req, res) => { // define a handler for tracking file c
|
||||
}
|
||||
} catch (ex) {
|
||||
console.log(ex);
|
||||
response.write(`{"error":1,"message":${JSON.stringify(ex)}}`);
|
||||
response.write(`{ "error":1, "message":${JSON.stringify(ex)} }`);
|
||||
response.end();
|
||||
return;
|
||||
}
|
||||
|
||||
response.setHeader('Content-Type', 'application/json');
|
||||
response.write('{"error":0}');
|
||||
response.write('{ "error": 0 }');
|
||||
response.end();
|
||||
};
|
||||
|
||||
@ -931,7 +944,7 @@ app.post('/track', async (req, res) => { // define a handler for tracking file c
|
||||
const processForceSave = async function processForceSave(downloadUri, body, fileName, userAddress) {
|
||||
if (!downloadUri) {
|
||||
response.setHeader('Content-Type', 'application/json');
|
||||
response.write('{"error":1,"message":"forcesave uri is empty"}');
|
||||
response.write('{ "error":1, "message": "forcesave uri is empty" }');
|
||||
response.end();
|
||||
return;
|
||||
}
|
||||
@ -985,7 +998,7 @@ app.post('/track', async (req, res) => { // define a handler for tracking file c
|
||||
}
|
||||
|
||||
response.setHeader('Content-Type', 'application/json');
|
||||
response.write('{"error":0}');
|
||||
response.write('{ "error":0 }');
|
||||
response.end();
|
||||
};
|
||||
|
||||
@ -1025,7 +1038,7 @@ app.post('/track', async (req, res) => { // define a handler for tracking file c
|
||||
}
|
||||
if (!body) {
|
||||
res.writeHead(200, { 'Content-Type': 'application/json' });
|
||||
res.write('{"error":1,"message":"body is empty"}');
|
||||
res.write('{ "error": 1, "message": "body is empty" }');
|
||||
res.end();
|
||||
return;
|
||||
}
|
||||
@ -1203,6 +1216,38 @@ app.get('/editor', (req, res) => { // define a handler for editing document
|
||||
user.goback.url = `${req.DocManager.getServerUrl()}/`;
|
||||
}
|
||||
|
||||
let pluginsConfig;
|
||||
if (fileType === fileUtility.fileType.pdf // pdf form only
|
||||
&& userid !== 'uid-0' // users only
|
||||
&& mode !== 'comment') { // form field must be editable
|
||||
const baseUrl = configServer.has('exampleUrl') && configServer.get('exampleUrl')
|
||||
? configServer.get('exampleUrl')
|
||||
: req.DocManager.getServerUrl();
|
||||
|
||||
const pluginGuid = 'asc.{6A95DA5C-857E-4C26-B00B-34876F1EEAD8}';
|
||||
const pluginCode = crypto.randomBytes(16).toString('hex');
|
||||
|
||||
pluginsConfig = {
|
||||
autostart: [...new Set([
|
||||
(mode === 'fillForms' ? pluginGuid : []),
|
||||
...(plugins.autostart || []),
|
||||
])],
|
||||
options: {
|
||||
[pluginGuid]: {
|
||||
code: pluginCode,
|
||||
callback: `${baseUrl}/data`,
|
||||
},
|
||||
...(plugins.options || {}),
|
||||
},
|
||||
pluginsData: [...new Set([
|
||||
`${baseUrl}/assets/plugin-aiautofill/config.json`,
|
||||
...(plugins.pluginsData || []),
|
||||
])],
|
||||
};
|
||||
} else {
|
||||
pluginsConfig = plugins;
|
||||
}
|
||||
|
||||
// file config data
|
||||
const argss = {
|
||||
apiUrl: siteUrl + configServer.get('apiUrl'),
|
||||
@ -1246,9 +1291,8 @@ app.get('/editor', (req, res) => { // define a handler for editing document
|
||||
reviewGroups: JSON.stringify(reviewGroups),
|
||||
commentGroups: JSON.stringify(commentGroups),
|
||||
userInfoGroups: JSON.stringify(userInfoGroups),
|
||||
fileChoiceUrl,
|
||||
submitForm,
|
||||
plugins: JSON.stringify(plugins),
|
||||
plugins: JSON.stringify(pluginsConfig),
|
||||
actionData,
|
||||
fileKey: userid !== 'uid-0'
|
||||
? JSON.stringify({ fileName, userAddress: req.DocManager.curUserHostAddress() }) : null,
|
||||
|
||||
304
web/documentserver-example/nodejs/config/data.json
Normal file
304
web/documentserver-example/nodejs/config/data.json
Normal file
@ -0,0 +1,304 @@
|
||||
{
|
||||
"sellers": [
|
||||
{
|
||||
"name": "John Anderson",
|
||||
"email": "john.anderson@example.com",
|
||||
"phone": "+1-234-567-8900",
|
||||
"mobile": "+1-234-567-8901",
|
||||
"address": "123 Main St",
|
||||
"city": "Chicago",
|
||||
"state": "IL",
|
||||
"zip": "60601",
|
||||
"country": "USA",
|
||||
"company": "Tech Solutions LLC"
|
||||
},
|
||||
{
|
||||
"name": "Maria Garcia",
|
||||
"email": "maria.garcia@ventas.es",
|
||||
"phone": "+34-912-345-678",
|
||||
"mobile": "+34-600-123-456",
|
||||
"address": "Calle Mayor 45",
|
||||
"city": "Madrid",
|
||||
"state": "Madrid",
|
||||
"zip": "28013",
|
||||
"country": "Spain",
|
||||
"company": "Soluciones Digitales SA"
|
||||
}
|
||||
],
|
||||
"deals": [
|
||||
{
|
||||
"name": "Enterprise Software License",
|
||||
"number": "DL-2025-001",
|
||||
"date": "2025-01-15",
|
||||
"closeDate": "2025-03-30",
|
||||
"status": "pending",
|
||||
"amount": 125000,
|
||||
"currency": "USD",
|
||||
"description": "Annual enterprise software license with premium support package"
|
||||
},
|
||||
{
|
||||
"name": "Cloud Infrastructure Migration",
|
||||
"number": "DL-2025-002",
|
||||
"date": "2025-02-10",
|
||||
"closeDate": "2025-06-15",
|
||||
"status": "in_progress",
|
||||
"amount": 450000,
|
||||
"currency": "EUR",
|
||||
"description": "Complete cloud migration service with training and support"
|
||||
}
|
||||
],
|
||||
"buyers": [
|
||||
{
|
||||
"name": "Jane Mitchell",
|
||||
"email": "jane.mitchell@techcorp.com",
|
||||
"phone": "+1-987-654-3210",
|
||||
"mobile": "+1-987-654-3211",
|
||||
"address": "321 Park Avenue",
|
||||
"city": "New York",
|
||||
"state": "NY",
|
||||
"zip": "10001",
|
||||
"country": "USA",
|
||||
"company": "TechCorp International",
|
||||
"department": "IT"
|
||||
},
|
||||
{
|
||||
"name": "Pierre Dubois",
|
||||
"email": "p.dubois@innovatech.fr",
|
||||
"phone": "+33-1-42-34-56-78",
|
||||
"mobile": "+33-6-12-34-56-78",
|
||||
"address": "15 Avenue des Champs-Élysées",
|
||||
"city": "Paris",
|
||||
"state": "Île-de-France",
|
||||
"zip": "75008",
|
||||
"country": "France",
|
||||
"company": "InnovaTech France",
|
||||
"department": "Procurement"
|
||||
}
|
||||
],
|
||||
"companies": [
|
||||
{
|
||||
"name": "Acme Corporation",
|
||||
"email": "info@acmecorp.com",
|
||||
"phone": "+1-312-555-0100",
|
||||
"website": "https://www.acmecorp.com",
|
||||
"address": "456 Business Plaza",
|
||||
"city": "Chicago",
|
||||
"state": "IL",
|
||||
"zip": "60602",
|
||||
"country": "USA",
|
||||
"industry": "Technology"
|
||||
},
|
||||
{
|
||||
"name": "Global Innovations Ltd",
|
||||
"email": "contact@globalinnov.co.uk",
|
||||
"phone": "+44-20-7123-4567",
|
||||
"website": "https://www.globalinnov.co.uk",
|
||||
"address": "88 Piccadilly Street",
|
||||
"city": "London",
|
||||
"state": "England",
|
||||
"zip": "W1J 9HF",
|
||||
"country": "United Kingdom",
|
||||
"industry": "Consulting"
|
||||
}
|
||||
],
|
||||
"products": [
|
||||
{
|
||||
"name": "Premium Software Suite",
|
||||
"sku": "SW-PREM-001",
|
||||
"category": "Software",
|
||||
"quantity": 100,
|
||||
"price": 999.99,
|
||||
"currency": "USD",
|
||||
"description": "Comprehensive software package with all premium features"
|
||||
},
|
||||
{
|
||||
"name": "Professional Laptop",
|
||||
"sku": "HW-LAP-PRO-15",
|
||||
"category": "Hardware",
|
||||
"quantity": 50,
|
||||
"price": 1499.99,
|
||||
"currency": "USD",
|
||||
"description": "15-inch professional laptop with high-performance specs"
|
||||
},
|
||||
{
|
||||
"name": "Cloud Storage Plan - Business",
|
||||
"sku": "CLD-STR-BIZ-1TB",
|
||||
"category": "Services",
|
||||
"quantity": 1,
|
||||
"price": 29.99,
|
||||
"currency": "USD",
|
||||
"description": "1TB cloud storage with business features (monthly subscription)"
|
||||
}
|
||||
],
|
||||
"persons": [
|
||||
{
|
||||
"name": "John Anderson",
|
||||
"firstName": "John",
|
||||
"middleName": "Michael",
|
||||
"lastName": "Anderson",
|
||||
"dateOfBirth": "1990-01-15",
|
||||
"gender": "Male",
|
||||
"title": "Senior Software Engineer",
|
||||
"email": "john.anderson@example.com",
|
||||
"phone": "+1-234-567-8900",
|
||||
"mobile": "+1-234-567-8901",
|
||||
"address": "123 Main Street, Apt 4B",
|
||||
"city": "Chicago",
|
||||
"state": "IL",
|
||||
"zip": "60601",
|
||||
"country": "USA",
|
||||
"website": "johnanderson.dev"
|
||||
},
|
||||
{
|
||||
"name": "Yuki Tanaka",
|
||||
"firstName": "Yuki",
|
||||
"lastName": "Tanaka",
|
||||
"dateOfBirth": "1988-07-22",
|
||||
"gender": "Female",
|
||||
"title": "UX/UI Designer",
|
||||
"email": "yuki.tanaka@design.jp",
|
||||
"phone": "+81-3-1234-5678",
|
||||
"mobile": "+81-90-1234-5678",
|
||||
"address": "1-2-3 Shibuya",
|
||||
"city": "Tokyo",
|
||||
"state": "Tokyo",
|
||||
"zip": "150-0002",
|
||||
"country": "Japan",
|
||||
"website": "yukitanaka.design"
|
||||
},
|
||||
{
|
||||
"name": "Sarah Johnson",
|
||||
"firstName": "Sarah",
|
||||
"lastName": "Johnson",
|
||||
"employeeId": "ACM-2019-1234",
|
||||
"personalEmail": "sarah.j.personal@gmail.com",
|
||||
"department": "Product Development",
|
||||
"jobPosition": "Senior Product Manager",
|
||||
"hireDate": "2019-03-15",
|
||||
"salary": 120000,
|
||||
"salaryCurrency": "USD"
|
||||
},
|
||||
{
|
||||
"name": "Carlos Rodriguez",
|
||||
"firstName": "Carlos",
|
||||
"lastName": "Rodriguez",
|
||||
"employeeId": "ACM-2020-5678",
|
||||
"personalEmail": "carlos.rod.personal@gmail.com",
|
||||
"department": "Engineering",
|
||||
"jobPosition": "DevOps Engineer",
|
||||
"hireDate": "2020-07-20",
|
||||
"salary": 105000,
|
||||
"salaryCurrency": "USD"
|
||||
}
|
||||
],
|
||||
"invoices": [
|
||||
{
|
||||
"number": "INV-2025-0001",
|
||||
"date": "2025-01-15",
|
||||
"dueDate": "2025-02-15",
|
||||
"status": "paid",
|
||||
"subtotal": 10000,
|
||||
"tax": 800,
|
||||
"taxRate": 8,
|
||||
"discount": 500,
|
||||
"total": 10300,
|
||||
"currency": "USD",
|
||||
"notes": "Payment received on time. Thank you for your business!",
|
||||
"items": [
|
||||
{
|
||||
"productId": "P001",
|
||||
"description": "Premium Software Suite - 10 licenses",
|
||||
"quantity": 10,
|
||||
"unitPrice": 999.99,
|
||||
"total": 9999.90
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"number": "INV-2025-0002",
|
||||
"date": "2025-02-01",
|
||||
"dueDate": "2025-03-01",
|
||||
"status": "pending",
|
||||
"subtotal": 75000,
|
||||
"tax": 6000,
|
||||
"taxRate": 8,
|
||||
"discount": 0,
|
||||
"total": 81000,
|
||||
"currency": "USD",
|
||||
"notes": "Payment terms: Net 30 days",
|
||||
"items": [
|
||||
{
|
||||
"productId": "P002",
|
||||
"description": "Professional Laptop - 50 units",
|
||||
"quantity": 50,
|
||||
"unitPrice": 1499.99,
|
||||
"total": 74999.50
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"customers": [
|
||||
{
|
||||
"type": "individual",
|
||||
"firstName": "Emily",
|
||||
"lastName": "Chen",
|
||||
"email": "emily.chen@email.com",
|
||||
"phone": "+1-555-111-2222",
|
||||
"dateOfBirth": "1985-09-14",
|
||||
"registrationDate": "2023-01-10",
|
||||
"totalOrders": 15,
|
||||
"totalSpent": 4500.75,
|
||||
"address": {
|
||||
"street": "567 Oak Street",
|
||||
"city": "Seattle",
|
||||
"state": "WA",
|
||||
"zip": "98101",
|
||||
"country": "USA"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "business",
|
||||
"companyName": "TechStart Solutions",
|
||||
"contactPerson": "Robert Kim",
|
||||
"email": "robert.kim@techstart.com",
|
||||
"phone": "+1-555-333-4444",
|
||||
"registrationDate": "2022-06-20",
|
||||
"totalOrders": 42,
|
||||
"totalSpent": 125000.00,
|
||||
"address": {
|
||||
"street": "890 Enterprise Boulevard",
|
||||
"city": "Austin",
|
||||
"state": "TX",
|
||||
"zip": "78701",
|
||||
"country": "USA"
|
||||
}
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"name": "Annual Tech Conference 2025",
|
||||
"type": "conference",
|
||||
"startDate": "2025-06-15",
|
||||
"endDate": "2025-06-17",
|
||||
"startTime": "09:00",
|
||||
"endTime": "18:00",
|
||||
"timezone": "America/New_York",
|
||||
"location": {
|
||||
"name": "Convention Center",
|
||||
"address": "100 Convention Plaza",
|
||||
"city": "New York",
|
||||
"state": "NY",
|
||||
"zip": "10001",
|
||||
"country": "USA"
|
||||
},
|
||||
"capacity": 5000,
|
||||
"registered": 3500,
|
||||
"status": "upcoming",
|
||||
"organizer": "Tech Events Inc",
|
||||
"description": "Join us for the biggest tech conference of the year featuring keynotes from industry leaders.",
|
||||
"ticketPrice": 299.00,
|
||||
"currency": "USD",
|
||||
"website": "https://techconf2025.com"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -16,6 +16,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
const pathModule = require('path');
|
||||
const supportedFormats = require('../public/assets/document-formats/onlyoffice-docs-formats.json'); // eslint-disable-line
|
||||
|
||||
const fileUtility = {};
|
||||
@ -39,8 +40,7 @@ fileUtility.getFileNameFromUrl = function getFileNameFromUrl(url, withoutExtensi
|
||||
fileUtility.getFileName = function getFileName(path, withoutExtension) {
|
||||
if (!path) return '';
|
||||
|
||||
const parts = path.split('/');
|
||||
const fileName = parts.pop(); // get the file name from the last part of the path
|
||||
const fileName = pathModule.basename(path); // get the file name from the last part of the path
|
||||
|
||||
// get file name without extension
|
||||
if (withoutExtension) {
|
||||
|
||||
@ -116,6 +116,7 @@ const descrUser0 = [
|
||||
'Has empty role',
|
||||
'Can\'t submit forms',
|
||||
'Tour of tips when opening a document',
|
||||
'Without AI Auto Fill Plugin',
|
||||
];
|
||||
|
||||
const users = [
|
||||
|
||||
739
web/documentserver-example/nodejs/package-lock.json
generated
739
web/documentserver-example/nodejs/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -20,7 +20,7 @@
|
||||
"debug": "^4.3.4",
|
||||
"ejs": "^3.1.10",
|
||||
"express": "^4.21.1",
|
||||
"fast-xml-parser": "^4.4.1",
|
||||
"fast-xml-parser": "^5.3.4",
|
||||
"formidable": "^3.5.4",
|
||||
"he": "^1.2.0",
|
||||
"jsonwebtoken": "^9.0.2",
|
||||
@ -52,7 +52,7 @@
|
||||
"word-wrap": "1.2.4",
|
||||
"pac-resolver": "7.0.0",
|
||||
"degenerator": "3.0.1",
|
||||
"qs": "6.7.3",
|
||||
"qs": "6.14.1",
|
||||
"json5": "2.2.3"
|
||||
}
|
||||
}
|
||||
|
||||
Submodule web/documentserver-example/nodejs/public/assets/plugin-aiautofill added at ea67d52df5
@ -442,7 +442,9 @@ if (typeof jQuery != "undefined") {
|
||||
jq("#downloadConverted").removeClass("disable");
|
||||
jq("#hiddenFileName").attr("data",response.filename);
|
||||
if (response.error !== "FileTypeIsNotSupported") {
|
||||
jq("#beginEditConverted").removeClass("disable");
|
||||
if (formatManager.isEditable(fileExt)) {
|
||||
jq("#beginEditConverted").removeClass("disable");
|
||||
}
|
||||
jq("#beginViewConverted").removeClass("disable");
|
||||
jq("#downloadConverted").attr("data","fromStorage");
|
||||
} else {
|
||||
|
||||
@ -54,7 +54,6 @@
|
||||
"shareUrl": "<%- file.uriUser %>",
|
||||
"toolbarDocked": "top"
|
||||
},
|
||||
"fileChoiceUrl": "<%- editor.fileChoiceUrl %>",
|
||||
"lang": "<%- editor.lang %>",
|
||||
"mode": "<%- editor.mode %>",
|
||||
"plugins": <%- editor.plugins %>,
|
||||
|
||||
@ -10,7 +10,7 @@ DOCS_INTEGRATION_SDK_CONVERT_SERVICE_URL=/converter
|
||||
DOCUMENT_STORAGE_PUBLIC_URL=http://localhost
|
||||
DOCUMENT_STORAGE_PRIVATE_URL=http://proxy
|
||||
|
||||
DOCUMENT_STORAGE_MAXIMUM_FILE_SIZE=5242880
|
||||
DOCUMENT_STORAGE_MAXIMUM_FILE_SIZE=104857600
|
||||
|
||||
DOCUMENT_STORAGE_DISPLAY_FORGOTTEN_PAGE=false
|
||||
|
||||
|
||||
@ -165,7 +165,7 @@ class FileController extends Controller
|
||||
fileType: PathInfo::extension($request->filename),
|
||||
outputType: $request->input('fileExt', 'ooxml'),
|
||||
url: $request->fileUri,
|
||||
password: $request->password,
|
||||
password: $request->filePass,
|
||||
user: $request->user,
|
||||
userAddress: $request->ip(),
|
||||
lang: cache('lang', default: 'en'),
|
||||
|
||||
@ -14,7 +14,7 @@ class CheckAndDecodeJWTPayload
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
|
||||
* @param Closure(Request): (Response) $next
|
||||
*/
|
||||
public function handle(Request $request, Closure $next): Response
|
||||
{
|
||||
|
||||
@ -11,7 +11,7 @@ class EnsureForgottenPageEnabled
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
|
||||
* @param Closure(Request): (Response) $next
|
||||
*/
|
||||
public function handle(Request $request, Closure $next): Response
|
||||
{
|
||||
|
||||
@ -14,7 +14,7 @@ class EnsureJWTTokenIsPresent
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
|
||||
* @param Closure(Request): (Response) $next
|
||||
*/
|
||||
public function handle(Request $request, Closure $next): Response
|
||||
{
|
||||
|
||||
@ -12,7 +12,7 @@ class EnsureUserDirectoryExists
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
|
||||
* @param Closure(Request): (Response) $next
|
||||
*/
|
||||
public function handle(Request $request, Closure $next): Response
|
||||
{
|
||||
|
||||
@ -74,7 +74,7 @@ class SettingsManager extends OnlyOfficeSettingsManager
|
||||
],
|
||||
],
|
||||
'file' => [
|
||||
'max_size' => env('DOCUMENT_STORAGE_MAXIMUM_FILE_SIZE', 5 * 1024 * 1024),
|
||||
'max_size' => env('DOCUMENT_STORAGE_MAXIMUM_FILE_SIZE', 100 * 1024 * 1024),
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
@ -36,6 +36,9 @@ class ConvertRequest
|
||||
false,
|
||||
$data['lang'],
|
||||
$data['filename'],
|
||||
$data['codePage'] ?? null,
|
||||
$data['delimiter'] ?? null,
|
||||
$data['password'] ?? null,
|
||||
);
|
||||
|
||||
if (property_exists($result, 'Error')) {
|
||||
|
||||
@ -30,7 +30,7 @@ class CreateDocumentRequest
|
||||
public mixed $fileContent,
|
||||
public string $user,
|
||||
) {
|
||||
if ($fileSize && ($fileSize <= 0 || $fileSize > env('STORAGE_MAXIMUM_FILE_SIZE', 5 * 1024 * 1024))) {
|
||||
if ($fileSize && ($fileSize <= 0 || $fileSize > env('DOCUMENT_STORAGE_MAXIMUM_FILE_SIZE', 100 * 1024 * 1024))) {
|
||||
throw new UnexpectedValueException("Incorrect file size: $fileSize");
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
<?php
|
||||
|
||||
use App\Providers\AppServiceProvider;
|
||||
|
||||
return [
|
||||
App\Providers\AppServiceProvider::class,
|
||||
AppServiceProvider::class,
|
||||
];
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
"firebase/php-jwt": "^6.10",
|
||||
"laravel/framework": "^11.0",
|
||||
"laravel/tinker": "^2.9",
|
||||
"onlyoffice/docs-integration-sdk": "dev-feature/diagram"
|
||||
"onlyoffice/docs-integration-sdk": "1.4"
|
||||
},
|
||||
"require-dev": {
|
||||
"fakerphp/faker": "^1.23",
|
||||
|
||||
2080
web/documentserver-example/php-laravel/composer.lock
generated
2080
web/documentserver-example/php-laravel/composer.lock
generated
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,7 @@
|
||||
<?php
|
||||
|
||||
use App\Models\User;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
@ -62,7 +64,7 @@ return [
|
||||
'providers' => [
|
||||
'users' => [
|
||||
'driver' => 'eloquent',
|
||||
'model' => env('AUTH_MODEL', App\Models\User::class),
|
||||
'model' => env('AUTH_MODEL', User::class),
|
||||
],
|
||||
|
||||
// 'users' => [
|
||||
|
||||
@ -2,12 +2,13 @@
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\User;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
/**
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\User>
|
||||
* @extends Factory<User>
|
||||
*/
|
||||
class UserFactory extends Factory
|
||||
{
|
||||
|
||||
@ -11,7 +11,7 @@ services:
|
||||
|
||||
documentserver:
|
||||
container_name: documentserver
|
||||
image: onlyoffice/documentserver:8.2
|
||||
image: onlyoffice/documentserver:9.3
|
||||
expose:
|
||||
- "80"
|
||||
environment:
|
||||
|
||||
253
web/documentserver-example/php-laravel/package-lock.json
generated
253
web/documentserver-example/php-laravel/package-lock.json
generated
@ -436,9 +436,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rollup/rollup-android-arm-eabi": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.1.tgz",
|
||||
"integrity": "sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw==",
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz",
|
||||
"integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@ -450,9 +450,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-android-arm64": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.1.tgz",
|
||||
"integrity": "sha512-PPkxTOisoNC6TpnDKatjKkjRMsdaWIhyuMkA4UsBXT9WEZY4uHezBTjs6Vl4PbqQQeu6oION1w2voYZv9yquCw==",
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz",
|
||||
"integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -464,9 +464,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-darwin-arm64": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.1.tgz",
|
||||
"integrity": "sha512-VWXGISWFY18v/0JyNUy4A46KCFCb9NVsH+1100XP31lud+TzlezBbz24CYzbnA4x6w4hx+NYCXDfnvDVO6lcAA==",
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz",
|
||||
"integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -478,9 +478,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-darwin-x64": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.1.tgz",
|
||||
"integrity": "sha512-nIwkXafAI1/QCS7pxSpv/ZtFW6TXcNUEHAIA9EIyw5OzxJZQ1YDrX+CL6JAIQgZ33CInl1R6mHet9Y/UZTg2Bw==",
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz",
|
||||
"integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -492,9 +492,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-freebsd-arm64": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.1.tgz",
|
||||
"integrity": "sha512-BdrLJ2mHTrIYdaS2I99mriyJfGGenSaP+UwGi1kB9BLOCu9SR8ZpbkmmalKIALnRw24kM7qCN0IOm6L0S44iWw==",
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz",
|
||||
"integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -506,9 +506,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-freebsd-x64": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.1.tgz",
|
||||
"integrity": "sha512-VXeo/puqvCG8JBPNZXZf5Dqq7BzElNJzHRRw3vjBE27WujdzuOPecDPc/+1DcdcTptNBep3861jNq0mYkT8Z6Q==",
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz",
|
||||
"integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -520,9 +520,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.1.tgz",
|
||||
"integrity": "sha512-ehSKrewwsESPt1TgSE/na9nIhWCosfGSFqv7vwEtjyAqZcvbGIg4JAcV7ZEh2tfj/IlfBeZjgOXm35iOOjadcg==",
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz",
|
||||
"integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@ -534,9 +534,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.1.tgz",
|
||||
"integrity": "sha512-m39iO/aaurh5FVIu/F4/Zsl8xppd76S4qoID8E+dSRQvTyZTOI2gVk3T4oqzfq1PtcvOfAVlwLMK3KRQMaR8lg==",
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz",
|
||||
"integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@ -548,9 +548,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-arm64-gnu": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.1.tgz",
|
||||
"integrity": "sha512-Y+GHnGaku4aVLSgrT0uWe2o2Rq8te9hi+MwqGF9r9ORgXhmHK5Q71N757u0F8yU1OIwUIFy6YiJtKjtyktk5hg==",
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz",
|
||||
"integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -562,9 +562,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-arm64-musl": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.1.tgz",
|
||||
"integrity": "sha512-jEwjn3jCA+tQGswK3aEWcD09/7M5wGwc6+flhva7dsQNRZZTe30vkalgIzV4tjkopsTS9Jd7Y1Bsj6a4lzz8gQ==",
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz",
|
||||
"integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -575,10 +575,10 @@
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-loongarch64-gnu": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.1.tgz",
|
||||
"integrity": "sha512-ySyWikVhNzv+BV/IDCsrraOAZ3UaC8SZB67FZlqVwXwnFhPihOso9rPOxzZbjp81suB1O2Topw+6Ug3JNegejQ==",
|
||||
"node_modules/@rollup/rollup-linux-loong64-gnu": {
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz",
|
||||
"integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==",
|
||||
"cpu": [
|
||||
"loong64"
|
||||
],
|
||||
@ -589,10 +589,38 @@
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.1.tgz",
|
||||
"integrity": "sha512-BvvA64QxZlh7WZWqDPPdt0GH4bznuL6uOO1pmgPnnv86rpUpc8ZxgZwcEgXvo02GRIZX1hQ0j0pAnhwkhwPqWg==",
|
||||
"node_modules/@rollup/rollup-linux-loong64-musl": {
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz",
|
||||
"integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==",
|
||||
"cpu": [
|
||||
"loong64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-ppc64-gnu": {
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz",
|
||||
"integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-ppc64-musl": {
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz",
|
||||
"integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
@ -604,9 +632,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.1.tgz",
|
||||
"integrity": "sha512-EQSP+8+1VuSulm9RKSMKitTav89fKbHymTf25n5+Yr6gAPZxYWpj3DzAsQqoaHAk9YX2lwEyAf9S4W8F4l3VBQ==",
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz",
|
||||
"integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==",
|
||||
"cpu": [
|
||||
"riscv64"
|
||||
],
|
||||
@ -618,9 +646,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-riscv64-musl": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.1.tgz",
|
||||
"integrity": "sha512-n/vQ4xRZXKuIpqukkMXZt9RWdl+2zgGNx7Uda8NtmLJ06NL8jiHxUawbwC+hdSq1rrw/9CghCpEONor+l1e2gA==",
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz",
|
||||
"integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==",
|
||||
"cpu": [
|
||||
"riscv64"
|
||||
],
|
||||
@ -632,9 +660,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-s390x-gnu": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.1.tgz",
|
||||
"integrity": "sha512-h8d28xzYb98fMQKUz0w2fMc1XuGzLLjdyxVIbhbil4ELfk5/orZlSTpF/xdI9C8K0I8lCkq+1En2RJsawZekkg==",
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz",
|
||||
"integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==",
|
||||
"cpu": [
|
||||
"s390x"
|
||||
],
|
||||
@ -646,9 +674,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-x64-gnu": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.1.tgz",
|
||||
"integrity": "sha512-XiK5z70PEFEFqcNj3/zRSz/qX4bp4QIraTy9QjwJAb/Z8GM7kVUsD0Uk8maIPeTyPCP03ChdI+VVmJriKYbRHQ==",
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz",
|
||||
"integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -660,9 +688,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-linux-x64-musl": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.1.tgz",
|
||||
"integrity": "sha512-2BRORitq5rQ4Da9blVovzNCMaUlyKrzMSvkVR0D4qPuOy/+pMCrh1d7o01RATwVy+6Fa1WBw+da7QPeLWU/1mQ==",
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz",
|
||||
"integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -673,10 +701,38 @@
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-openbsd-x64": {
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz",
|
||||
"integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"openbsd"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-openharmony-arm64": {
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz",
|
||||
"integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"openharmony"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-win32-arm64-msvc": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.1.tgz",
|
||||
"integrity": "sha512-b2bcNm9Kbde03H+q+Jjw9tSfhYkzrDUf2d5MAd1bOJuVplXvFhWz7tRtWvD8/ORZi7qSCy0idW6tf2HgxSXQSg==",
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz",
|
||||
"integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@ -688,9 +744,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-win32-ia32-msvc": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.1.tgz",
|
||||
"integrity": "sha512-DfcogW8N7Zg7llVEfpqWMZcaErKfsj9VvmfSyRjCyo4BI3wPEfrzTtJkZG6gKP/Z92wFm6rz2aDO7/JfiR/whA==",
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz",
|
||||
"integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
@ -701,10 +757,24 @@
|
||||
"win32"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-win32-x64-gnu": {
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz",
|
||||
"integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
]
|
||||
},
|
||||
"node_modules/@rollup/rollup-win32-x64-msvc": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.1.tgz",
|
||||
"integrity": "sha512-ECyOuDeH3C1I8jH2MK1RtBJW+YPMvSfT0a5NN0nHfQYnDSJ6tUiZH3gzwVP5/Kfh/+Tt7tpWVF9LXNTnhTJ3kA==",
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz",
|
||||
"integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@ -716,9 +786,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@types/estree": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
|
||||
"integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==",
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
|
||||
"integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
@ -965,13 +1035,13 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/rollup": {
|
||||
"version": "4.40.1",
|
||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.1.tgz",
|
||||
"integrity": "sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw==",
|
||||
"version": "4.59.0",
|
||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz",
|
||||
"integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/estree": "1.0.7"
|
||||
"@types/estree": "1.0.8"
|
||||
},
|
||||
"bin": {
|
||||
"rollup": "dist/bin/rollup"
|
||||
@ -981,26 +1051,31 @@
|
||||
"npm": ">=8.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@rollup/rollup-android-arm-eabi": "4.40.1",
|
||||
"@rollup/rollup-android-arm64": "4.40.1",
|
||||
"@rollup/rollup-darwin-arm64": "4.40.1",
|
||||
"@rollup/rollup-darwin-x64": "4.40.1",
|
||||
"@rollup/rollup-freebsd-arm64": "4.40.1",
|
||||
"@rollup/rollup-freebsd-x64": "4.40.1",
|
||||
"@rollup/rollup-linux-arm-gnueabihf": "4.40.1",
|
||||
"@rollup/rollup-linux-arm-musleabihf": "4.40.1",
|
||||
"@rollup/rollup-linux-arm64-gnu": "4.40.1",
|
||||
"@rollup/rollup-linux-arm64-musl": "4.40.1",
|
||||
"@rollup/rollup-linux-loongarch64-gnu": "4.40.1",
|
||||
"@rollup/rollup-linux-powerpc64le-gnu": "4.40.1",
|
||||
"@rollup/rollup-linux-riscv64-gnu": "4.40.1",
|
||||
"@rollup/rollup-linux-riscv64-musl": "4.40.1",
|
||||
"@rollup/rollup-linux-s390x-gnu": "4.40.1",
|
||||
"@rollup/rollup-linux-x64-gnu": "4.40.1",
|
||||
"@rollup/rollup-linux-x64-musl": "4.40.1",
|
||||
"@rollup/rollup-win32-arm64-msvc": "4.40.1",
|
||||
"@rollup/rollup-win32-ia32-msvc": "4.40.1",
|
||||
"@rollup/rollup-win32-x64-msvc": "4.40.1",
|
||||
"@rollup/rollup-android-arm-eabi": "4.59.0",
|
||||
"@rollup/rollup-android-arm64": "4.59.0",
|
||||
"@rollup/rollup-darwin-arm64": "4.59.0",
|
||||
"@rollup/rollup-darwin-x64": "4.59.0",
|
||||
"@rollup/rollup-freebsd-arm64": "4.59.0",
|
||||
"@rollup/rollup-freebsd-x64": "4.59.0",
|
||||
"@rollup/rollup-linux-arm-gnueabihf": "4.59.0",
|
||||
"@rollup/rollup-linux-arm-musleabihf": "4.59.0",
|
||||
"@rollup/rollup-linux-arm64-gnu": "4.59.0",
|
||||
"@rollup/rollup-linux-arm64-musl": "4.59.0",
|
||||
"@rollup/rollup-linux-loong64-gnu": "4.59.0",
|
||||
"@rollup/rollup-linux-loong64-musl": "4.59.0",
|
||||
"@rollup/rollup-linux-ppc64-gnu": "4.59.0",
|
||||
"@rollup/rollup-linux-ppc64-musl": "4.59.0",
|
||||
"@rollup/rollup-linux-riscv64-gnu": "4.59.0",
|
||||
"@rollup/rollup-linux-riscv64-musl": "4.59.0",
|
||||
"@rollup/rollup-linux-s390x-gnu": "4.59.0",
|
||||
"@rollup/rollup-linux-x64-gnu": "4.59.0",
|
||||
"@rollup/rollup-linux-x64-musl": "4.59.0",
|
||||
"@rollup/rollup-openbsd-x64": "4.59.0",
|
||||
"@rollup/rollup-openharmony-arm64": "4.59.0",
|
||||
"@rollup/rollup-win32-arm64-msvc": "4.59.0",
|
||||
"@rollup/rollup-win32-ia32-msvc": "4.59.0",
|
||||
"@rollup/rollup-win32-x64-gnu": "4.59.0",
|
||||
"@rollup/rollup-win32-x64-msvc": "4.59.0",
|
||||
"fsevents": "~2.3.2"
|
||||
}
|
||||
},
|
||||
|
||||
@ -841,6 +841,7 @@ footer table tr td:first-child {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 71px;
|
||||
height: calc(100% - 130px);
|
||||
scrollbar-color: #D0D5DA transparent;
|
||||
scrollbar-width: thin;
|
||||
}
|
||||
|
||||
@ -143,6 +143,7 @@
|
||||
|
||||
.scroll-table-body {
|
||||
top: 31px;
|
||||
height: calc(100% - 34px);
|
||||
}
|
||||
|
||||
footer {
|
||||
@ -414,6 +415,7 @@
|
||||
|
||||
.scroll-table-body {
|
||||
top: 31px;
|
||||
height: calc(100% - 34px);
|
||||
}
|
||||
|
||||
footer table tr {
|
||||
|
||||
@ -421,9 +421,11 @@ if (typeof jQuery != "undefined") {
|
||||
jq("#convertStep2").removeClass("current").addClass("done");
|
||||
jq("#convertStep2").text(`2. File conversion to ${fileExt}`);
|
||||
jq("#downloadConverted").removeClass("disable");
|
||||
jq("#hiddenFileName").attr("data",response.filename);
|
||||
if (response.error !== "FileTypeIsNotSupported") {
|
||||
jq("#hiddenFileName").attr("data",response.filename);
|
||||
jq("#beginEditConverted").removeClass("disable");
|
||||
if (formatManager.isEditable(fileExt)) {
|
||||
jq("#beginEditConverted").removeClass("disable");
|
||||
}
|
||||
jq("#beginViewConverted").removeClass("disable");
|
||||
jq("#downloadConverted").attr("data","fromStorage");
|
||||
} else {
|
||||
|
||||
@ -143,6 +143,7 @@
|
||||
|
||||
.scroll-table-body {
|
||||
top: 31px;
|
||||
height: calc(100% - 34px);
|
||||
}
|
||||
|
||||
footer {
|
||||
@ -748,6 +749,7 @@
|
||||
|
||||
.scroll-table-body {
|
||||
top: 36px;
|
||||
height: calc(100% - 34px);
|
||||
}
|
||||
|
||||
.scroll-table-body tr:first-child {
|
||||
|
||||
@ -846,6 +846,7 @@ footer table tr td:first-child {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 71px;
|
||||
height: calc(100% - 130px);
|
||||
scrollbar-color: #D0D5DA transparent;
|
||||
scrollbar-width: thin;
|
||||
}
|
||||
|
||||
Submodule web/documentserver-example/php/assets/document-formats updated: 99725d9589...7d7576a3fe
@ -413,7 +413,9 @@ if (typeof jQuery != "undefined") {
|
||||
jq("#downloadConverted").removeClass("disable");
|
||||
jq("#hiddenFileName").attr("data",response.filename);
|
||||
if (response.error !== "FileTypeIsNotSupported") {
|
||||
jq("#beginEditConverted").removeClass("disable");
|
||||
if (formatManager.isEditable(fileExt)) {
|
||||
jq("#beginEditConverted").removeClass("disable");
|
||||
}
|
||||
jq("#beginViewConverted").removeClass("disable");
|
||||
jq("#downloadConverted").attr("data","fromStorage");
|
||||
} else {
|
||||
|
||||
843
web/documentserver-example/php/composer.lock
generated
843
web/documentserver-example/php/composer.lock
generated
File diff suppressed because it is too large
Load Diff
@ -3,7 +3,7 @@ version: "3.8"
|
||||
services:
|
||||
documentserver:
|
||||
container_name: documentserver
|
||||
image: onlyoffice/documentserver:8.2
|
||||
image: onlyoffice/documentserver:9.3
|
||||
expose:
|
||||
- "80"
|
||||
environment:
|
||||
|
||||
@ -152,7 +152,7 @@ class ConfigurationManager
|
||||
{
|
||||
$size = getenv('MAXIMUM_FILE_SIZE');
|
||||
if (!$size) {
|
||||
return 5 * 1024 * 1024;
|
||||
return 100 * 1024 * 1024;
|
||||
}
|
||||
return intval($size);
|
||||
}
|
||||
|
||||
@ -757,8 +757,8 @@ function getConvertedData(
|
||||
$documentRevisionID,
|
||||
$async,
|
||||
&$convertedDocumentURL,
|
||||
$filePass,
|
||||
$lang,
|
||||
$filePass = null,
|
||||
$lang = null,
|
||||
$fileName = null
|
||||
) {
|
||||
$convertedDocumentURL = "";
|
||||
|
||||
@ -51,6 +51,11 @@
|
||||
- msgspec
|
||||
- :who:
|
||||
:why: BSD-3-Clause
|
||||
:versions:
|
||||
- 0.20.0
|
||||
:versions: []
|
||||
:when: 2025-11-07 10:13:51.477550000 Z
|
||||
- - :approve
|
||||
- pyjwt
|
||||
- :who:
|
||||
:why: MIT
|
||||
:versions: []
|
||||
:when: 2025-11-07 10:13:51.477550000 Z
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user