This is an automated email from the ASF dual-hosted git repository.
solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git
The following commit(s) were added to refs/heads/master by this push:
new a30bad4 [OPENMEETINGS-2335] save WB is refactored
a30bad4 is described below
commit a30bad4d92198503aea8f108bd671cc5ead87b9a
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Sun Jun 7 00:31:30 2020 +0700
[OPENMEETINGS-2335] save WB is refactored
---
.../web/app/Application.properties.xml | 1 -
.../web/app/Application_ar.properties.xml | 1 -
.../web/app/Application_bg.properties.xml | 1 -
.../web/app/Application_bn.properties.xml | 1 -
.../web/app/Application_ca.properties.xml | 1 -
.../web/app/Application_cs.properties.xml | 1 -
.../web/app/Application_da.properties.xml | 1 -
.../web/app/Application_de.properties.xml | 1 -
.../web/app/Application_el.properties.xml | 1 -
.../web/app/Application_es.properties.xml | 1 -
.../web/app/Application_fa.properties.xml | 1 -
.../web/app/Application_fi.properties.xml | 1 -
.../web/app/Application_fr.properties.xml | 1 -
.../web/app/Application_gl.properties.xml | 1 -
.../web/app/Application_hi.properties.xml | 1 -
.../web/app/Application_hu.properties.xml | 1 -
.../web/app/Application_in.properties.xml | 1 -
.../web/app/Application_it.properties.xml | 1 -
.../web/app/Application_iw.properties.xml | 1 -
.../web/app/Application_ja.properties.xml | 1 -
.../web/app/Application_ko.properties.xml | 1 -
.../web/app/Application_nl.properties.xml | 1 -
.../web/app/Application_pl.properties.xml | 1 -
.../web/app/Application_pt.properties.xml | 1 -
.../web/app/Application_pt_BR.properties.xml | 1 -
.../web/app/Application_ru.properties.xml | 1 -
.../web/app/Application_sk.properties.xml | 1 -
.../web/app/Application_sv.properties.xml | 1 -
.../web/app/Application_ta.properties.xml | 1 -
.../web/app/Application_th.properties.xml | 1 -
.../web/app/Application_tr.properties.xml | 1 -
.../web/app/Application_uk.properties.xml | 1 -
.../web/app/Application_zh_CN.properties.xml | 1 -
.../web/app/Application_zh_TW.properties.xml | 1 -
.../apache/openmeetings/web/room/RoomPanel.java | 40 +++++-----
.../apache/openmeetings/web/room/wb/WbAction.java | 2 +-
.../apache/openmeetings/web/room/wb/WbPanel.html | 4 -
.../apache/openmeetings/web/room/wb/WbPanel.java | 37 +--------
.../apache/openmeetings/web/room/wb/raw-wb-area.js | 44 ++++++-----
.../openmeetings/webservice/WbWebService.java | 88 ++++++++++++++++++++++
40 files changed, 136 insertions(+), 113 deletions(-)
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
index e02ef04..e4217a5 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Download as PDF]]></entry>
<entry key="download.png"><![CDATA[Download as PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
index 9bcf3d6..e7ba2b3 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Download as PDF]]></entry>
<entry key="download.png"><![CDATA[Download as PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
index 696dd5c..bfe2fb4 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Сваляне в PDF]]></entry>
<entry key="download.png"><![CDATA[Сваляне в PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bn.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bn.properties.xml
index 807ca56..b5594c5 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bn.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bn.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Download as PDF]]></entry>
<entry key="download.png"><![CDATA[Download as PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
index 250527a..1e4fe73 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Descarregar com PDF]]></entry>
<entry key="download.png"><![CDATA[Descarregar com PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
index 76d3855..3f57247 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Načti jako PDF]]></entry>
<entry key="download.png"><![CDATA[Načti jako PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
index c609801..60da6af 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Download som PDF]]></entry>
<entry key="download.png"><![CDATA[Download som PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml
index 07b468a..2bbf082 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Wollen sie
wirklich alle Temporären Dateien löschen? Diese Vorgang kann nicht rückgängig
gemacht werden.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[Allgemeine
Admin-Funktionen]]></entry>
<entry
key="dashboard.widget.admin.title"><![CDATA[Admin-Funktionen]]></entry>
- <entry key="download.image.steps"><![CDATA[Bitte Rechtsklick auf das
Bild und "Speichere Bild als" wählen]]></entry>
<entry key="download.pdf"><![CDATA[Download als PDF]]></entry>
<entry key="download.png"><![CDATA[Download als PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Benutzername/E-Mail
und/oder Passwort ist/sind falsch.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
index 40600ee..3fcbf94 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Αποθήκευση ως PDF]]></entry>
<entry key="download.png"><![CDATA[Αποθήκευση ως PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml
index 4913676..cd8e5e2 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[¿Estás seguro
de querer borrar todos los ficheros temporales? Esta operación no se puede
deshacer.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[Funciones de
administración general]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Funciones de
administración]]></entry>
- <entry key="download.image.steps"><![CDATA[Haz click derecho sobre la
imagen y elige "Salvar como"]]></entry>
<entry key="download.pdf"><![CDATA[Descargar como PDF]]></entry>
<entry key="download.png"><![CDATA[Descargar como PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Usuario/correo y/o
contraseña son incorrectos]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml
index ed053dd..291ea66 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[مطمئن هستید
می خواهید تمام پوشه های جاری را حذف کنید؟این عملیات نمی تواند انجام نشده
بماند.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[عملیات کلی
مدیر]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[عملکردهای
مدیر]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[دریافت به عنوان PDF]]></entry>
<entry key="download.png"><![CDATA[بارگذاری به عنوان PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[نام کاربری/پست الکترونیک
و/یا رمز عبور صحیح نیست]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
index df762fd..e51b577 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Lataa PDF]]></entry>
<entry key="download.png"><![CDATA[Lataa PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml
index e56a363..53e2995 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Etes-vous sur
de vouloir supprimer tous les fichiers temporaires ? Cette opération ne peut
être annulée.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[Fonctions d'admin
générales]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Fonctions
d'admin]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Télécharger en PDF]]></entry>
<entry key="download.png"><![CDATA[Télécharger en PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
index 5ae80e5..320cba3 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Descargar como PDF]]></entry>
<entry key="download.png"><![CDATA[Descargar como PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hi.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hi.properties.xml
index 9af9219..c81e1eb 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hi.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hi.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Download as PDF]]></entry>
<entry key="download.png"><![CDATA[Download as PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml
index bdfe5b6..392f3c5 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Letöltés mint PDF]]></entry>
<entry key="download.png"><![CDATA[Letöltés mint PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_in.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_in.properties.xml
index 78bbcc8..da64b25 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_in.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_in.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Download as PDF]]></entry>
<entry key="download.png"><![CDATA[Download as PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml
index 5485bbd..8cacd5b 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Sei sicuro di
voler cancellare tutti i file temporanei? Questa operazione non potrà essere
annullata.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[Funzioni generali per
l'Amministratore]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Funzioni
Amministratore]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Scarica come PDF]]></entry>
<entry key="download.png"><![CDATA[Scarica come PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_iw.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_iw.properties.xml
index 733818f..5605491 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_iw.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_iw.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Download as PDF]]></entry>
<entry key="download.png"><![CDATA[Download as PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml
index fceb117..1894f11 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry
key="dashboard.widget.admin.cleanup.warn"><![CDATA[全ての一時ファイルを削除してよろしいですか?(この作業は実行後、元に戻せません)]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[一般管理機能]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[管理機能]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[PDFとしてダウンロード]]></entry>
<entry key="download.png"><![CDATA[PNGとしてダウンロード]]></entry>
<entry
key="error.bad.credentials"><![CDATA[ユーザー名/電子メール・アドレス、またはパスワードが不正です。]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
index f25e3b8..abdbcf9 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Download as PDF]]></entry>
<entry key="download.png"><![CDATA[Download as PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
index 1d593d9..fe4edeb 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Opslaan als PDF]]></entry>
<entry key="download.png"><![CDATA[Opslaan als PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
index 5e0b069..562e104 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Pobierz jako PDF]]></entry>
<entry key="download.png"><![CDATA[Pobierz jako PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Nazwa użytkownika / adres
e-mail i / lub hasło są nieprawidłowe.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
index ca4aa37..1ce59c5 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Download as PDF]]></entry>
<entry key="download.png"><![CDATA[Download as PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
index 1791f49..0419f5d 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Funções
Administrativas]]></entry>
- <entry key="download.image.steps"><![CDATA[Clique com o botão direito
na imagem e escolha "Salvar imagem como"]]></entry>
<entry key="download.pdf"><![CDATA[Download como PDF]]></entry>
<entry key="download.png"><![CDATA[Download como PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
index 9d4d10a..a918ec3 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Вы уверены
что хотите удалить все временные файлы? Эту операцию нельзя будет
отменить.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[Основные
административные фукции]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Административные
функции]]></entry>
- <entry key="download.image.steps"><![CDATA[Кликните правой кнопкой на
картинке и выберите "Сохранить как"]]></entry>
<entry key="download.pdf"><![CDATA[Сохранить как PDF]]></entry>
<entry key="download.png"><![CDATA[Сохранить как PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Имя пользователя/e-mail
и/или пароль не верны.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
index 0ba987b..16b3d38 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Stiahnúť ako PDF]]></entry>
<entry key="download.png"><![CDATA[Stiahnúť ako PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
index c8f3339..fcea845 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
@@ -632,7 +632,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Är du säker
att du vill radera alla temporära filer? Denna operation kan inte
ångras.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[Allmänna
administrativa funktioner]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Administrativa
funktioner]]></entry>
- <entry key="download.image.steps"><![CDATA[Vänligen högerklicka på
bilden och välj "Spara bilden som"]]></entry>
<entry key="download.pdf"><![CDATA[Ladda ner som PDF]]></entry>
<entry key="download.png"><![CDATA[Ladda ner som PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Felaktigt
användarnamn/e-postadress och/eller lösenord.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ta.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ta.properties.xml
index 9c099e1..cf67f36 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ta.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ta.properties.xml
@@ -632,7 +632,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Download as PDF]]></entry>
<entry key="download.png"><![CDATA[Download as PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
index f3258ec..2c98b91 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[ดาวน์โหลดเป็น PDF]]></entry>
<entry key="download.png"><![CDATA[ดาวน์โหลดเป็น PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
index dc0e9c2..92ed570 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[PDF Olarak Yükle]]></entry>
<entry key="download.png"><![CDATA[PNG Olarak Yükle]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
index 25114c4..e49534b 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Ви впевнені,
що хочете видалити всі тимчасові файли? Цю операцію не можна буде
скасувати.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[Основні
адміністративні фукції]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Адміністративні
функції]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Завантажити як PDF]]></entry>
<entry key="download.png"><![CDATA[Завантажити як PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
index cce3b9d..155d3ec 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[下载为 PDF]]></entry>
<entry key="download.png"><![CDATA[下载为 PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
index b4535fc..d1411eb 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
@@ -631,7 +631,6 @@ see https://openmeetings.apache.org/LanguageEditor.html for
Details
<entry key="dashboard.widget.admin.cleanup.warn"><![CDATA[Are you sure
you want to delete all temporary files? This operation cannot be
undone.]]></entry>
<entry key="dashboard.widget.admin.desc"><![CDATA[General Admin
functions]]></entry>
<entry key="dashboard.widget.admin.title"><![CDATA[Admin
functions]]></entry>
- <entry key="download.image.steps"><![CDATA[Please right click the image
and choose "Save image as"]]></entry>
<entry key="download.pdf"><![CDATA[Download as PDF]]></entry>
<entry key="download.png"><![CDATA[Download as PNG]]></entry>
<entry key="error.bad.credentials"><![CDATA[Username/email and/or
password are incorrect.]]></entry>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
index c1a44d3..fba8f99 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
@@ -20,14 +20,15 @@ package org.apache.openmeetings.web.room;
import static java.time.Duration.ZERO;
import static
org.apache.openmeetings.core.util.ChatWebSocketHelper.ID_USER_PREFIX;
+import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_PDF;
import static org.apache.openmeetings.web.app.WebSession.getDateFormat;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
import static
org.apache.openmeetings.web.room.wb.InterviewWbPanel.INTERVIEWWB_JS_REFERENCE;
import static org.apache.openmeetings.web.room.wb.WbPanel.WB_JS_REFERENCE;
-import java.io.ByteArrayInputStream;
import java.io.IOException;
-import java.io.InputStream;
+import java.nio.file.Files;
+import java.nio.file.Paths;
import java.util.Calendar;
import java.util.List;
import java.util.Map.Entry;
@@ -93,9 +94,8 @@ import
org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.request.resource.JavaScriptResourceReference;
import org.apache.wicket.request.resource.ResourceStreamResource;
import org.apache.wicket.spring.injection.annot.SpringBean;
-import org.apache.wicket.util.resource.AbstractResourceStream;
+import org.apache.wicket.util.resource.FileResourceStream;
import org.apache.wicket.util.resource.IResourceStream;
-import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
import org.apache.wicket.util.string.Strings;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -201,30 +201,19 @@ public class RoomPanel extends BasePanel {
private RoomMenuPanel menu;
private RoomSidebar sidebar;
private final AbstractWbPanel wb;
- private byte[] pdfWb;
+ private String fuid;
+ private String ftype;
private final AjaxDownloadBehavior download = new
AjaxDownloadBehavior(new ResourceStreamResource() {
private static final long serialVersionUID = 1L;
{
setCacheDuration(ZERO);
- setFileName("whiteboard.pdf");
}
@Override
protected IResourceStream getResourceStream(Attributes
attributes) {
- return new AbstractResourceStream() {
- private static final long serialVersionUID = 1L;
-
- @Override
- public InputStream getInputStream() throws
ResourceStreamNotFoundException {
- return new ByteArrayInputStream(pdfWb);
- }
-
- @Override
- public void close() throws IOException {
- //no-op
- }
- };
+ setFileName(EXTENSION_PDF.equals(ftype) ?
"whiteboard.pdf" : "slide.png");
+ return new
FileResourceStream(Paths.get(System.getProperty("java.io.tmpdir"),
fuid).toFile());
}
}) {
private static final long serialVersionUID = 1L;
@@ -232,7 +221,13 @@ public class RoomPanel extends BasePanel {
@Override
protected void onDownloadCompleted(AjaxRequestTarget target) {
super.onDownloadCompleted(target);
- pdfWb = null;
+ try {
+
Files.deleteIfExists(Paths.get(System.getProperty("java.io.tmpdir"), fuid));
+ } catch (IOException e) {
+ log.error("unexcepted error while clean-up", e);
+ }
+ fuid = null;
+ ftype = null;
}
};
Component eventDetail = new
WebMarkupContainer(EVENT_DETAILS_ID).setVisible(false);
@@ -259,8 +254,9 @@ public class RoomPanel extends BasePanel {
this.wb = interview ? new InterviewWbPanel("whiteboard", this)
: new WbPanel("whiteboard", this);
}
- public void startDownload(IPartialPageRequestHandler handler, byte[]
bb) {
- pdfWb = bb;
+ public void startDownload(IPartialPageRequestHandler handler, String
type, String fuid) {
+ this.fuid = fuid;
+ ftype = type;
download.initiate(handler);
}
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbAction.java
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbAction.java
index 6eaca7e..f3ba2dd 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbAction.java
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbAction.java
@@ -34,7 +34,7 @@ public enum WbAction {
, load
, undo
, setSize
- , downloadPdf
+ , download
, startRecording
, stopRecording
, videoStatus
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html
index dee65c8..08b390c 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html
@@ -208,10 +208,6 @@
</div>
<div class="status"></div>
</div>
- <div id="download-png" wicket:message="title:867">
- <img width="320" height="240"/>
- <div><wicket:message key="download.image.steps"/></div>
- </div>
</div>
<div id="wb-settings" class="wb-settings modal fade" tabindex="-1"
role="dialog" data-backdrop="false" aria-hidden="true">
<div class="modal-dialog modal-sm" role="document">
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
index f55dcb7..661ec92 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
@@ -34,10 +34,7 @@ import static
org.apache.openmeetings.web.room.wb.WbWebSocketHelper.getObjWbJson
import static org.apache.openmeetings.web.room.wb.WbWebSocketHelper.getWbJson;
import static org.apache.wicket.AttributeModifier.append;
-import java.awt.image.BufferedImage;
import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
@@ -52,9 +49,6 @@ import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;
-import javax.imageio.ImageIO;
-
-import org.apache.commons.codec.binary.Base64;
import org.apache.openmeetings.db.dao.file.FileItemDao;
import org.apache.openmeetings.db.dto.room.Whiteboard;
import org.apache.openmeetings.db.dto.room.Whiteboard.ZoomMode;
@@ -70,13 +64,6 @@ import org.apache.openmeetings.util.OmFileHelper;
import org.apache.openmeetings.web.app.WhiteboardManager;
import org.apache.openmeetings.web.common.NameDialog;
import org.apache.openmeetings.web.room.RoomPanel;
-import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.PDPage;
-import org.apache.pdfbox.pdmodel.PDPageContentStream;
-import org.apache.pdfbox.pdmodel.PDPageContentStream.AppendMode;
-import org.apache.pdfbox.pdmodel.common.PDRectangle;
-import org.apache.pdfbox.pdmodel.graphics.image.LosslessFactory;
-import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
import org.apache.wicket.markup.html.list.ListItem;
@@ -216,30 +203,12 @@ public class WbPanel extends AbstractWbPanel {
}
}
break;
- case downloadPdf:
+ case download:
{
boolean moder =
c.hasRight(Room.Right.MODERATOR);
Room r = rp.getRoom();
- if ((moder &&
!r.isHidden(RoomElement.ACTION_MENU)) || (!moder && r.isAllowUserQuestions())) {
- try (PDDocument doc = new PDDocument())
{
- JSONArray arr =
obj.getJSONArray("slides");
- for (int i = 0; i <
arr.length(); ++i) {
- String base64Image =
arr.getString(i).split(",")[1];
- byte[] bb =
Base64.decodeBase64(base64Image);
- BufferedImage img =
ImageIO.read(new ByteArrayInputStream(bb));
- float width =
img.getWidth();
- float height =
img.getHeight();
- PDPage page = new
PDPage(new PDRectangle(width, height));
- PDImageXObject
pdImageXObject = LosslessFactory.createFromImage(doc, img);
- try
(PDPageContentStream contentStream = new PDPageContentStream(doc, page,
AppendMode.APPEND, false)) {
-
contentStream.drawImage(pdImageXObject, 0, 0, width, height);
- }
- doc.addPage(page);
- }
- ByteArrayOutputStream baos =
new ByteArrayOutputStream();
- doc.save(baos);
- rp.startDownload(handler,
baos.toByteArray());
- }
+ if (moder &&
!r.isHidden(RoomElement.ACTION_MENU)) {
+ rp.startDownload(handler,
obj.getString("type"), obj.getString("fuid"));
}
return;
}
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-area.js
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-area.js
index 4de7c04..6413eba 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-area.js
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/raw-wb-area.js
@@ -392,30 +392,38 @@ var DrawWbArea = function() {
if (!_inited) {
return;
}
- const wb = getActive().data();
+ const wb = getActive().data()
+ , url = location.pathname.substring(0,
location.pathname.indexOf('/', 1)) + '/services/wb/uploadwb/'
+ , arr = [];
+ let type;
if ('pdf' === fmt) {
- const arr = [];
wb.eachCanvas(function(cnv) {
arr.push(_getImage(cnv));
});
- OmUtil.wbAction({action: 'downloadPdf', data: {
- slides: arr
- }});
+ type = 'pdf';
} else {
- const cnv = wb.getCanvas()
- , dataUri = _getImage(cnv);
- try {
- const dlg = $('#download-png');
- dlg.find('img').attr('src', dataUri);
- dlg.dialog({
- width: 350
- , appendTo: '.room-block .wb-block'
- });
- fixJQueryUIDialogTouch(dlg);
- } catch (e) {
- console.error(e);
- }
+ const cnv = wb.getCanvas();
+ arr.push(_getImage(cnv));
+ type = 'png';
}
+ $.ajax({
+ type: "POST"
+ , url: url + type + '?sid=' + Room.getOptions().sid
+ , data: {data: JSON.stringify(arr)}
+ , dataType: 'json'
+ , cache: false
+ }).done(function(res) {
+ if ('SUCCESS' === res.serviceResult.type) {
+ OmUtil.wbAction({action: 'download', data: {
+ type: type
+ , fuid: res.serviceResult.message
+ }});
+ } else {
+ OmUtil.error(res.serviceResult.message);
+ }
+ }).fail(function(err) {
+ OmUtil.error(err);
+ });
}
self.videoStatus = _videoStatus;
self.loadVideos = function() {
diff --git
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/WbWebService.java
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/WbWebService.java
index 79d5b6e..6d5327d 100644
---
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/WbWebService.java
+++
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/WbWebService.java
@@ -18,28 +18,54 @@
*/
package org.apache.openmeetings.webservice;
+import static java.util.UUID.randomUUID;
+import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_PDF;
import static org.apache.openmeetings.webservice.Constants.TNS;
+import java.awt.image.BufferedImage;
+import java.io.ByteArrayInputStream;
+import java.io.FileOutputStream;
+import java.io.OutputStream;
+import java.nio.file.Paths;
+
+import javax.imageio.ImageIO;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
+import javax.ws.rs.FormParam;
import javax.ws.rs.GET;
+import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.io.FileUtils;
import org.apache.cxf.feature.Features;
import org.apache.openmeetings.db.dto.basic.ServiceResult;
import org.apache.openmeetings.db.dto.basic.ServiceResult.Type;
+import org.apache.openmeetings.db.entity.basic.Client;
+import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.db.manager.IClientManager;
import org.apache.openmeetings.db.manager.IWhiteboardManager;
+import org.apache.pdfbox.pdmodel.PDDocument;
+import org.apache.pdfbox.pdmodel.PDPage;
+import org.apache.pdfbox.pdmodel.PDPageContentStream;
+import org.apache.pdfbox.pdmodel.PDPageContentStream.AppendMode;
+import org.apache.pdfbox.pdmodel.common.PDRectangle;
+import org.apache.pdfbox.pdmodel.graphics.image.LosslessFactory;
+import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import com.github.openjson.JSONArray;
+
/**
* WbService contains methods to manipulate whiteboard contents
*
@@ -54,6 +80,8 @@ public class WbWebService extends BaseWebService {
@Autowired
private IWhiteboardManager wbManager;
+ @Autowired
+ private IClientManager cm;
/**
* This method will remove all whiteboards from given room
@@ -124,4 +152,64 @@ public class WbWebService extends BaseWebService {
return new ServiceResult("", Type.SUCCESS);
});
}
+
+ /**
+ * This method will recive WB as binary data (png) and store it to
temporary PDF/PNG file
+ *
+ * unlike other web service methods this one uses internal client sid
+ * NOT web service sid
+ *
+ * @param sid - internal client sid
+ * @param type - the type of document being saved PNG/PDF
+ * @param data - binary data
+ * @return - serviceResult object with the result
+ */
+ @WebMethod
+ @POST
+ @Path("/uploadwb/{type}")
+ public ServiceResult uploadWb(@WebParam(name="sid") @QueryParam("sid")
String sid
+ , @WebParam(name="type") @PathParam("type") String type
+ , @WebParam(name="data") @FormParam("data") String data
+ )
+ {
+ log.debug("[uploadwb] type {}", type);
+ Client c = cm.getBySid(sid);
+ final boolean allowed = c != null
+ && c.getRoom() != null
+ && c.hasRight(Room.Right.MODERATOR)
+ &&
!c.getRoom().isHidden(RoomElement.ACTION_MENU);
+ return performCall(null, sd -> allowed, sd -> {
+ try {
+ String tDir =
System.getProperty("java.io.tmpdir");
+ String fuid = randomUUID().toString();
+ if (EXTENSION_PDF.equals(type)) {
+ try (PDDocument doc = new PDDocument();
OutputStream os = new FileOutputStream(Paths.get(tDir, fuid).toFile())) {
+ JSONArray arr = new
JSONArray(data);
+ for (int i = 0; i <
arr.length(); ++i) {
+ String base64Image =
arr.getString(i).split(",")[1];
+ byte[] bb =
Base64.decodeBase64(base64Image);
+ BufferedImage img =
ImageIO.read(new ByteArrayInputStream(bb));
+ float width =
img.getWidth();
+ float height =
img.getHeight();
+ PDPage page = new
PDPage(new PDRectangle(width, height));
+ PDImageXObject
pdImageXObject = LosslessFactory.createFromImage(doc, img);
+ try
(PDPageContentStream contentStream = new PDPageContentStream(doc, page,
AppendMode.APPEND, false)) {
+
contentStream.drawImage(pdImageXObject, 0, 0, width, height);
+ }
+ doc.addPage(page);
+ }
+ doc.save(os);
+ }
+ } else {
+ JSONArray arr = new JSONArray(data);
+ String base64Image =
arr.getString(0).split(",")[1];
+ byte[] bb =
Base64.decodeBase64(base64Image);
+ FileUtils.copyInputStreamToFile(new
ByteArrayInputStream(bb), Paths.get(tDir, fuid).toFile());
+ }
+ return new ServiceResult(fuid, Type.SUCCESS);
+ } catch (Exception e) {
+ return new ServiceResult(e.getMessage(),
Type.ERROR);
+ }
+ });
+ }
}