summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorkhvalera2022-05-03 22:07:46 +0300
committerkhvalera2022-05-03 22:07:46 +0300
commitc4ec1cf0f15445cbcc2e22fd1d8cbf54ed9b3391 (patch)
tree549b3e17239fe86a21576224d0bcbf4e62919066
parent4b440896ece2f7c06722c0f20d39e2880d125ae3 (diff)
downloadaur-c4ec1cf0f15445cbcc2e22fd1d8cbf54ed9b3391.tar.gz
20.0.1
-rw-r--r--.SRCINFO167
-rw-r--r--PKGBUILD510
-rw-r--r--PoolModel.patch15
-rw-r--r--bareos-bconsole.install8
-rw-r--r--bareos-common.install24
-rw-r--r--bareos-database-mysql.install13
-rw-r--r--bareos-database-postgresql.install14
-rw-r--r--bareos-director.install21
-rw-r--r--bareos-filedaemon.install6
-rw-r--r--bareos-storage.install18
-rw-r--r--bareos-traymonitor.install10
-rw-r--r--bootstrap-table-locale-all.min.js10
-rw-r--r--fix-build-bareos.patch44
-rw-r--r--fix-headlink.patch193
-rw-r--r--mysql.patch397
-rw-r--r--restore-form.patch12
16 files changed, 1217 insertions, 245 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 8df8d1564ca0..6ca6adac2f9c 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = bareos
pkgdesc = Bareos - Backup Archiving REcovery Open Sourced
- pkgver = 19.2.6
- pkgrel = 1
+ pkgver = 20.0.1
+ pkgrel = 3
url = http://www.bareos.org
arch = i686
arch = x86_64
@@ -13,12 +13,26 @@ pkgbase = bareos
makedepends = postgresql-libs
makedepends = sqlite3
makedepends = python2
+ makedepends = python
makedepends = cmake
makedepends = rpcsvc-proto
makedepends = git
makedepends = lsb-release
- source = git+https://github.com/bareos/bareos.git#tag=Release/19.2.6
+ makedepends = qt5-base
+ provides = bareos
+ conflicts = bareos
+ source = git+https://github.com/bareos/bareos.git#tag=Release/20.0.1
+ source = fix-build-bareos.patch
+ source = fix-headlink.patch
+ source = mysql.patch
+ source = PoolModel.patch
+ source = bootstrap-table-locale-all.min.js
md5sums = SKIP
+ md5sums = 018310ec5860e8b78b1855cc21c7b963
+ md5sums = b26fd1ffccc2b54f3f898d6d896e8929
+ md5sums = 926d71d75bb40c2023583c33712f6e2b
+ md5sums = e35a03f09797b00c098ecb829f1ad5f8
+ md5sums = e78b88f897cfc3e60129eec360521e3d
pkgname = bareos-common
pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - Common files
@@ -30,101 +44,115 @@ pkgname = bareos-common
depends = lzo
depends = jansson
depends = zlib
+ conflicts = bareos-common
pkgname = bareos-bconsole
pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - Admin Tool (CLI)
install = bareos-bconsole.install
groups = bareos
groups = bareos-client
- depends = bareos-common=19.2.6
+ depends = bareos-common=20.0.1
depends = readline
depends = jansson
+ conflicts = bareos-bconsole
+ backup = etc/bareos/bconsole.conf
pkgname = bareos-database-common
pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - Generic abstration libs and tools for sql catalog
- depends = bareos-common=19.2.6
+ depends = bareos-common=20.0.1
depends = libcap
depends = lzo
depends = zlib
depends = openssl
depends = bash
depends = jansson
+ conflicts = bareos-database-common
pkgname = bareos-database-mysql
pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - Libs and tools for mysql catalog
install = bareos-database-mysql.install
- depends = bareos-database-common=19.2.6
+ depends = bareos-database-common=20.0.1
depends = libmariadbclient
- provides = bareos-database=19.2.6
+ provides = bareos-database=20.0.1
+ conflicts = bareos-database-mysql
pkgname = bareos-database-postgresql
pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - Libs and tools for postgresql catalog
install = bareos-database-postgresql.install
- depends = bareos-database-common=19.2.6
+ depends = bareos-database-common=20.0.1
depends = postgresql-libs
- provides = bareos-database=19.2.6
+ provides = bareos-database=20.0.1
+ conflicts = bareos-database-postgresql
pkgname = bareos-database-sqlite3
pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - Libs and tools for sqlite3 catalog
- depends = bareos-database-common=19.2.6
+ depends = bareos-database-common=20.0.1
depends = sqlite3
- provides = bareos-database=19.2.6
+ provides = bareos-database=20.0.1
+ conflicts = bareos-database-sqlite3
pkgname = bareos-database-tools
pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - CLI tools with database dpendencies (dbcheck, bscan)
- depends = bareos-database-common=19.2.6
+ depends = bareos-database-common=20.0.1
depends = openssl
depends = jansson
+ conflicts = bareos-database-tools
pkgname = bareos-devel
pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - Devel headers
arch = any
+ conflicts = bareos-devel
pkgname = bareos-director
pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - Director daemon
install = bareos-director.install
- depends = bareos-common=19.2.6
+ depends = bareos-common=20.0.1
depends = openssl
depends = bash
depends = jansson
+ conflicts = bareos-director
pkgname = bareos-storage-fifo
pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - FIFO support for storage daemon
- depends = bareos-storage=19.2.6
+ depends = bareos-storage=20.0.1
depends = zlib
depends = libcap
depends = openssl
depends = jansson
depends = lzo
+ conflicts = bareos-storage-fifo
pkgname = bareos-tools
pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - CLI tools (bcopy, bextract, bls, bregeq, bwild)
- depends = bareos-common=19.2.6
+ depends = bareos-common=20.0.1
depends = glibc
+ conflicts = bareos-tools
pkgname = bareos-filedaemon
pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - File daemon
install = bareos-filedaemon.install
groups = bareos
groups = bareos-client
- depends = bareos-common=19.2.6
+ depends = bareos-common=20.0.1
depends = jansson
depends = zlib
depends = gcc-libs
+ conflicts = bareos-filedaemon
pkgname = bareos-storage
pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - Storage daemon
install = bareos-storage.install
- depends = bareos-common=19.2.6
+ depends = bareos-common=20.0.1
depends = zlib
depends = lzo
depends = jansson
depends = openssl
depends = libcap
+ conflicts = bareos-storage
pkgname = bareos-storage-tape
pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - Tape support for storage daemon
- depends = bareos-storage=19.2.6
+ depends = bareos-storage=20.0.1
depends = zlib
depends = libcap
depends = bash
@@ -132,42 +160,113 @@ pkgname = bareos-storage-tape
depends = jansson
depends = lzo
depends = mtx
+ conflicts = bareos-storage-tape
backup = etc/bareos/mtx-changer.conf
-pkgname = bareos-director-python-plugin
+pkgname = bareos-webui
+ pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - Webui (Bareos web administration)
+ depends = php7
+ depends = php7-fpm
+ depends = jansson
+ conflicts = bareos-webui
+ backup = etc/bareos-webui/directors.ini
+ backup = etc/bareos-webui/configuration.ini
+ backup = etc/bareos/bareos-dir.d/console/admin.conf.example
+ backup = etc/bareos/bareos-dir.d/profile/webui-admin.conf
+ backup = etc/httpd/conf/extra/bareos-webui.conf
+
+pkgname = bareos-director-python-plugins-common
+ pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - This package contains the common files for the python 2 and python 3 director plugins
+ depends = bareos-director=20.0.1
+ conflicts = bareos-director-python-plugins-common
+
+pkgname = bareos-filedaemon-python-plugins-common
+ pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - This package contains the common files for the python 2 and python 3 filedaemon plugins
+ depends = bareos-filedaemon=20.0.1
+ conflicts = bareos-filedaemon-python-plugins-common
+
+pkgname = bareos-storage-python-plugins-common
+ pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - This package contains the common files for the python 2 and python 3 storage plugins
+ depends = bareos-storage=20.0.1
+ conflicts = bareos-storage-python-plugins-common
+
+pkgname = bareos-director-python2-plugin
pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - Python plugin for director daemon
- depends = bareos-director=19.2.6
+ depends = bareos-director=20.0.1
+ depends = bareos-director-python-plugins-common=20.0.1
+ depends = python2
depends = libcap
depends = jansson
depends = lzo
+ conflicts = bareos-director-python-plugin
+ conflicts = bareos-director-python-plugin
+
+pkgname = bareos-director-python3-plugin
+ pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - Python plugin for director daemon
+ depends = bareos-director=20.0.1
+ depends = bareos-director-python-plugins-common=20.0.1
depends = python
+ depends = libcap
+ depends = jansson
+ depends = lzo
+ conflicts = bareos-director-python-plugin
+ conflicts = bareos-director-python-plugin
+
+pkgname = bareos-filedaemon-python2-plugin
+ pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - Python plugin for file daemon
+ depends = bareos-filedaemon=20.0.1
+ depends = bareos-filedaemon-python-plugins-common=20.0.1
depends = python2
+ depends = libcap
+ depends = lzo
+ depends = jansson
+ conflicts = bareos-filedaemon-python-plugin
+ conflicts = bareos-filedaemon-python-plugin
-pkgname = bareos-filedaemon-python-plugin
+pkgname = bareos-filedaemon-python3-plugin
pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - Python plugin for file daemon
- depends = bareos-filedaemon=19.2.6
+ depends = bareos-filedaemon=20.0.1
+ depends = bareos-filedaemon-python-plugins-common=20.0.1
depends = python
- depends = python2
depends = libcap
depends = lzo
depends = jansson
+ conflicts = bareos-filedaemon-python-plugin
+ conflicts = bareos-filedaemon-python-plugin
-pkgname = bareos-storage-python-plugin
+pkgname = bareos-storage-python2-plugin
pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - Python plugin for storage daemon
- depends = bareos-storage=19.2.6
+ depends = bareos-storage=20.0.1
+ depends = bareos-storage-python-plugins-common=20.0.1
depends = python2
depends = lzo
- depends = python
depends = libcap
depends = jansson
+ conflicts = bareos-storage-python-plugin
+ conflicts = bareos-storage-python-plugin
-pkgname = bareos-webui
- pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - Webui (Bareos web administration)
- depends = php
- depends = php-fpm
+pkgname = bareos-storage-python3-plugin
+ pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - Python plugin for storage daemon
+ depends = bareos-storage=20.0.1
+ depends = bareos-storage-python-plugins-common=20.0.1
+ depends = python
+ depends = lzo
+ depends = libcap
depends = jansson
- backup = etc/bareos-webui/directors.ini
- backup = etc/bareos-webui/configuration.ini
- backup = etc/bareos/bareos-dir.d/console/admin.conf.example
- backup = etc/bareos/bareos-dir.d/profile/webui-admin.conf
+ conflicts = bareos-storage-python-plugin
+ conflicts = bareos-storage-python-plugin
+
+pkgname = bareos-filedaemon-ldap-python-plugin
+ pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - LDAP Python plugin for Bareos File daemon
+ depends = bareos-filedaemon=20.0.1
+ depends = bareos-filedaemon-python3-plugin=20.0.1
+ depends = python-ldap
+ conflicts = bareos-filedaemon-ldap-python-plugin
+pkgname = bareos-traymonitor
+ pkgdesc = Bareos - Backup Archiving REcovery Open Sourced - This package contains the tray monitor (QT based)
+ install = bareos-traymonitor.install
+ groups = bareos
+ groups = bareos-client
+ depends = bareos-common=20.0.1
+ conflicts = bareos-traymonitor
diff --git a/PKGBUILD b/PKGBUILD
index 18eb4f42f434..84f4a5f02a19 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,47 +1,76 @@
-# Maintainer: Matthias Fulz <mfulz@olznet.net>
-# Maintainer: Michael Spradling <mike@mspradling.com>
+# Maintainer: khvalera <khvalera@ukr.net>
+# Contributor: Matthias Fulz <mfulz@olznet.net>
# Contributor: Michael Spradling <mike@mspradling.com>
pkgbase='bareos'
-pkgname=("${pkgbase}-common"
- "${pkgbase}-bconsole"
- "${pkgbase}-database-common"
- "${pkgbase}-database-mysql"
- "${pkgbase}-database-postgresql"
- "${pkgbase}-database-sqlite3"
- "${pkgbase}-database-tools"
- "${pkgbase}-devel"
- "${pkgbase}-director"
- "${pkgbase}-storage-fifo"
- "${pkgbase}-tools"
- "${pkgbase}-filedaemon"
- "${pkgbase}-storage"
- "${pkgbase}-storage-tape"
- "${pkgbase}-director-python-plugin"
- "${pkgbase}-filedaemon-python-plugin"
- "${pkgbase}-storage-python-plugin"
- "${pkgbase}-webui")
-
-pkgmajor=19
-pkgver=19.2.6
-pkgrel=1
+pkgname=("bareos-common"
+ "bareos-bconsole"
+ "bareos-database-common"
+ "bareos-database-mysql"
+ "bareos-database-postgresql"
+ "bareos-database-sqlite3"
+ "bareos-database-tools"
+ "bareos-devel"
+ "bareos-director"
+ "bareos-storage-fifo"
+ "bareos-tools"
+ "bareos-filedaemon"
+ "bareos-storage"
+ "bareos-storage-tape"
+ "bareos-webui"
+ "bareos-director-python-plugins-common"
+ "bareos-filedaemon-python-plugins-common"
+ "bareos-storage-python-plugins-common"
+ "bareos-director-python2-plugin"
+ "bareos-director-python3-plugin"
+ "bareos-filedaemon-python2-plugin"
+ "bareos-filedaemon-python3-plugin"
+ "bareos-storage-python2-plugin"
+ "bareos-storage-python3-plugin"
+ "bareos-filedaemon-ldap-python-plugin"
+ "bareos-traymonitor"
+ )
+
+pkgver=20.0.1
+pkgmajor=${pkgver%%.*}
+pkgrel=3
arch=(i686 x86_64 armv7h aarch64)
groups=('bareos')
pkgdesc="Bareos - Backup Archiving REcovery Open Sourced"
url="http://www.bareos.org"
license=('AGPL3')
-makedepends=('libmariadbclient' 'postgresql-libs' 'sqlite3' 'python2' 'cmake' 'rpcsvc-proto' 'git' 'lsb-release')
-source=("git+https://github.com/bareos/bareos.git#tag=Release/$pkgver")
-md5sums=('SKIP')
-
+makedepends=('libmariadbclient' 'postgresql-libs' 'sqlite3' 'python2' 'python' 'cmake' 'rpcsvc-proto' 'git' 'lsb-release' 'qt5-base')
+source=("git+https://github.com/bareos/bareos.git#tag=Release/${pkgver}"
+ "fix-build-bareos.patch"
+ "fix-headlink.patch"
+ "mysql.patch"
+ "PoolModel.patch"
+ "bootstrap-table-locale-all.min.js")
+md5sums=('SKIP'
+ '018310ec5860e8b78b1855cc21c7b963'
+ 'b26fd1ffccc2b54f3f898d6d896e8929'
+ '926d71d75bb40c2023583c33712f6e2b'
+ 'e35a03f09797b00c098ecb829f1ad5f8'
+ 'e78b88f897cfc3e60129eec360521e3d')
+conflicts=("bareos")
+provides=("bareos")
+python3_ver="3.10"
+
+#=========================================
prepare() {
- cd $pkgbase
- patch --forward --strip=1 --input="../../plattforms-archlinux.patch"
+ cd bareos
+ # fix: в форме востановления нельзя выбрать задание на восстановление
+ #patch --forward --strip=1 --input="../../restore-form.patch"
+ patch --forward --strip=1 --input="../fix-build-bareos.patch"
+ patch --forward --strip=1 --input="../fix-headlink.patch"
+ patch --forward --strip=1 --input="../mysql.patch"
+ patch --forward --strip=1 --input="../PoolModel.patch"
}
+#=========================================
build() {
- cd $pkgbase
+ cd bareos
mkdir -p build
cd build
@@ -50,8 +79,8 @@ build() {
-DCMAKE_INSTALL_SBINDIR=/usr/bin \
-DCMAKE_INSTALL_SYSCONFDIR=/etc \
-DCMAKE_INSTALL_LOCALSTATEDIR=/ \
- -DCMAKE_INSTALL_LIBDIR=/usr/lib/$pkgbase \
- -Dlibdir=/usr/lib/$pkgbase \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib/bareos \
+ -Dlibdir=/usr/lib/bareos \
-Dconio=no \
-Ddynamic-cats-backends=yes \
-Ddynamic-storage-backends=yes \
@@ -61,97 +90,108 @@ build() {
-Dpython=yes \
-Dopenssl=yes \
-Dsqlite3=yes \
- -Dlogdir=/var/log/$pkgbase \
- -Ddir-user=$pkgbase \
- -Ddir-group=$pkgbase \
- -Dsd-user=$pkgbase \
- -Dsd-group=$pkgbase \
+ -Dlogdir=/var/log/bareos \
+ -Ddir-user=bareos \
+ -Ddir-group=bareos \
+ -Dsd-user=bareos \
+ -Dsd-group=bareos \
-Dfd-user=root \
-Dfd-group=root \
-Dpiddir=/run/bareos \
-Dsubsysdir=/run/bareos \
- -Dconfdir=/etc/$pkgbase \
- -Dconfigtemplatedir=/usr/share/$pkgbase/config \
- -Dworkingdir=/var/lib/$pkgbase \
- -Dplugindir=/usr/lib/$pkgbase/plugins \
- -Dscriptdir=/usr/lib/$pkgbase/scripts \
- -Dbackenddir=/usr/lib/$pkgbase/backends \
- -Darchivedir=/var/lib/$pkgbase/storage \
- -Dbsrdir=/var/lib/$pkgbase \
- -Dsystemd=yes
-
- make DESTDIR="$srcdir/install" install
+ -Dconfdir=/etc/bareos \
+ -Dconfigtemplatedir=/usr/share/bareos/config \
+ -Dworkingdir=/var/lib/bareos \
+ -Dplugindir=/usr/lib/bareos/plugins \
+ -Dscriptdir=/usr/lib/bareos/scripts \
+ -Dbackenddir=/usr/lib/bareos/backends \
+ -Darchivedir=/var/lib/bareos/storage \
+ -Dbsrdir=/var/lib/bareos \
+ -Dsystemd=yes \
+ -Dtraymonitor=yes
+
+ make DESTDIR="${srcdir}/install" install
}
-
+#=========================================
_cp() {
mkdir -p "$(dirname $2)"
- cp -a "$1" "$2"
+ cp -a "$1" "$(dirname $2)"
}
+#=========================================
package_bareos-common() {
- # Matches bareos-common.install.in
+ conflicts=("bareos-common")
pkgdesc="${pkgdesc} - Common files"
depends=('libcap' 'openssl' 'acl' 'bash' 'lzo' 'jansson' 'zlib')
install=bareos-common.install
for f in \
- usr/lib/bareos/libbareos.so.$pkgver \
- usr/lib/bareos/libbareos.so.$pkgmajor \
- usr/lib/bareos/libbareos.so \
- usr/lib/bareos/libbareosfind.so.$pkgver \
- usr/lib/bareos/libbareosfind.so.$pkgmajor \
- usr/lib/bareos/libbareosfind.so \
- usr/lib/bareos/libbareoslmdb.so.$pkgver \
- usr/lib/bareos/libbareoslmdb.so.$pkgmajor \
- usr/lib/bareos/libbareoslmdb.so \
- usr/lib/bareos/libbareosndmp.so.$pkgver \
- usr/lib/bareos/libbareosndmp.so.$pkgmajor \
- usr/lib/bareos/libbareosndmp.so \
- usr/lib/bareos/libbareosfastlz.so \
- usr/lib/bareos/libbareosfastlz.so.$pkgver \
- usr/lib/bareos/libbareosfastlz.so.$pkgmajor \
- usr/lib/bareos/scripts/bareos-config \
- usr/lib/bareos/scripts/bareos-config-lib.sh \
- usr/lib/bareos/scripts/btraceback.gdb \
- usr/bin/bsmtp \
- usr/bin/btraceback \
- usr/share/man/man1/bsmtp.1 \
- usr/share/man/man8/btraceback.8 \
+ usr/lib/bareos/libbareos.so.$pkgver \
+ usr/lib/bareos/libbareos.so.$pkgmajor \
+ usr/lib/bareos/libbareos.so \
+ usr/lib/bareos/libbareosfind.so.$pkgver \
+ usr/lib/bareos/libbareosfind.so.$pkgmajor \
+ usr/lib/bareos/libbareosfind.so \
+ usr/lib/bareos/libbareoslmdb.so.$pkgver \
+ usr/lib/bareos/libbareoslmdb.so.$pkgmajor \
+ usr/lib/bareos/libbareoslmdb.so \
+ usr/lib/bareos/libbareosndmp.so.$pkgver \
+ usr/lib/bareos/libbareosndmp.so.$pkgmajor \
+ usr/lib/bareos/libbareosndmp.so \
+ usr/lib/bareos/libbareosfastlz.so \
+ usr/lib/bareos/libbareosfastlz.so.$pkgver \
+ usr/lib/bareos/libbareosfastlz.so.$pkgmajor \
+ usr/lib/bareos/scripts/bareos-config \
+ usr/lib/bareos/scripts/bareos-config-lib.sh \
+ usr/lib/bareos/scripts/btraceback.gdb \
+ usr/bin/bsmtp \
+ usr/bin/btraceback \
+ usr/share/man/man1/bsmtp.1 \
+ usr/share/man/man8/btraceback.8 \
; do
_cp $srcdir/install/$f $pkgdir/$f
done
-
- install -d $pkgdir/var/lib/bareos
- install -d $pkgdir/etc/bareos
- install -d $pkgdir/run/bareos
+ install -d -m750 ${pkgdir}/var/lib/bareos
+ install -d -m750 ${pkgdir}/etc/bareos
+ install -d -m750 ${pkgdir}/run/bareos
+ install -d -m750 ${pkgdir}/var/log/bareos
}
+#=========================================
package_bareos-bconsole() {
+ conflicts=("bareos-bconsole")
pkgdesc="${pkgdesc} - Admin Tool (CLI)"
- depends=("bareos-common=$pkgver" 'readline' 'jansson')
- groups+=('bareos-client')
+ depends=("bareos-common=${pkgver}" 'readline' 'jansson')
+ groups+=("bareos-client")
install=bareos-bconsole.install
+ backup=("etc/bareos/bconsole.conf")
+
+ install -d -m750 ${pkgdir}/etc/bareos
+ install -m640 "${srcdir}/install/usr/share/bareos/config/bconsole.conf" \
+ "${pkgdir}/etc/bareos/bconsole.conf"
for f in \
- /usr/share/bareos/config/bconsole.conf \
usr/bin/bconsole \
usr/share/man/man1/bconsole.1 \
+ usr/share/bareos/config/bconsole.conf \
; do
- _cp $srcdir/install/$f $pkgdir/$f
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
done
}
+#=========================================
package_bareos-database-common() {
+ conflicts=("bareos-database-common")
pkgdesc="${pkgdesc} - Generic abstration libs and tools for sql catalog"
- depends=("bareos-common=$pkgver" 'libcap' 'lzo' 'zlib' 'openssl' 'bash' 'jansson')
+ depends=("bareos-common=${pkgver}" 'libcap' 'lzo' 'zlib' 'openssl' 'bash' 'jansson')
for f in \
- usr/lib/bareos/libbareoscats.so.$pkgver \
- usr/lib/bareos/libbareoscats.so.$pkgmajor \
+ usr/lib/bareos/libbareoscats.so.${pkgver} \
+ usr/lib/bareos/libbareoscats.so.${pkgmajor} \
usr/lib/bareos/libbareoscats.so \
- usr/lib/bareos/libbareossql.so.$pkgver \
- usr/lib/bareos/libbareossql.so.$pkgmajor \
+ usr/lib/bareos/libbareossql.so.${pkgver} \
+ usr/lib/bareos/libbareossql.so.${pkgmajor} \
usr/lib/bareos/libbareossql.so \
usr/lib/bareos/scripts/create_bareos_database \
usr/lib/bareos/scripts/drop_bareos_database \
@@ -161,14 +201,16 @@ package_bareos-database-common() {
usr/lib/bareos/scripts/update_bareos_tables \
usr/lib/bareos/scripts/ddl/versions.map \
; do
- _cp $srcdir/install/$f $pkgdir/$f
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
done
}
+#=========================================
package_bareos-database-mysql() {
+ conflicts=("bareos-database-mysql")
pkgdesc="${pkgdesc} - Libs and tools for mysql catalog"
- provides=("bareos-database=$pkgver")
- depends=("bareos-database-common=$pkgver" 'libmariadbclient')
+ provides=("bareos-database=${pkgver}")
+ depends=("bareos-database-common=${pkgver}" 'libmariadbclient')
install=bareos-database-mysql.install
for f in \
@@ -187,15 +229,17 @@ package_bareos-database-mysql() {
usr/lib/bareos/scripts/ddl/updates/mysql.2004_2171.sql \
usr/lib/bareos/scripts/ddl/updates/mysql.2171_2192.sql \
; do
- _cp $srcdir/install/$f $pkgdir/$f
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
done
}
+#=========================================
package_bareos-database-postgresql() {
+ conflicts=("bareos-database-postgresql")
pkgdesc="${pkgdesc} - Libs and tools for postgresql catalog"
- provides=("bareos-database=$pkgver")
- depends=("bareos-database-common=$pkgver" "postgresql-libs")
- install='bareos-database-postgresql.install'
+ provides=("bareos-database=${pkgver}")
+ depends=("bareos-database-common=${pkgver}" "postgresql-libs")
+ install=bareos-database-postgresql.install
for f in \
usr/lib/bareos/backends/libbareoscats-postgresql.so \
@@ -215,14 +259,16 @@ package_bareos-database-postgresql() {
usr/lib/bareos/scripts/ddl/updates/postgresql.2171_2192.sql \
usr/lib/bareos/scripts/ddl/updates/postgresql.bee.1017_2004.sql \
; do
- _cp $srcdir/install/$f $pkgdir/$f
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
done
}
+#=========================================
package_bareos-database-sqlite3() {
+ conflicts=("bareos-database-sqlite3")
pkgdesc="${pkgdesc} - Libs and tools for sqlite3 catalog"
- provides=("bareos-database=$pkgver")
- depends=("bareos-database-common=$pkgver" "sqlite3")
+ provides=("bareos-database=${pkgver}")
+ depends=("bareos-database-common=${pkgver}" "sqlite3")
for f in \
usr/lib/bareos/backends/libbareoscats-sqlite3.so \
@@ -237,13 +283,15 @@ package_bareos-database-sqlite3() {
usr/lib/bareos/scripts/ddl/updates/sqlite3.2004_2171.sql \
usr/lib/bareos/scripts/ddl/updates/sqlite3.2171_2192.sql \
; do
- _cp $srcdir/install/$f $pkgdir/$f
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
done
}
+#=========================================
package_bareos-database-tools() {
+ conflicts=("bareos-database-tools")
pkgdesc="${pkgdesc} - CLI tools with database dpendencies (dbcheck, bscan)"
- depends=("bareos-database-common=$pkgver" 'openssl' 'jansson')
+ depends=("bareos-database-common=${pkgver}" 'openssl' 'jansson')
for f in \
usr/bin/bareos-dbcheck \
@@ -251,20 +299,25 @@ package_bareos-database-tools() {
usr/share/man/man8/bareos-dbcheck.8 \
usr/share/man/man8/bscan.8 \
; do
- _cp $srcdir/install/$f $pkgdir/$f
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
done
}
+#=========================================
package_bareos-devel() {
+ conflicts=("bareos-devel")
pkgdesc="${pkgdesc} - Devel headers"
arch=(any)
# TODO
- install -d $pkgdir/usr/include/bareos
+ install -d ${pkgdir}/usr/include/bareos
+ install -m640 ${srcdir}/install/usr/include/bareos/* ${pkgdir}/usr/include/bareos
}
+#=========================================
package_bareos-director() {
+ conflicts=("bareos-director")
pkgdesc="${pkgdesc} - Director daemon"
- depends=("bareos-common=$pkgver" 'openssl' 'bash' 'jansson')
+ depends=("bareos-common=${pkgver}" 'openssl' 'bash' 'jansson')
install=bareos-director.install
for f in \
@@ -301,29 +354,34 @@ package_bareos-director() {
; do
# pacman LINT tool currently does not like spaces
space_removal=`echo $f | tr ' ' '_'`
- _cp "$srcdir/install/$f" "$pkgdir/$space_removal"
+ _cp "${srcdir}/install/$f" "${pkgdir}/${space_removal}"
done
# Currently upstream systemd file does not automatically create run directory
- sed -i '/\[Service\]/a RuntimeDirectory=bareos' $srcdir/bareos/core/platforms/systemd/bareos-dir.service
- _cp $srcdir/bareos/core/platforms/systemd/bareos-dir.service $pkgdir/usr/lib/systemd/system/bareos-dir.service
+ sed -i '/\[Service\]/a RuntimeDirectory=bareos' ${srcdir}/bareos/core/platforms/systemd/bareos-dir.service
+ _cp ${srcdir}/bareos/core/platforms/systemd/bareos-dir.service ${pkgdir}/usr/lib/systemd/system/bareos-dir.service
+ _cp ${srcdir}/install/etc/logrotate.d ${pkgdir}/etc/logrotate.d
}
+#=========================================
package_bareos-storage-fifo() {
+ conflicts=("bareos-storage-fifo")
pkgdesc="${pkgdesc} - FIFO support for storage daemon"
- depends=("bareos-storage=$pkgver" 'zlib' 'libcap' 'openssl' 'jansson' 'lzo')
+ depends=("bareos-storage=${pkgver}" 'zlib' 'libcap' 'openssl' 'jansson' 'lzo')
for f in \
usr/lib/bareos/backends/libbareossd-fifo.so \
usr/share/bareos/config/bareos-dir.d/storage/NULL.conf.example \
usr/share/bareos/config/bareos-sd.d/device/NULL.conf.example \
; do
- _cp $srcdir/install/$f $pkgdir/$f
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
done
}
+#=========================================
package_bareos-tools() {
+ conflicts=("bareos-tools")
pkgdesc="${pkgdesc} - CLI tools (bcopy, bextract, bls, bregeq, bwild)"
- depends=("bareos-common=$pkgver" 'glibc')
+ depends=("bareos-common=${pkgver}" 'glibc')
for f in \
usr/bin/bregex \
@@ -339,13 +397,15 @@ package_bareos-tools() {
usr/share/man/man8/bls.8 \
usr/share/man/man8/bpluginfo.8 \
; do
- _cp $srcdir/install/$f $pkgdir/$f
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
done
}
+#=========================================
package_bareos-filedaemon() {
+ conflicts=("bareos-filedaemon")
pkgdesc="${pkgdesc} - File daemon"
- depends=("bareos-common=$pkgver" 'jansson' 'zlib' 'gcc-libs')
+ depends=("bareos-common=${pkgver}" 'jansson' 'zlib' 'gcc-libs')
groups+=('bareos-client')
install=bareos-filedaemon.install
@@ -358,17 +418,19 @@ package_bareos-filedaemon() {
usr/lib/bareos/plugins/bpipe-fd.so \
usr/share/man/man8/bareos-fd.8 \
; do
- _cp $srcdir/install/$f $pkgdir/$f
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
done
# Currently upstream systemd file does not automatically create run directory
- sed -i '/\[Service\]/a RuntimeDirectory=bareos' $srcdir/bareos/core/platforms/systemd/bareos-fd.service
- _cp $srcdir/bareos/core/platforms/systemd/bareos-fd.service $pkgdir/usr/lib/systemd/system/bareos-fd.service
+ sed -i '/\[Service\]/a RuntimeDirectory=bareos' ${srcdir}/bareos/core/platforms/systemd/bareos-fd.service
+ _cp ${srcdir}/bareos/core/platforms/systemd/bareos-fd.service ${pkgdir}/usr/lib/systemd/system/bareos-fd.service
}
+#=========================================
package_bareos-storage() {
+ conflicts=("bareos-storage")
pkgdesc="${pkgdesc} - Storage daemon"
- depends=("bareos-common=$pkgver" 'zlib' 'lzo' 'jansson' 'openssl' 'libcap')
+ depends=("bareos-common=${pkgver}" 'zlib' 'lzo' 'jansson' 'openssl' 'libcap')
install=bareos-storage.install
for f in \
@@ -383,18 +445,20 @@ package_bareos-storage() {
usr/share/man/man8/bareos-sd.8 \
usr/lib/bareos/libbareossd.so \
; do
- _cp $srcdir/install/$f $pkgdir/$f
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
done
- install -d $pkgdir/var/lib/bareos/storage
+ install -d -m750 ${pkgdir}/var/lib/bareos/storage
# Currently upstream systemd file does not automatically create run directory
- sed -i '/\[Service\]/a RuntimeDirectory=bareos' $srcdir/bareos/core/platforms/systemd/bareos-sd.service
- _cp $srcdir/bareos/core/platforms/systemd/bareos-sd.service $pkgdir/usr/lib/systemd/system/bareos-sd.service
+ sed -i '/\[Service\]/a RuntimeDirectory=bareos' ${srcdir}/bareos/core/platforms/systemd/bareos-sd.service
+ _cp ${srcdir}/bareos/core/platforms/systemd/bareos-sd.service ${pkgdir}/usr/lib/systemd/system/bareos-sd.service
}
+#=========================================
package_bareos-storage-tape() {
+ conflicts=("bareos-storage-tape")
pkgdesc="${pkgdesc} - Tape support for storage daemon"
- depends=("bareos-storage=$pkgver" 'zlib' 'libcap' 'bash' 'openssl' 'jansson' 'lzo' "mtx")
+ depends=("bareos-storage=${pkgver}" 'zlib' 'libcap' 'bash' 'openssl' 'jansson' 'lzo' "mtx")
backup=(etc/bareos/mtx-changer.conf)
for f in \
@@ -410,77 +474,223 @@ package_bareos-storage-tape() {
usr/bin/bscrypto \
usr/bin/btape \
; do
- _cp $srcdir/install/$f $pkgdir/$f
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
done
}
-package_bareos-director-python-plugin() {
- pkgdesc="${pkgdesc} - Python plugin for director daemon"
- depends=("bareos-director=$pkgver" 'libcap' 'jansson' 'lzo' 'python' 'python2')
+#=========================================
+package_bareos-director-python-plugins-common() {
+ conflicts=("bareos-director-python-plugins-common")
+ pkgdesc="${pkgdesc} - This package contains the common files for the python 2 and python 3 director plugins"
+ depends=("bareos-director=${pkgver}")
for f in \
- usr/lib/bareos/plugins/python-dir.so \
- usr/lib/bareos/plugins/bareos-dir.py.template \
- usr/lib/bareos/plugins/bareos_dir_consts.py \
- usr/lib/bareos/plugins/BareosDirWrapper.py \
usr/lib/bareos/plugins/BareosDirPluginBaseclass.py \
usr/lib/bareos/plugins/bareos-dir-class-plugin.py \
+ usr/lib/bareos/plugins/BareosDirWrapper.py \
; do
- _cp $srcdir/install/$f $pkgdir/$f
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
done
}
-package_bareos-filedaemon-python-plugin() {
- pkgdesc="${pkgdesc} - Python plugin for file daemon"
- depends=("bareos-filedaemon=$pkgver" 'python' 'python2' 'libcap' 'lzo' 'jansson')
+#=========================================
+package_bareos-filedaemon-python-plugins-common() {
+ conflicts=("bareos-filedaemon-python-plugins-common")
+ pkgdesc="${pkgdesc} - This package contains the common files for the python 2 and python 3 filedaemon plugins"
+ depends=("bareos-filedaemon=${pkgver}")
for f in \
- usr/lib/bareos/plugins/python-fd.so \
- usr/lib/bareos/plugins/bareos-fd.py.template \
usr/lib/bareos/plugins/bareos-fd-local-fileset.py \
- usr/lib/bareos/plugins/bareos-fd-mock-test.py \
usr/lib/bareos/plugins/BareosFdPluginBaseclass.py \
usr/lib/bareos/plugins/BareosFdPluginLocalFileset.py \
+ usr/lib/bareos/plugins/BareosFdPluginLocalFilesBaseclass.py \
usr/lib/bareos/plugins/BareosFdWrapper.py \
- usr/lib/bareos/plugins/bareos_fd_consts.py \
; do
- _cp $srcdir/install/$f $pkgdir/$f
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
done
}
-package_bareos-storage-python-plugin() {
- pkgdesc="${pkgdesc} - Python plugin for storage daemon"
- depends=("bareos-storage=$pkgver" 'python2' 'lzo' 'python' 'libcap' 'jansson')
+#=========================================
+package_bareos-storage-python-plugins-common() {
+ conflicts=("bareos-storage-python-plugins-common")
+ pkgdesc="${pkgdesc} - This package contains the common files for the python 2 and python 3 storage plugins"
+ depends=("bareos-storage=${pkgver}")
for f in \
- usr/lib/bareos/plugins/python-sd.so \
- usr/lib/bareos/plugins/bareos-sd.py.template \
- usr/lib/bareos/plugins/bareos_sd_consts.py \
usr/lib/bareos/plugins/BareosSdPluginBaseclass.py \
usr/lib/bareos/plugins/BareosSdWrapper.py \
usr/lib/bareos/plugins/bareos-sd-class-plugin.py \
; do
- _cp $srcdir/install/$f $pkgdir/$f
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
+ done
+}
+
+#=========================================
+package_bareos-director-python2-plugin() {
+ conflicts=("bareos-director-python-plugin"
+ "bareos-director-python-plugin")
+ pkgdesc="${pkgdesc} - Python plugin for director daemon"
+ depends=("bareos-director=${pkgver}"
+ "bareos-director-python-plugins-common=${pkgver}"
+ 'python2' 'libcap' 'jansson' 'lzo')
+
+ for f in \
+ usr/lib/bareos/plugins/python-dir.so \
+ usr/lib/python2.7/site-packages/bareosdir.so \
+ ; do
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
+ done
+}
+
+#=========================================
+package_bareos-director-python3-plugin() {
+ conflicts=("bareos-director-python-plugin"
+ "bareos-director-python-plugin")
+ pkgdesc="${pkgdesc} - Python plugin for director daemon"
+ depends=("bareos-director=${pkgver}"
+ "bareos-director-python-plugins-common=${pkgver}"
+ 'python' 'libcap' 'jansson' 'lzo')
+
+ for f in \
+ usr/lib/bareos/plugins/python3-dir.so \
+ usr/lib/python${python3_ver}/site-packages/bareosdir.cpython-${python3_ver//\./}-x86_64-linux-gnu.so \
+ ; do
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
+ done
+}
+
+#=========================================
+package_bareos-filedaemon-python2-plugin() {
+ conflicts=("bareos-filedaemon-python-plugin"
+ "bareos-filedaemon-python-plugin")
+ pkgdesc="${pkgdesc} - Python plugin for file daemon"
+ depends=("bareos-filedaemon=${pkgver}"
+ "bareos-filedaemon-python-plugins-common=${pkgver}"
+ 'python2' 'libcap' 'lzo' 'jansson')
+
+ for f in \
+ usr/lib/bareos/plugins/python-fd.so \
+ usr/lib/python2.7/site-packages/bareosfd.so \
+ ; do
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
+ done
+}
+
+#=========================================
+package_bareos-filedaemon-python3-plugin() {
+ conflicts=("bareos-filedaemon-python-plugin"
+ "bareos-filedaemon-python-plugin")
+ pkgdesc="${pkgdesc} - Python plugin for file daemon"
+ depends=("bareos-filedaemon=${pkgver}"
+ "bareos-filedaemon-python-plugins-common=${pkgver}"
+ 'python' 'libcap' 'lzo' 'jansson')
+
+ for f in \
+ usr/lib/bareos/plugins/python3-fd.so \
+ usr/lib/python${python3_ver}/site-packages/bareosfd.cpython-${python3_ver//\./}-x86_64-linux-gnu.so \
+ ; do
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
+ done
+}
+
+#=========================================
+package_bareos-storage-python2-plugin() {
+ conflicts=("bareos-storage-python-plugin"
+ "bareos-storage-python-plugin")
+ pkgdesc="${pkgdesc} - Python plugin for storage daemon"
+ depends=("bareos-storage=${pkgver}"
+ "bareos-storage-python-plugins-common=${pkgver}"
+ 'python2' 'lzo' 'libcap' 'jansson')
+
+ for f in \
+ usr/lib/bareos/plugins/python-sd.so \
+ usr/lib/python2.7/site-packages/bareossd.so \
+ ; do
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
+ done
+}
+
+#=========================================
+package_bareos-storage-python3-plugin() {
+ conflicts=("bareos-storage-python-plugin"
+ "bareos-storage-python-plugin")
+ pkgdesc="${pkgdesc} - Python plugin for storage daemon"
+ depends=("bareos-storage=${pkgver}"
+ "bareos-storage-python-plugins-common=${pkgver}"
+ 'python' 'lzo' 'libcap' 'jansson')
+
+ for f in \
+ usr/lib/bareos/plugins/python3-sd.so \
+ usr/lib/python${python3_ver}/site-packages/bareossd.cpython-${python3_ver//\./}-x86_64-linux-gnu.so \
+ ; do
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
+ done
+}
+
+#=========================================
+package_bareos-filedaemon-ldap-python-plugin() {
+ conflicts=("bareos-filedaemon-ldap-python-plugin")
+ pkgdesc="${pkgdesc} - LDAP Python plugin for Bareos File daemon"
+ depends=("bareos-filedaemon=${pkgver}"
+ "bareos-filedaemon-python3-plugin=${pkgver}"
+ 'python-ldap')
+ #backup=("etc/bareos/bareos-dir.d/plugin-python-ldap.conf")
+
+ for f in \
+ usr/lib/bareos/plugins/bareos-fd-ldap.py \
+ usr/lib/bareos/plugins/BareosFdPluginLDAP.py \
+ usr/share/bareos/config/bareos-dir.d/fileset/plugin-ldap.conf.example \
+ usr/share/bareos/config/bareos-dir.d/job/backup-ldap.conf.example \
+ usr/share/bareos/config/bareos-dir.d/job/restore-ldap.conf.example \
+ ; do
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
done
}
+#=========================================
+package_bareos-traymonitor() {
+ groups+=("bareos-client")
+ conflicts=("bareos-traymonitor")
+ pkgdesc="${pkgdesc} - This package contains the tray monitor (QT based)"
+ depends=("bareos-common=${pkgver}")
+ #backup=("etc/bareos/tray-monitor.d/tray-monitor.conf")
+ install=bareos-traymonitor.install
+
+ install -d -m750 ${pkgdir}/etc/bareos/tray-monitor.d/monitor
+
+ for f in \
+ usr/bin/bareos-tray-monitor \
+ usr/share/man/man1/bareos-tray-monitor.1 \
+ usr/share/applications/bareos-tray-monitor.desktop \
+ etc/xdg/autostart/bareos-tray-monitor.desktop \
+ usr/share/pixmaps/bareos-tray-monitor.png \
+ ; do
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
+ done
+}
+
+#=========================================
package_bareos-webui() {
+
+ conflicts=("bareos-webui")
pkgdesc="${pkgdesc} - Webui (Bareos web administration)"
- depends=('php' 'php-fpm' 'jansson')
- optdepend=('nginx' 'apache')
+ depends=('php7' 'php7-fpm' 'jansson')
+ optdepend=('nginx' 'php7-apache')
backup=('etc/bareos-webui/directors.ini'
'etc/bareos-webui/configuration.ini'
'etc/bareos/bareos-dir.d/console/admin.conf.example'
- 'etc/bareos/bareos-dir.d/profile/webui-admin.conf')
-
- _cp $srcdir/install/bareos-webui $pkgdir/usr/share/webapps/bareos-webui
- _cp $srcdir/install/etc/httpd/conf.d/bareos-webui.conf $pkgdir/etc/httpd/conf.d/extra/bareos-webui.conf
+ 'etc/bareos/bareos-dir.d/profile/webui-admin.conf'
+ 'etc/httpd/conf/extra/bareos-webui.conf')
+ _cp ${srcdir}/install/usr/share/bareos-webui ${pkgdir}/usr/share/webapps/bareos-webui
+ sed -e "s|usr/share/bareos-webui/public|usr/share/webapps/bareos-webui/public|g" -i ${srcdir}/install/etc/httpd/conf.d/bareos-webui.conf
+ _cp ${srcdir}/install/etc/httpd/conf.d/bareos-webui.conf ${pkgdir}/etc/httpd/conf/extra/bareos-webui.conf
for f in \
etc/bareos/bareos-dir.d/console/admin.conf.example \
etc/bareos/bareos-dir.d/profile/webui-admin.conf \
etc/bareos-webui \
; do
- _cp $srcdir/install/$f $pkgdir/$f
+ _cp ${srcdir}/install/$f ${pkgdir}/$f
done
+ cp ${srcdir}/bootstrap-table-locale-all.min.js ${pkgdir}/usr/share/webapps/bareos-webui/public/js/bootstrap-table-locale-all.min.js
}
diff --git a/PoolModel.patch b/PoolModel.patch
new file mode 100644
index 000000000000..91acadf3f497
--- /dev/null
+++ b/PoolModel.patch
@@ -0,0 +1,15 @@
+--- a/webui/module/Pool/src/Pool/Model/PoolModel.php 2021-06-10 16:18:18.371213388 +0300
++++ b/webui/module/Pool/src/Pool/Model/PoolModel.php 2021-06-11 00:44:00.000000000 +0300
+@@ -146,9 +146,10 @@
+ if(isset($bsock, $pool)) {
+ $cmd = 'show pool="'.$pool.'"';
+ $result = $bsock->send_command($cmd, 0);
+-
+ $matches = [];
+- preg_match('/\s*Next\s*Pool\s*=\s*("|\')?(?<value>.*)(?(1)\1|)/i', $result, $matches);
++ //preg_match('/\s*Next\s*Pool\s*=\s*("|\')?(?<value>.*)(?(1)\1|)/i', $result, $matches);
++ preg_match('/\s*Pool\s*=?(?<value>.*)(?(1)\1|)/i', $result, $matches);
++ //print_r($matches);
+ return $matches["value"];
+ }
+ else {
diff --git a/bareos-bconsole.install b/bareos-bconsole.install
index 0b1c1d30f095..6ed905511cb0 100644
--- a/bareos-bconsole.install
+++ b/bareos-bconsole.install
@@ -1,10 +1,8 @@
## arg 1: the new package version
post_install() {
- /usr/lib/bareos/scripts/bareos-config initialize_local_hostname
- /usr/lib/bareos/scripts/bareos-config initialize_passwords
-
- chown root:bareos /usr/share/bareos/config/bconsole.conf
- chmod 640 /usr/share/bareos/config/bconsole.conf
+ /usr/lib/bareos/scripts/bareos-config initialize_local_hostname
+ /usr/lib/bareos/scripts/bareos-config initialize_passwords
+ chown root:bareos /etc/bareos/bconsole.conf
}
post_upgrade() {
diff --git a/bareos-common.install b/bareos-common.install
index 42615708110f..0e8b84e07925 100644
--- a/bareos-common.install
+++ b/bareos-common.install
@@ -1,31 +1,31 @@
# arg 1: the new package version
pre_install() {
- # Create User/Group
- getent group bareos > /dev/null || groupadd --system bareos
- getent passwd bareos > /dev/null || useradd --system --gid bareos \
- --home-dir /var/lib/bareos --no-create-home bareos
-
+ # Create User/Group
+ getent group bareos > /dev/null || groupadd --system bareos
+ getent passwd bareos > /dev/null || useradd --system --gid bareos \
+ --home-dir /var/lib/bareos --no-create-home bareos
}
# arg 1: the new package version
post_install() {
- chown bareos:bareos /var/lib/bareos/
- chown bareos:bareos /run/bareos/
- #chown bareos:bareos /var/log/bareos/
+ chown bareos:bareos /etc/bareos/
+ chown bareos:bareos /var/lib/bareos/
+ chown bareos:bareos /run/bareos/
+ chown bareos:bareos /var/log/bareos/
}
# arg 1: the new package version
# arg 2: the old package version
pre_upgrade() {
- pre_install
+ pre_install
}
post_upgrade() {
- post_install
+ post_install
}
# arg 1: the old package version
post_remove() {
- getent passwd bareos > /dev/null && userdel bareos
- rm -f /etc/bareos/.rndpwd
+ getent passwd bareos > /dev/null && userdel bareos
+ rm -f /etc/bareos/.rndpwd
}
diff --git a/bareos-database-mysql.install b/bareos-database-mysql.install
index dcfdf0406c65..9cebd5f8b7a2 100644
--- a/bareos-database-mysql.install
+++ b/bareos-database-mysql.install
@@ -3,22 +3,19 @@ coloroff='\e[0m'
# arg 0: the new package version
post_install() {
- echo -e "${yellow}NOTE: Please see documentation (section 2.4.2) to setup database:${coloroff}"
- #echo -e "${yellow} http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-400002.4.2${coloroff}"
- echo -e "${yellow} http://download.bareos.org/bareos/release/17.2/documentation/html/bareos-manual-main-reference.html#QQ2-1-47${coloroff}"
+ echo -e "${yellow}NOTE: Please see documentation (section 2.4.2) to setup database:${coloroff}"
+ echo -e "${yellow} http://download.bareos.org/bareos/release/17.2/documentation/html/bareos-manual-main-reference.html#QQ2-1-47${coloroff}"
}
# arg 0: the new package version
# arg 2: the old package version
post_upgrade() {
- #echo -e "${yellow}NOTE: Please see documentation (section) 3.1.2 to update database${coloroff}"
- #echo -e "${yellow} http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-450003.1.2${coloroff}"
- echo -e "${yellow}NOTE: Please see documentation (section) 4.2.2 to update database${coloroff}"
- echo -e "${yellow} http://download.bareos.org/bareos/release/17.2/documentation/html/bareos-manual-main-reference.html#x1-710004.2.2${coloroff}"
+ echo -e "${yellow}NOTE: Please see documentation (section) 4.2.2 to update database${coloroff}"
+ echo -e "${yellow} http://download.bareos.org/bareos/release/17.2/documentation/html/bareos-manual-main-reference.html#x1-710004.2.2${coloroff}"
}
# arg 0: the old package version
post_remove() {
- echo -e "${yellow}NOTE: To remove all traces of bareos please delete the bareos database.${coloroff}"
+ echo -e "${yellow}NOTE: To remove all traces of bareos please delete the bareos database.${coloroff}"
}
diff --git a/bareos-database-postgresql.install b/bareos-database-postgresql.install
index dcfdf0406c65..aeeca1886316 100644
--- a/bareos-database-postgresql.install
+++ b/bareos-database-postgresql.install
@@ -3,22 +3,18 @@ coloroff='\e[0m'
# arg 0: the new package version
post_install() {
- echo -e "${yellow}NOTE: Please see documentation (section 2.4.2) to setup database:${coloroff}"
- #echo -e "${yellow} http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-400002.4.2${coloroff}"
- echo -e "${yellow} http://download.bareos.org/bareos/release/17.2/documentation/html/bareos-manual-main-reference.html#QQ2-1-47${coloroff}"
-
+ echo -e "${yellow}NOTE: Please see documentation (section 2.4.2) to setup database:${coloroff}"
+ echo -e "${yellow} http://download.bareos.org/bareos/release/17.2/documentation/html/bareos-manual-main-reference.html#QQ2-1-47${coloroff}"
}
# arg 0: the new package version
# arg 2: the old package version
post_upgrade() {
- #echo -e "${yellow}NOTE: Please see documentation (section) 3.1.2 to update database${coloroff}"
- #echo -e "${yellow} http://doc.bareos.org/master/html/bareos-manual-main-reference.html#x1-450003.1.2${coloroff}"
- echo -e "${yellow}NOTE: Please see documentation (section) 4.2.2 to update database${coloroff}"
- echo -e "${yellow} http://download.bareos.org/bareos/release/17.2/documentation/html/bareos-manual-main-reference.html#x1-710004.2.2${coloroff}"
+ echo -e "${yellow}NOTE: Please see documentation (section) 4.2.2 to update database${coloroff}"
+ echo -e "${yellow} http://download.bareos.org/bareos/release/17.2/documentation/html/bareos-manual-main-reference.html#x1-710004.2.2${coloroff}"
}
# arg 0: the old package version
post_remove() {
- echo -e "${yellow}NOTE: To remove all traces of bareos please delete the bareos database.${coloroff}"
+ echo -e "${yellow}NOTE: To remove all traces of bareos please delete the bareos database.${coloroff}"
}
diff --git a/bareos-director.install b/bareos-director.install
index 518d7869abf8..d7d6f79c289d 100644
--- a/bareos-director.install
+++ b/bareos-director.install
@@ -1,22 +1,15 @@
## arg 1: the new package version
post_install() {
- /usr/lib/bareos/scripts/bareos-config initialize_local_hostname
- /usr/lib/bareos/scripts/bareos-config initialize_passwords
+ /usr/lib/bareos/scripts/bareos-config initialize_local_hostname
+ /usr/lib/bareos/scripts/bareos-config initialize_passwords
- chown -R bareos:bareos /usr/share/bareos/config/bareos-dir.d
- chmod -R 750 /usr/share/bareos/config/bareos-dir.d
+ chown -R bareos:bareos /usr/share/bareos/config/bareos-dir.d
+ chown bareos:bareos /usr/bin/bareos-dir
- chown bareos:bareos /usr/bin/bareos-dir
-
- /usr/lib/bareos/scripts/bareos-config initialize_database_driver
- /usr/lib/bareos/scripts/bareos-config apply_dbconfig_settings
-
- #for dir in /etc/bareos/bareos-dir-export/ /etc/bareos/bareos-dir-export/client; do
- #chown bareos:bareos "$dir"
- #chmod 750 "$dir"
- #done
+ /usr/lib/bareos/scripts/bareos-config initialize_database_driver
+ /usr/lib/bareos/scripts/bareos-config apply_dbconfig_settings
}
post_upgrade() {
- post_install
+ post_install
}
diff --git a/bareos-filedaemon.install b/bareos-filedaemon.install
index bfd1ca0f15ed..e071d9896ba0 100644
--- a/bareos-filedaemon.install
+++ b/bareos-filedaemon.install
@@ -1,9 +1,9 @@
## arg 1: the new package version
post_install() {
- /usr/lib/bareos/scripts/bareos-config initialize_local_hostname
- /usr/lib/bareos/scripts/bareos-config initialize_passwords
+ /usr/lib/bareos/scripts/bareos-config initialize_local_hostname
+ /usr/lib/bareos/scripts/bareos-config initialize_passwords
}
post_upgrade() {
- post_install
+ post_install
}
diff --git a/bareos-storage.install b/bareos-storage.install
index 8026ef6fadec..d4326a0d33e3 100644
--- a/bareos-storage.install
+++ b/bareos-storage.install
@@ -1,19 +1,17 @@
## arg 1: the new package version
post_install() {
- /usr/lib/bareos/scripts/bareos-config initialize_local_hostname
- /usr/lib/bareos/scripts/bareos-config initialize_passwords
+ /usr/lib/bareos/scripts/bareos-config initialize_local_hostname
+ /usr/lib/bareos/scripts/bareos-config initialize_passwords
- chown -R bareos:bareos /usr/share/bareos/config/bareos-sd.d
- chmod -R 750 /usr/share/bareos/config/bareos-sd.d
+ chown -R bareos:bareos /usr/share/bareos/config/bareos-sd.d
+ chown bareos:bareos /usr/bin/bareos-sd
- chown bareos:bareos /usr/bin/bareos-sd
+ chown bareos:bareos /var/lib/bareos/storage/
+ chmod 750 /var/lib/bareos/storage/
- chown bareos:bareos /var/lib/bareos/storage/
- chmod 750 /var/lib/bareos/storage/
-
- /usr/lib/bareos/scripts/bareos-config setup_sd_user
+ /usr/lib/bareos/scripts/bareos-config setup_sd_user
}
post_upgrade() {
- post_install
+ post_install
}
diff --git a/bareos-traymonitor.install b/bareos-traymonitor.install
new file mode 100644
index 000000000000..f67bb96586c2
--- /dev/null
+++ b/bareos-traymonitor.install
@@ -0,0 +1,10 @@
+## arg 1: the new package version
+post_install() {
+ /usr/lib/bareos/scripts/bareos-config initialize_local_hostname
+ /usr/lib/bareos/scripts/bareos-config initialize_passwords
+ #chown root:bareos /etc/bareos/bconsole.conf
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/bootstrap-table-locale-all.min.js b/bootstrap-table-locale-all.min.js
new file mode 100644
index 000000000000..91f2b0276d65
--- /dev/null
+++ b/bootstrap-table-locale-all.min.js
@@ -0,0 +1,10 @@
+/**
+* bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation)
+*
+* @version v1.15.5
+* @homepage https://bootstrap-table.com
+* @author wenzhixin <wenzhixin2010@gmail.com> (http://wenzhixin.net.cn/)
+* @license MIT
+*/
+
+!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],n):n((t=t||self).jQuery)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function o(t,n){return t(n={exports:{}},n.exports),n.exports}var r,e,a,c,i="object",u=function(t){return t&&t.Math==Math&&t},f=u(typeof globalThis==i&&globalThis)||u(typeof window==i&&window)||u(typeof self==i&&self)||u(typeof n==i&&n)||Function("return this")(),l=function(t){try{return!!t()}catch(t){return!0}},s=!l((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})),m={}.propertyIsEnumerable,g=Object.getOwnPropertyDescriptor,d={f:g&&!m.call({1:2},1)?function(t){var n=g(this,t);return!!n&&n.enumerable}:m},h=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},p={}.toString,S=function(t){return p.call(t).slice(8,-1)},w="".split,T=l((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==S(t)?w.call(t,""):Object(t)}:Object,P=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},R=function(t){return T(P(t))},v=function(t){return"object"==typeof t?null!==t:"function"==typeof t},A=function(t,n){if(!v(t))return t;var o,r;if(n&&"function"==typeof(o=t.toString)&&!v(r=o.call(t)))return r;if("function"==typeof(o=t.valueOf)&&!v(r=o.call(t)))return r;if(!n&&"function"==typeof(o=t.toString)&&!v(r=o.call(t)))return r;throw TypeError("Can't convert object to primitive value")},x={}.hasOwnProperty,b=function(t,n){return x.call(t,n)},C=f.document,O=v(C)&&v(C.createElement),k=!s&&!l((function(){return 7!=Object.defineProperty((t="div",O?C.createElement(t):{}),"a",{get:function(){return 7}}).a;var t})),E=Object.getOwnPropertyDescriptor,M={f:s?E:function(t,n){if(t=R(t),n=A(n,!0),k)try{return E(t,n)}catch(t){}if(b(t,n))return h(!d.f.call(t,n),t[n])}},N=function(t){if(!v(t))throw TypeError(String(t)+" is not an object");return t},y=Object.defineProperty,D={f:s?y:function(t,n,o){if(N(t),n=A(n,!0),N(o),k)try{return y(t,n,o)}catch(t){}if("get"in o||"set"in o)throw TypeError("Accessors not supported");return"value"in o&&(t[n]=o.value),t}},H=s?function(t,n,o){return D.f(t,n,h(1,o))}:function(t,n,o){return t[n]=o,t},F=function(t,n){try{H(f,t,n)}catch(o){f[t]=n}return n},L=o((function(t){var n=f["__core-js_shared__"]||F("__core-js_shared__",{});(t.exports=function(t,o){return n[t]||(n[t]=void 0!==o?o:{})})("versions",[]).push({version:"3.1.3",mode:"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})})),B=L("native-function-to-string",Function.toString),z=f.WeakMap,j="function"==typeof z&&/native code/.test(B.call(z)),U=0,G=Math.random(),J=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++U+G).toString(36)},V=L("keys"),Z={},K=f.WeakMap;if(j){var I=new K,q=I.get,_=I.has,W=I.set;r=function(t,n){return W.call(I,t,n),n},e=function(t){return q.call(I,t)||{}},a=function(t){return _.call(I,t)}}else{var Y=V[c="state"]||(V[c]=J(c));Z[Y]=!0,r=function(t,n){return H(t,Y,n),n},e=function(t){return b(t,Y)?t[Y]:{}},a=function(t){return b(t,Y)}}var Q,X={set:r,get:e,has:a,enforce:function(t){return a(t)?e(t):r(t,{})},getterFor:function(t){return function(n){var o;if(!v(n)||(o=e(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return o}}},$=o((function(t){var n=X.get,o=X.enforce,r=String(B).split("toString");L("inspectSource",(function(t){return B.call(t)})),(t.exports=function(t,n,e,a){var c=!!a&&!!a.unsafe,i=!!a&&!!a.enumerable,u=!!a&&!!a.noTargetGet;"function"==typeof e&&("string"!=typeof n||b(e,"name")||H(e,"name",n),o(e).source=r.join("string"==typeof n?n:"")),t!==f?(c?!u&&t[n]&&(i=!0):delete t[n],i?t[n]=e:H(t,n,e)):i?t[n]=e:F(n,e)})(Function.prototype,"toString",(function(){return"function"==typeof this&&n(this).source||B.call(this)}))})),tt=f,nt=function(t){return"function"==typeof t?t:void 0},ot=Math.ceil,rt=Math.floor,et=function(t){return isNaN(t=+t)?0:(t>0?rt:ot)(t)},at=Math.min,ct=function(t){return t>0?at(et(t),9007199254740991):0},it=Math.max,ut=Math.min,ft=function(t){return function(n,o,r){var e,a=R(n),c=ct(a.length),i=function(t,n){var o=et(t);return o<0?it(o+n,0):ut(o,n)}(r,c);if(t&&o!=o){for(;c>i;)if((e=a[i++])!=e)return!0}else for(;c>i;i++)if((t||i in a)&&a[i]===o)return t||i||0;return!t&&-1}},lt={includes:ft(!0),indexOf:ft(!1)}.indexOf,st=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"].concat("length","prototype"),mt={f:Object.getOwnPropertyNames||function(t){return function(t,n){var o,r=R(t),e=0,a=[];for(o in r)!b(Z,o)&&b(r,o)&&a.push(o);for(;n.length>e;)b(r,o=n[e++])&&(~lt(a,o)||a.push(o));return a}(t,st)}},gt={f:Object.getOwnPropertySymbols},dt=function(t,n){return arguments.length<2?nt(tt[t])||nt(f[t]):tt[t]&&tt[t][n]||f[t]&&f[t][n]}("Reflect","ownKeys")||function(t){var n=mt.f(N(t)),o=gt.f;return o?n.concat(o(t)):n},ht=function(t,n){for(var o=dt(n),r=D.f,e=M.f,a=0;a<o.length;a++){var c=o[a];b(t,c)||r(t,c,e(n,c))}},pt=/#|\.prototype\./,St=function(t,n){var o=Tt[wt(t)];return o==Rt||o!=Pt&&("function"==typeof n?l(n):!!n)},wt=St.normalize=function(t){return String(t).replace(pt,".").toLowerCase()},Tt=St.data={},Pt=St.NATIVE="N",Rt=St.POLYFILL="P",vt=St,At=M.f,xt=Array.isArray||function(t){return"Array"==S(t)},bt=function(t){return Object(P(t))},Ct=function(t,n,o){var r=A(n);r in t?D.f(t,r,h(0,o)):t[r]=o},Ot=!!Object.getOwnPropertySymbols&&!l((function(){return!String(Symbol())})),kt=f.Symbol,Et=L("wks"),Mt=function(t){return Et[t]||(Et[t]=Ot&&kt[t]||(Ot?kt:J)("Symbol."+t))},Nt=Mt("species"),yt=function(t,n){var o;return xt(t)&&("function"!=typeof(o=t.constructor)||o!==Array&&!xt(o.prototype)?v(o)&&null===(o=o[Nt])&&(o=void 0):o=void 0),new(void 0===o?Array:o)(0===n?0:n)},Dt=Mt("species"),Ht=Mt("isConcatSpreadable"),Ft=!l((function(){var t=[];return t[Ht]=!1,t.concat()[0]!==t})),Lt=(Q="concat",!l((function(){var t=[];return(t.constructor={})[Dt]=function(){return{foo:1}},1!==t[Q](Boolean).foo}))),Bt=function(t){if(!v(t))return!1;var n=t[Ht];return void 0!==n?!!n:xt(t)};!function(t,n){var o,r,e,a,c,i=t.target,u=t.global,l=t.stat;if(o=u?f:l?f[i]||F(i,{}):(f[i]||{}).prototype)for(r in n){if(a=n[r],e=t.noTargetGet?(c=At(o,r))&&c.value:o[r],!vt(u?r:i+(l?".":"#")+r,t.forced)&&void 0!==e){if(typeof a==typeof e)continue;ht(a,e)}(t.sham||e&&e.sham)&&H(a,"sham",!0),$(o,r,a,t)}}({target:"Array",proto:!0,forced:!Ft||!Lt},{concat:function(t){var n,o,r,e,a,c=bt(this),i=yt(c,0),u=0;for(n=-1,r=arguments.length;n<r;n++)if(a=-1===n?c:arguments[n],Bt(a)){if(u+(e=ct(a.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(o=0;o<e;o++,u++)o in a&&Ct(i,u,a[o])}else{if(u>=9007199254740991)throw TypeError("Maximum allowed index exceeded");Ct(i,u++,a)}return i.length=u,i}}),t.fn.bootstrapTable.locales["af-ZA"]={formatLoadingMessage:function(){return"Besig om te laai, wag asseblief"},formatRecordsPerPage:function(t){return"".concat(t," rekords per bladsy")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Resultate ".concat(t," tot ").concat(n," van ").concat(o," rye (filtered from ").concat(r," total rows)"):"Resultate ".concat(t," tot ").concat(n," van ").concat(o," rye")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Soek"},formatNoMatches:function(){return"Geen rekords gevind nie"},formatPaginationSwitch:function(){return"Wys/verberg bladsy nummering"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Herlaai"},formatToggle:function(){return"Wissel"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Kolomme"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["af-ZA"]),t.fn.bootstrapTable.locales["ar-SA"]={formatLoadingMessage:function(){return"جاري التحميل, يرجى الإنتظار"},formatRecordsPerPage:function(t){return"".concat(t," سجل لكل صفحة")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"الظاهر ".concat(t," إلى ").concat(n," من ").concat(o," سجل ").concat(r," total rows)"):"الظاهر ".concat(t," إلى ").concat(n," من ").concat(o," سجل")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"بحث"},formatNoMatches:function(){return"لا توجد نتائج مطابقة للبحث"},formatPaginationSwitch:function(){return"إخفاءإظهار ترقيم الصفحات"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"تحديث"},formatToggle:function(){return"تغيير"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"أعمدة"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ar-SA"]),t.fn.bootstrapTable.locales["ca-ES"]={formatLoadingMessage:function(){return"Espereu, si us plau"},formatRecordsPerPage:function(t){return"".concat(t," resultats per pàgina")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Mostrant de ".concat(t," fins ").concat(n," - total ").concat(o," resultats (filtered from ").concat(r," total rows)"):"Mostrant de ".concat(t," fins ").concat(n," - total ").concat(o," resultats")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Cerca"},formatNoMatches:function(){return"No s'han trobat resultats"},formatPaginationSwitch:function(){return"Amaga/Mostra paginació"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refresca"},formatToggle:function(){return"Alterna formatació"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnes"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Tots"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ca-ES"]),t.fn.bootstrapTable.locales["cs-CZ"]={formatLoadingMessage:function(){return"Čekejte, prosím"},formatRecordsPerPage:function(t){return"".concat(t," položek na stránku")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Zobrazena ".concat(t,". - ").concat(n," . položka z celkových ").concat(o," (filtered from ").concat(r," total rows)"):"Zobrazena ".concat(t,". - ").concat(n," . položka z celkových ").concat(o)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Vyhledávání"},formatNoMatches:function(){return"Nenalezena žádná vyhovující položka"},formatPaginationSwitch:function(){return"Skrýt/Zobrazit stránkování"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Aktualizovat"},formatToggle:function(){return"Přepni"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Sloupce"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Vše"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["cs-CZ"]),t.fn.bootstrapTable.locales["da-DK"]={formatLoadingMessage:function(){return"Indlæser, vent venligst"},formatRecordsPerPage:function(t){return"".concat(t," poster pr side")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Viser ".concat(t," til ").concat(n," af ").concat(o," række").concat(o>1?"r":""," (filtered from ").concat(r," total rows)"):"Viser ".concat(t," til ").concat(n," af ").concat(o," række").concat(o>1?"r":"")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Viser ".concat(t," række").concat(t>1?"r":"")},formatClearSearch:function(){return"Ryd filtre"},formatSearch:function(){return"Søg"},formatNoMatches:function(){return"Ingen poster fundet"},formatPaginationSwitch:function(){return"Skjul/vis nummerering"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Opdater"},formatToggle:function(){return"Skift"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Kolonner"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Alle"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Eksporter"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["da-DK"]),t.fn.bootstrapTable.locales["de-DE"]={formatLoadingMessage:function(){return"Lade, bitte warten"},formatRecordsPerPage:function(t){return"".concat(t," Zeilen pro Seite.")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Zeige Zeile ".concat(t," bis ").concat(n," von ").concat(o," Zeile").concat(o>1?"n":""," (Gefiltert von ").concat(r," Zeile").concat(r>1?"n":"",")"):"Zeige Zeile ".concat(t," bis ").concat(n," von ").concat(o," Zeile").concat(o>1?"n":"",".")},formatSRPaginationPreText:function(){return"Vorherige Seite"},formatSRPaginationPageText:function(t){return"Zu Seite ".concat(t)},formatSRPaginationNextText:function(){return"Nächste Seite"},formatDetailPagination:function(t){return"Zeige ".concat(t," Zeile").concat(t>1?"n":"",".")},formatClearSearch:function(){return"Lösche Filter"},formatSearch:function(){return"Suchen"},formatNoMatches:function(){return"Keine passenden Ergebnisse gefunden"},formatPaginationSwitch:function(){return"Verstecke/Zeige Nummerierung"},formatPaginationSwitchDown:function(){return"Zeige Nummerierung"},formatPaginationSwitchUp:function(){return"Verstecke Nummerierung"},formatRefresh:function(){return"Neu laden"},formatToggle:function(){return"Umschalten"},formatToggleOn:function(){return"Normale Ansicht"},formatToggleOff:function(){return"Kartenansicht"},formatColumns:function(){return"Spalten"},formatColumnsToggleAll:function(){return"Alle umschalten"},formatFullscreen:function(){return"Vollbild"},formatAllRows:function(){return"Alle"},formatAutoRefresh:function(){return"Automatisches Neuladen"},formatExport:function(){return"Datenexport"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Erweiterte Suche"},formatAdvancedCloseButton:function(){return"Schließen"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["de-DE"]),t.fn.bootstrapTable.locales["el-GR"]={formatLoadingMessage:function(){return"Φορτώνει, παρακαλώ περιμένετε"},formatRecordsPerPage:function(t){return"".concat(t," αποτελέσματα ανά σελίδα")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Εμφανίζονται από την ".concat(t," ως την ").concat(n," από σύνολο ").concat(o," σειρών (filtered from ").concat(r," total rows)"):"Εμφανίζονται από την ".concat(t," ως την ").concat(n," από σύνολο ").concat(o," σειρών")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Αναζητήστε"},formatNoMatches:function(){return"Δεν βρέθηκαν αποτελέσματα"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refresh"},formatToggle:function(){return"Toggle"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columns"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["el-GR"]),t.fn.bootstrapTable.locales["en-US"]={formatLoadingMessage:function(){return"Loading, please wait"},formatRecordsPerPage:function(t){return"".concat(t," rows per page")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Showing ".concat(t," to ").concat(n," of ").concat(o," rows (filtered from ").concat(r," total rows)"):"Showing ".concat(t," to ").concat(n," of ").concat(o," rows")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Search"},formatNoMatches:function(){return"No matching records found"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refresh"},formatToggle:function(){return"Toggle"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columns"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["en-US"]),t.fn.bootstrapTable.locales["es-AR"]={formatLoadingMessage:function(){return"Cargando, espere por favor"},formatRecordsPerPage:function(t){return"".concat(t," registros por página")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Mostrando ".concat(t," a ").concat(n," de ").concat(o," filas (filtered from ").concat(r," total rows)"):"Mostrando ".concat(t," a ").concat(n," de ").concat(o," filas")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron registros"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refresh"},formatToggle:function(){return"Toggle"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columns"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-AR"]),t.fn.bootstrapTable.locales["es-CL"]={formatLoadingMessage:function(){return"Cargando, espere por favor"},formatRecordsPerPage:function(t){return"".concat(t," filas por página")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Mostrando ".concat(t," a ").concat(n," de ").concat(o," filas (filtered from ").concat(r," total rows)"):"Mostrando ".concat(t," a ").concat(n," de ").concat(o," filas")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron registros"},formatPaginationSwitch:function(){return"Ocultar/Mostrar paginación"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refrescar"},formatToggle:function(){return"Cambiar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-CL"]),t.fn.bootstrapTable.locales["es-CR"]={formatLoadingMessage:function(){return"Cargando, por favor espere"},formatRecordsPerPage:function(t){return"".concat(t," registros por página")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Mostrando de ".concat(t," a ").concat(n," registros de ").concat(o," registros en total (filtered from ").concat(r," total rows)"):"Mostrando de ".concat(t," a ").concat(n," registros de ").concat(o," registros en total")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron registros"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refrescar"},formatToggle:function(){return"Alternar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-CR"]),t.fn.bootstrapTable.locales["es-ES"]={formatLoadingMessage:function(){return"Por favor espere"},formatRecordsPerPage:function(t){return"".concat(t," resultados por página")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Mostrando desde ".concat(t," hasta ").concat(n," - En total ").concat(o," resultados (filtered from ").concat(r," total rows)"):"Mostrando desde ".concat(t," hasta ").concat(n," - En total ").concat(o," resultados")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron resultados"},formatPaginationSwitch:function(){return"Ocultar/Mostrar paginación"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refrescar"},formatToggle:function(){return"Ocultar/Mostrar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todos"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Exportar los datos"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Búsqueda avanzada"},formatAdvancedCloseButton:function(){return"Cerrar"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-ES"]),t.fn.bootstrapTable.locales["es-MX"]={formatLoadingMessage:function(){return"Cargando, espere por favor"},formatRecordsPerPage:function(t){return"".concat(t," registros por página")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Mostrando ".concat(t," a ").concat(n," de ").concat(o," filas (filtered from ").concat(r," total rows)"):"Mostrando ".concat(t," a ").concat(n," de ").concat(o," filas")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Mostrando ".concat(t," filas")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron registros que coincidan"},formatPaginationSwitch:function(){return"Mostrar/ocultar paginación"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Actualizar"},formatToggle:function(){return"Cambiar vista"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Pantalla completa"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-MX"]),t.fn.bootstrapTable.locales["es-NI"]={formatLoadingMessage:function(){return"Cargando, por favor espere"},formatRecordsPerPage:function(t){return"".concat(t," registros por página")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Mostrando de ".concat(t," a ").concat(n," registros de ").concat(o," registros en total (filtered from ").concat(r," total rows)"):"Mostrando de ".concat(t," a ").concat(n," registros de ").concat(o," registros en total")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se encontraron registros"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refrescar"},formatToggle:function(){return"Alternar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-NI"]),t.fn.bootstrapTable.locales["es-SP"]={formatLoadingMessage:function(){return"Cargando, por favor espera"},formatRecordsPerPage:function(t){return"".concat(t," registros por p&#225;gina.")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"".concat(t," - ").concat(n," de ").concat(o," registros (filtered from ").concat(r," total rows)"):"".concat(t," - ").concat(n," de ").concat(o," registros.")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Limpiar búsqueda"},formatSearch:function(){return"Buscar"},formatNoMatches:function(){return"No se han encontrado registros."},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Actualizar"},formatToggle:function(){return"Alternar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columnas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Todo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["es-SP"]),t.fn.bootstrapTable.locales["et-EE"]={formatLoadingMessage:function(){return"Päring käib, palun oota"},formatRecordsPerPage:function(t){return"".concat(t," rida lehe kohta")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Näitan tulemusi ".concat(t," kuni ").concat(n," - kokku ").concat(o," tulemust (filtered from ").concat(r," total rows)"):"Näitan tulemusi ".concat(t," kuni ").concat(n," - kokku ").concat(o," tulemust")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Otsi"},formatNoMatches:function(){return"Päringu tingimustele ei vastanud ühtegi tulemust"},formatPaginationSwitch:function(){return"Näita/Peida lehtedeks jagamine"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Värskenda"},formatToggle:function(){return"Lülita"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Veerud"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Kõik"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["et-EE"]),t.fn.bootstrapTable.locales["eu-EU"]={formatLoadingMessage:function(){return"Itxaron mesedez"},formatRecordsPerPage:function(t){return"".concat(t," emaitza orriko.")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"".concat(o," erregistroetatik ").concat(t,"etik ").concat(n,"erakoak erakusten (filtered from ").concat(r," total rows)"):"".concat(o," erregistroetatik ").concat(t,"etik ").concat(n,"erakoak erakusten.")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Bilatu"},formatNoMatches:function(){return"Ez da emaitzarik aurkitu"},formatPaginationSwitch:function(){return"Ezkutatu/Erakutsi orrikatzea"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Eguneratu"},formatToggle:function(){return"Ezkutatu/Erakutsi"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Zutabeak"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Guztiak"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["eu-EU"]),t.fn.bootstrapTable.locales["fa-IR"]={formatLoadingMessage:function(){return"در حال بارگذاری, لطفا صبر کنید"},formatRecordsPerPage:function(t){return"".concat(t," رکورد در صفحه")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"نمایش ".concat(t," تا ").concat(n," از ").concat(o," ردیف (filtered from ").concat(r," total rows)"):"نمایش ".concat(t," تا ").concat(n," از ").concat(o," ردیف")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"جستجو"},formatNoMatches:function(){return"رکوردی یافت نشد."},formatPaginationSwitch:function(){return"نمایش/مخفی صفحه بندی"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"به روز رسانی"},formatToggle:function(){return"تغییر نمایش"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"سطر ها"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"همه"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fa-IR"]),t.fn.bootstrapTable.locales["fi-FI"]={formatLoadingMessage:function(){return"Ladataan, ole hyvä ja odota"},formatRecordsPerPage:function(t){return"".concat(t," riviä sivulla")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Näytetään rivit ".concat(t," - ").concat(n," / ").concat(o," (filtered from ").concat(r," total rows)"):"Näytetään rivit ".concat(t," - ").concat(n," / ").concat(o)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Poista suodattimet"},formatSearch:function(){return"Hae"},formatNoMatches:function(){return"Hakuehtoja vastaavia tuloksia ei löytynyt"},formatPaginationSwitch:function(){return"Näytä/Piilota sivutus"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Päivitä"},formatToggle:function(){return"Valitse"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Sarakkeet"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Kaikki"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Vie tiedot"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fi-FI"]),t.fn.bootstrapTable.locales["fr-BE"]={formatLoadingMessage:function(){return"Chargement en cours"},formatRecordsPerPage:function(t){return"".concat(t," lignes par page")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes (filtrés à partir de ").concat(r," lignes)"):"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes")},formatSRPaginationPreText:function(){return"page précédente"},formatSRPaginationPageText:function(t){return"vers la page ".concat(t)},formatSRPaginationNextText:function(){return"page suivante"},formatDetailPagination:function(t){return"Affiche ".concat(t," lignes")},formatClearSearch:function(){return"Effacer la recherche"},formatSearch:function(){return"Recherche"},formatNoMatches:function(){return"Pas de lignes trouvés"},formatPaginationSwitch:function(){return"Cacher/Afficher pagination"},formatPaginationSwitchDown:function(){return"Afficher pagination"},formatPaginationSwitchUp:function(){return"Cacher pagination"},formatRefresh:function(){return"Rafraichir"},formatToggle:function(){return"Basculer"},formatToggleOn:function(){return"Afficher vue carte"},formatToggleOff:function(){return"Cacher vue carte"},formatColumns:function(){return"Colonnes"},formatColumnsToggleAll:function(){return"Tout basculer"},formatFullscreen:function(){return"Plein écran"},formatAllRows:function(){return"Tout"},formatAutoRefresh:function(){return"Rafraîchissement automatique"},formatExport:function(){return"Exporter les données"},formatJumpTo:function(){return"Aller à"},formatAdvancedSearch:function(){return"Recherche avancée"},formatAdvancedCloseButton:function(){return"Fermer"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fr-BE"]),t.fn.bootstrapTable.locales["fr-CH"]={formatLoadingMessage:function(){return"Chargement en cours"},formatRecordsPerPage:function(t){return"".concat(t," lignes par page")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes (filtrés à partir de ").concat(r," lignes)"):"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes")},formatSRPaginationPreText:function(){return"page précédente"},formatSRPaginationPageText:function(t){return"vers la page ".concat(t)},formatSRPaginationNextText:function(){return"page suivante"},formatDetailPagination:function(t){return"Affiche ".concat(t," lignes")},formatClearSearch:function(){return"Effacer la recherche"},formatSearch:function(){return"Recherche"},formatNoMatches:function(){return"Pas de lignes trouvés"},formatPaginationSwitch:function(){return"Cacher/Afficher pagination"},formatPaginationSwitchDown:function(){return"Afficher pagination"},formatPaginationSwitchUp:function(){return"Cacher pagination"},formatRefresh:function(){return"Rafraichir"},formatToggle:function(){return"Basculer"},formatToggleOn:function(){return"Afficher vue carte"},formatToggleOff:function(){return"Cacher vue carte"},formatColumns:function(){return"Colonnes"},formatColumnsToggleAll:function(){return"Tout basculer"},formatFullscreen:function(){return"Plein écran"},formatAllRows:function(){return"Tout"},formatAutoRefresh:function(){return"Rafraîchissement automatique"},formatExport:function(){return"Exporter les données"},formatJumpTo:function(){return"Aller à"},formatAdvancedSearch:function(){return"Recherche avancée"},formatAdvancedCloseButton:function(){return"Fermer"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fr-CH"]),t.fn.bootstrapTable.locales["fr-FR"]={formatLoadingMessage:function(){return"Chargement en cours"},formatRecordsPerPage:function(t){return"".concat(t," lignes par page")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes (filtrés à partir de ").concat(r," lignes)"):"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes")},formatSRPaginationPreText:function(){return"page précédente"},formatSRPaginationPageText:function(t){return"vers la page ".concat(t)},formatSRPaginationNextText:function(){return"page suivante"},formatDetailPagination:function(t){return"Affiche ".concat(t," lignes")},formatClearSearch:function(){return"Effacer la recherche"},formatSearch:function(){return"Recherche"},formatNoMatches:function(){return"Pas de lignes trouvés"},formatPaginationSwitch:function(){return"Cacher/Afficher pagination"},formatPaginationSwitchDown:function(){return"Afficher pagination"},formatPaginationSwitchUp:function(){return"Cacher pagination"},formatRefresh:function(){return"Rafraichir"},formatToggle:function(){return"Basculer"},formatToggleOn:function(){return"Afficher vue carte"},formatToggleOff:function(){return"Cacher vue carte"},formatColumns:function(){return"Colonnes"},formatColumnsToggleAll:function(){return"Tout basculer"},formatFullscreen:function(){return"Plein écran"},formatAllRows:function(){return"Tout"},formatAutoRefresh:function(){return"Rafraîchissement automatique"},formatExport:function(){return"Exporter les données"},formatJumpTo:function(){return"Aller à"},formatAdvancedSearch:function(){return"Recherche avancée"},formatAdvancedCloseButton:function(){return"Fermer"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fr-FR"]),t.fn.bootstrapTable.locales["fr-LU"]={formatLoadingMessage:function(){return"Chargement en cours"},formatRecordsPerPage:function(t){return"".concat(t," lignes par page")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes (filtrés à partir de ").concat(r," lignes)"):"Affiche de ".concat(t," à ").concat(n," sur ").concat(o," lignes")},formatSRPaginationPreText:function(){return"page précédente"},formatSRPaginationPageText:function(t){return"vers la page ".concat(t)},formatSRPaginationNextText:function(){return"page suivante"},formatDetailPagination:function(t){return"Affiche ".concat(t," lignes")},formatClearSearch:function(){return"Effacer la recherche"},formatSearch:function(){return"Recherche"},formatNoMatches:function(){return"Pas de lignes trouvés"},formatPaginationSwitch:function(){return"Cacher/Afficher pagination"},formatPaginationSwitchDown:function(){return"Afficher pagination"},formatPaginationSwitchUp:function(){return"Cacher pagination"},formatRefresh:function(){return"Rafraichir"},formatToggle:function(){return"Basculer"},formatToggleOn:function(){return"Afficher vue carte"},formatToggleOff:function(){return"Cacher vue carte"},formatColumns:function(){return"Colonnes"},formatColumnsToggleAll:function(){return"Tout basculer"},formatFullscreen:function(){return"Plein écran"},formatAllRows:function(){return"Tout"},formatAutoRefresh:function(){return"Rafraîchissement automatique"},formatExport:function(){return"Exporter les données"},formatJumpTo:function(){return"Aller à"},formatAdvancedSearch:function(){return"Recherche avancée"},formatAdvancedCloseButton:function(){return"Fermer"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["fr-LU"]),t.fn.bootstrapTable.locales["he-IL"]={formatLoadingMessage:function(){return"טוען, נא להמתין"},formatRecordsPerPage:function(t){return"".concat(t," שורות בעמוד")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"מציג ".concat(t," עד ").concat(n," מ-").concat(o,"שורות").concat(r," total rows)"):"מציג ".concat(t," עד ").concat(n," מ-").concat(o," שורות")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"חיפוש"},formatNoMatches:function(){return"לא נמצאו רשומות תואמות"},formatPaginationSwitch:function(){return"הסתר/הצג מספור דפים"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"רענן"},formatToggle:function(){return"החלף תצוגה"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"עמודות"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"הכל"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["he-IL"]),t.fn.bootstrapTable.locales["hr-HR"]={formatLoadingMessage:function(){return"Molimo pričekajte"},formatRecordsPerPage:function(t){return"".concat(t," broj zapisa po stranici")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Prikazujem ".concat(t,". - ").concat(n,". od ukupnog broja zapisa ").concat(o," (filtered from ").concat(r," total rows)"):"Prikazujem ".concat(t,". - ").concat(n,". od ukupnog broja zapisa ").concat(o)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Pretraži"},formatNoMatches:function(){return"Nije pronađen niti jedan zapis"},formatPaginationSwitch:function(){return"Prikaži/sakrij stranice"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Osvježi"},formatToggle:function(){return"Promijeni prikaz"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Kolone"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Sve"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["hr-HR"]),t.fn.bootstrapTable.locales["hu-HU"]={formatLoadingMessage:function(){return"Betöltés, kérem várjon"},formatRecordsPerPage:function(t){return"".concat(t," rekord per oldal")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Megjelenítve ".concat(t," - ").concat(n," / ").concat(o," összesen (filtered from ").concat(r," total rows)"):"Megjelenítve ".concat(t," - ").concat(n," / ").concat(o," összesen")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Keresés"},formatNoMatches:function(){return"Nincs találat"},formatPaginationSwitch:function(){return"Lapozó elrejtése/megjelenítése"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Frissítés"},formatToggle:function(){return"Összecsuk/Kinyit"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Oszlopok"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Összes"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["hu-HU"]),t.fn.bootstrapTable.locales["id-ID"]={formatLoadingMessage:function(){return"Memuat, mohon tunggu"},formatRecordsPerPage:function(t){return"".concat(t," baris per halaman")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Menampilkan ".concat(t," sampai ").concat(n," dari ").concat(o," baris (filtered from ").concat(r," total rows)"):"Menampilkan ".concat(t," sampai ").concat(n," dari ").concat(o," baris")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Bersihkan filter"},formatSearch:function(){return"Pencarian"},formatNoMatches:function(){return"Tidak ditemukan data yang cocok"},formatPaginationSwitch:function(){return"Sembunyikan/Tampilkan halaman"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Muat ulang"},formatToggle:function(){return"Beralih"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"kolom"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Semua"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Ekspor data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["id-ID"]),t.fn.bootstrapTable.locales["it-IT"]={formatLoadingMessage:function(){return"Caricamento in corso"},formatRecordsPerPage:function(t){return"".concat(t," elementi per pagina")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Visualizzazione da ".concat(t," a ").concat(n," di ").concat(o," elementi (filtered from ").concat(r," total rows)"):"Visualizzazione da ".concat(t," a ").concat(n," di ").concat(o," elementi")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Pulisci filtri"},formatSearch:function(){return"Cerca"},formatNoMatches:function(){return"Nessun elemento trovato"},formatPaginationSwitch:function(){return"Nascondi/Mostra paginazione"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Aggiorna"},formatToggle:function(){return"Attiva/Disattiva"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Colonne"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Tutto"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Esporta dati"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["it-IT"]),t.fn.bootstrapTable.locales["ja-JP"]={formatLoadingMessage:function(){return"読み込み中です。少々お待ちください。"},formatRecordsPerPage:function(t){return"ページ当たり最大".concat(t,"件")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"全".concat(o,"件から、").concat(t,"から").concat(n,"件目まで表示しています (filtered from ").concat(r," total rows)"):"全".concat(o,"件から、").concat(t,"から").concat(n,"件目まで表示しています")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"検索"},formatNoMatches:function(){return"該当するレコードが見つかりません"},formatPaginationSwitch:function(){return"ページ数を表示・非表示"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"更新"},formatToggle:function(){return"トグル"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"列"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"すべて"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ja-JP"]),t.fn.bootstrapTable.locales["ka-GE"]={formatLoadingMessage:function(){return"იტვირთება, გთხოვთ მოიცადოთ"},formatRecordsPerPage:function(t){return"".concat(t," ჩანაწერი თითო გვერდზე")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"ნაჩვენებია ".concat(t,"-დან ").concat(n,"-მდე ჩანაწერი ჯამური ").concat(o,"-დან (filtered from ").concat(r," total rows)"):"ნაჩვენებია ".concat(t,"-დან ").concat(n,"-მდე ჩანაწერი ჯამური ").concat(o,"-დან")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"ძებნა"},formatNoMatches:function(){return"მონაცემები არ არის"},formatPaginationSwitch:function(){return"გვერდების გადამრთველის დამალვა/გამოჩენა"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"განახლება"},formatToggle:function(){return"ჩართვა/გამორთვა"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"სვეტები"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ka-GE"]),t.fn.bootstrapTable.locales["ko-KR"]={formatLoadingMessage:function(){return"데이터를 불러오는 중입니다"},formatRecordsPerPage:function(t){return"페이지 당 ".concat(t,"개 데이터 출력")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"전체 ".concat(o,"개 중 ").concat(t,"~").concat(n,"번째 데이터 출력, (filtered from ").concat(r," total rows)"):"전체 ".concat(o,"개 중 ").concat(t,"~").concat(n,"번째 데이터 출력,")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"검색"},formatNoMatches:function(){return"조회된 데이터가 없습니다."},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"새로 고침"},formatToggle:function(){return"전환"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"컬럼 필터링"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ko-KR"]),t.fn.bootstrapTable.locales["ms-MY"]={formatLoadingMessage:function(){return"Permintaan sedang dimuatkan. Sila tunggu sebentar"},formatRecordsPerPage:function(t){return"".concat(t," rekod setiap muka surat")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Sedang memaparkan rekod ".concat(t," hingga ").concat(n," daripada jumlah ").concat(o," rekod (filtered from ").concat(r," total rows)"):"Sedang memaparkan rekod ".concat(t," hingga ").concat(n," daripada jumlah ").concat(o," rekod")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Cari"},formatNoMatches:function(){return"Tiada rekod yang menyamai permintaan"},formatPaginationSwitch:function(){return"Tunjuk/sembunyi muka surat"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Muatsemula"},formatToggle:function(){return"Tukar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Lajur"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Semua"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ms-MY"]),t.fn.bootstrapTable.locales["nb-NO"]={formatLoadingMessage:function(){return"Oppdaterer, vennligst vent"},formatRecordsPerPage:function(t){return"".concat(t," poster pr side")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Viser ".concat(t," til ").concat(n," av ").concat(o," rekker (filtered from ").concat(r," total rows)"):"Viser ".concat(t," til ").concat(n," av ").concat(o," rekker")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Søk"},formatNoMatches:function(){return"Ingen poster funnet"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Oppdater"},formatToggle:function(){return"Endre"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Kolonner"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["nb-NO"]),t.fn.bootstrapTable.locales["nl-BE"]={formatLoadingMessage:function(){return"Laden, even geduld"},formatRecordsPerPage:function(t){return"".concat(t," records per pagina")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Toon ".concat(t," tot ").concat(n," van ").concat(o," record").concat(o>1?"s":""," (gefilterd van ").concat(r," records in totaal)"):"Toon ".concat(t," tot ").concat(n," van ").concat(o," record").concat(o>1?"s":"")},formatSRPaginationPreText:function(){return"vorige pagina"},formatSRPaginationPageText:function(t){return"tot pagina ".concat(t)},formatSRPaginationNextText:function(){return"volgende pagina"},formatDetailPagination:function(t){return"Toon ".concat(t," record").concat(t>1?"s":"")},formatClearSearch:function(){return"Verwijder filters"},formatSearch:function(){return"Zoeken"},formatNoMatches:function(){return"Geen resultaten gevonden"},formatPaginationSwitch:function(){return"Verberg/Toon paginering"},formatPaginationSwitchDown:function(){return"Toon paginering"},formatPaginationSwitchUp:function(){return"Verberg paginering"},formatRefresh:function(){return"Vernieuwen"},formatToggle:function(){return"Omschakelen"},formatToggleOn:function(){return"Toon kaartweergave"},formatToggleOff:function(){return"Verberg kaartweergave"},formatColumns:function(){return"Kolommen"},formatColumnsToggleAll:function(){return"Allen omschakelen"},formatFullscreen:function(){return"Volledig scherm"},formatAllRows:function(){return"Alle"},formatAutoRefresh:function(){return"Automatisch vernieuwen"},formatExport:function(){return"Exporteer gegevens"},formatJumpTo:function(){return"GA"},formatAdvancedSearch:function(){return"Geavanceerd zoeken"},formatAdvancedCloseButton:function(){return"Sluiten"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["nl-BE"]),t.fn.bootstrapTable.locales["nl-NL"]={formatLoadingMessage:function(){return"Laden, even geduld"},formatRecordsPerPage:function(t){return"".concat(t," records per pagina")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Toon ".concat(t," tot ").concat(n," van ").concat(o," record").concat(o>1?"s":""," (gefilterd van ").concat(r," records in totaal)"):"Toon ".concat(t," tot ").concat(n," van ").concat(o," record").concat(o>1?"s":"")},formatSRPaginationPreText:function(){return"vorige pagina"},formatSRPaginationPageText:function(t){return"tot pagina ".concat(t)},formatSRPaginationNextText:function(){return"volgende pagina"},formatDetailPagination:function(t){return"Toon ".concat(t," record").concat(t>1?"s":"")},formatClearSearch:function(){return"Verwijder filters"},formatSearch:function(){return"Zoeken"},formatNoMatches:function(){return"Geen resultaten gevonden"},formatPaginationSwitch:function(){return"Verberg/Toon paginering"},formatPaginationSwitchDown:function(){return"Toon paginering"},formatPaginationSwitchUp:function(){return"Verberg paginering"},formatRefresh:function(){return"Vernieuwen"},formatToggle:function(){return"Omschakelen"},formatToggleOn:function(){return"Toon kaartweergave"},formatToggleOff:function(){return"Verberg kaartweergave"},formatColumns:function(){return"Kolommen"},formatColumnsToggleAll:function(){return"Allen omschakelen"},formatFullscreen:function(){return"Volledig scherm"},formatAllRows:function(){return"Alle"},formatAutoRefresh:function(){return"Automatisch vernieuwen"},formatExport:function(){return"Exporteer gegevens"},formatJumpTo:function(){return"GA"},formatAdvancedSearch:function(){return"Geavanceerd zoeken"},formatAdvancedCloseButton:function(){return"Sluiten"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["nl-NL"]),t.fn.bootstrapTable.locales["pl-PL"]={formatLoadingMessage:function(){return"Ładowanie, proszę czekać"},formatRecordsPerPage:function(t){return"".concat(t," rekordów na stronę")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Wyświetlanie rekordów od ".concat(t," do ").concat(n," z ").concat(o," (filtered from ").concat(r," total rows)"):"Wyświetlanie rekordów od ".concat(t," do ").concat(n," z ").concat(o)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Szukaj"},formatNoMatches:function(){return"Niestety, nic nie znaleziono"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Odśwież"},formatToggle:function(){return"Przełącz"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Kolumny"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["pl-PL"]),t.fn.bootstrapTable.locales["pt-BR"]={formatLoadingMessage:function(){return"Carregando, aguarde"},formatRecordsPerPage:function(t){return"".concat(t," registros por página")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Exibindo ".concat(t," até ").concat(n," de ").concat(o," linhas (filtered from ").concat(r," total rows)"):"Exibindo ".concat(t," até ").concat(n," de ").concat(o," linhas")},formatSRPaginationPreText:function(){return"página anterior"},formatSRPaginationPageText:function(t){return"Para a página ".concat(t)},formatSRPaginationNextText:function(){return"próxima página"},formatDetailPagination:function(t){return"Mostrando ".concat(t," linhas")},formatClearSearch:function(){return"Limpar Pasquisa"},formatSearch:function(){return"Pesquisar"},formatNoMatches:function(){return"Nenhum registro encontrado"},formatPaginationSwitch:function(){return"Ocultar/Exibir paginação"},formatPaginationSwitchDown:function(){return"Mostrar Paginação"},formatPaginationSwitchUp:function(){return"Esconder Paginação"},formatRefresh:function(){return"Recarregar"},formatToggle:function(){return"Alternar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Colunas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Tela cheia"},formatAllRows:function(){return"Tudo"},formatAutoRefresh:function(){return"Atualização Automática"},formatExport:function(){return"Exportar dados"},formatJumpTo:function(){return"IR"},formatAdvancedSearch:function(){return"Pesquisa Avançada"},formatAdvancedCloseButton:function(){return"Fechar"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["pt-BR"]),t.fn.bootstrapTable.locales["pt-PT"]={formatLoadingMessage:function(){return"A carregar, por favor aguarde"},formatRecordsPerPage:function(t){return"".concat(t," registos por p&aacute;gina")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"A mostrar ".concat(t," at&eacute; ").concat(n," de ").concat(o," linhas (filtered from ").concat(r," total rows)"):"A mostrar ".concat(t," at&eacute; ").concat(n," de ").concat(o," linhas")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Pesquisa"},formatNoMatches:function(){return"Nenhum registo encontrado"},formatPaginationSwitch:function(){return"Esconder/Mostrar pagina&ccedil&atilde;o"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Atualizar"},formatToggle:function(){return"Alternar"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Colunas"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Tudo"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["pt-PT"]),t.fn.bootstrapTable.locales["ro-RO"]={formatLoadingMessage:function(){return"Se incarca, va rugam asteptati"},formatRecordsPerPage:function(t){return"".concat(t," inregistrari pe pagina")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Arata de la ".concat(t," pana la ").concat(n," din ").concat(o," randuri (filtered from ").concat(r," total rows)"):"Arata de la ".concat(t," pana la ").concat(n," din ").concat(o," randuri")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Cauta"},formatNoMatches:function(){return"Nu au fost gasite inregistrari"},formatPaginationSwitch:function(){return"Ascunde/Arata paginatia"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Reincarca"},formatToggle:function(){return"Comuta"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Coloane"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Toate"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ro-RO"]),t.fn.bootstrapTable.locales["ru-RU"]={formatLoadingMessage:function(){return"Пожалуйста, подождите, идёт загрузка"},formatRecordsPerPage:function(t){return"".concat(t," записей на страницу")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Записи с ".concat(t," по ").concat(n," из ").concat(o," (filtered from ").concat(r," total rows)"):"Записи с ".concat(t," по ").concat(n," из ").concat(o)},formatSRPaginationPreText:function(){return"предыдущая страница"},formatSRPaginationPageText:function(t){return"на страницу ".concat(t)},formatSRPaginationNextText:function(){return"следущая страница"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Очистить фильтры"},formatSearch:function(){return"Поиск"},formatNoMatches:function(){return"Ничего не найдено"},formatPaginationSwitch:function(){return"Скрыть/Показать нумерацию страниц"},formatPaginationSwitchDown:function(){return"Показать пагинацию"},formatPaginationSwitchUp:function(){return"Скрыть пагинацию"},formatRefresh:function(){return"Обновить"},formatToggle:function(){return"Переключить"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Колонки"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Полноэкранный"},formatAllRows:function(){return"Все"},formatAutoRefresh:function(){return"Авто обновление"},formatExport:function(){return"Экспорт данных"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Расширенный поиск"},formatAdvancedCloseButton:function(){return"Закрыть"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ru-RU"]),t.fn.bootstrapTable.locales["sk-SK"]={formatLoadingMessage:function(){return"Prosím čakajte"},formatRecordsPerPage:function(t){return"".concat(t," záznamov na stranu")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Zobrazená ".concat(t,". - ").concat(n,". položka z celkových ").concat(o," (filtered from ").concat(r," total rows)"):"Zobrazená ".concat(t,". - ").concat(n,". položka z celkových ").concat(o)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Odstráň filtre"},formatSearch:function(){return"Vyhľadávanie"},formatNoMatches:function(){return"Nenájdená žiadna vyhovujúca položka"},formatPaginationSwitch:function(){return"Skry/Zobraz stránkovanie"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Obnoviť"},formatToggle:function(){return"Prepni"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Stĺpce"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Všetky"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Exportuj dáta"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["sk-SK"]),t.fn.bootstrapTable.locales["sr-Cyrl-RS"]={formatLoadingMessage:function(){return"Молим сачекај"},formatRecordsPerPage:function(t){return"".concat(t," редова по страни")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Приказано ".concat(t,". - ").concat(n,". од укупног броја редова ").concat(o," (филтрирано од ").concat(r,")"):"Приказано ".concat(t,". - ").concat(n,". од укупног броја редова ").concat(o)},formatSRPaginationPreText:function(){return"претходна страна"},formatSRPaginationPageText:function(t){return"на страну ".concat(t)},formatSRPaginationNextText:function(){return"следећа страна"},formatDetailPagination:function(t){return"Приказано ".concat(t," редова")},formatClearSearch:function(){return"Обриши претрагу"},formatSearch:function(){return"Пронађи"},formatNoMatches:function(){return"Није пронађен ни један податак"},formatPaginationSwitch:function(){return"Прикажи/сакриј пагинацију"},formatPaginationSwitchDown:function(){return"Прикажи пагинацију"},formatPaginationSwitchUp:function(){return"Сакриј пагинацију"},formatRefresh:function(){return"Освежи"},formatToggle:function(){return"Промени приказ"},formatToggleOn:function(){return"Прикажи картице"},formatToggleOff:function(){return"Сакриј картице"},formatColumns:function(){return"Колоне"},formatColumnsToggleAll:function(){return"Прикажи/сакриј све"},formatFullscreen:function(){return"Цео екран"},formatAllRows:function(){return"Све"},formatAutoRefresh:function(){return"Аутоматско освежавање"},formatExport:function(){return"Извези податке"},formatJumpTo:function(){return"Иди"},formatAdvancedSearch:function(){return"Напредна претрага"},formatAdvancedCloseButton:function(){return"Затвори"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["sr-Cyrl-RS"]),t.fn.bootstrapTable.locales["sr-Latn-RS"]={formatLoadingMessage:function(){return"Molim sačekaj"},formatRecordsPerPage:function(t){return"".concat(t," redova po strani")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Prikazano ".concat(t,". - ").concat(n,". od ukupnog broja redova ").concat(o," (filtrirano od ").concat(r,")"):"Prikazano ".concat(t,". - ").concat(n,". od ukupnog broja redova ").concat(o)},formatSRPaginationPreText:function(){return"prethodna strana"},formatSRPaginationPageText:function(t){return"na stranu ".concat(t)},formatSRPaginationNextText:function(){return"sledeća strana"},formatDetailPagination:function(t){return"Prikazano ".concat(t," redova")},formatClearSearch:function(){return"Obriši pretragu"},formatSearch:function(){return"Pronađi"},formatNoMatches:function(){return"Nije pronađen ni jedan podatak"},formatPaginationSwitch:function(){return"Prikaži/sakrij paginaciju"},formatPaginationSwitchDown:function(){return"Prikaži paginaciju"},formatPaginationSwitchUp:function(){return"Sakrij paginaciju"},formatRefresh:function(){return"Osveži"},formatToggle:function(){return"Promeni prikaz"},formatToggleOn:function(){return"Prikaži kartice"},formatToggleOff:function(){return"Sakrij kartice"},formatColumns:function(){return"Kolone"},formatColumnsToggleAll:function(){return"Prikaži/sakrij sve"},formatFullscreen:function(){return"Ceo ekran"},formatAllRows:function(){return"Sve"},formatAutoRefresh:function(){return"Automatsko osvežavanje"},formatExport:function(){return"Izvezi podatke"},formatJumpTo:function(){return"Idi"},formatAdvancedSearch:function(){return"Napredna pretraga"},formatAdvancedCloseButton:function(){return"Zatvori"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["sr-Latn-RS"]),t.fn.bootstrapTable.locales["sv-SE"]={formatLoadingMessage:function(){return"Laddar, vänligen vänta"},formatRecordsPerPage:function(t){return"".concat(t," rader per sida")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Visa ".concat(t," till ").concat(n," av ").concat(o," rader (filtered from ").concat(r," total rows)"):"Visa ".concat(t," till ").concat(n," av ").concat(o," rader")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Sök"},formatNoMatches:function(){return"Inga matchande resultat funna."},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Uppdatera"},formatToggle:function(){return"Skifta"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"kolumn"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["sv-SE"]),t.fn.bootstrapTable.locales["th-TH"]={formatLoadingMessage:function(){return"กำลังโหลดข้อมูล, กรุณารอสักครู่"},formatRecordsPerPage:function(t){return"".concat(t," รายการต่อหน้า")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"รายการที่ ".concat(t," ถึง ").concat(n," จากทั้งหมด ").concat(o," รายการ (filtered from ").concat(r," total rows)"):"รายการที่ ".concat(t," ถึง ").concat(n," จากทั้งหมด ").concat(o," รายการ")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"ค้นหา"},formatNoMatches:function(){return"ไม่พบรายการที่ค้นหา !"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"รีเฟรส"},formatToggle:function(){return"สลับมุมมอง"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"คอลัมน์"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["th-TH"]),t.fn.bootstrapTable.locales["tr-TR"]={formatLoadingMessage:function(){return"Yükleniyor, lütfen bekleyin"},formatRecordsPerPage:function(t){return"Sayfa başına ".concat(t," kayıt.")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"".concat(o," kayıttan ").concat(t,"-").concat(n," arası gösteriliyor (filtered from ").concat(r," total rows)."):"".concat(o," kayıttan ").concat(t,"-").concat(n," arası gösteriliyor.")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Ara"},formatNoMatches:function(){return"Eşleşen kayıt bulunamadı."},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Yenile"},formatToggle:function(){return"Değiştir"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Sütunlar"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Tüm Satırlar"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["tr-TR"]),t.fn.bootstrapTable.locales["uk-UA"]={formatLoadingMessage:function(){return"Завантаження, будь ласка, зачекайте"},formatRecordsPerPage:function(t){return"".concat(t," записів на сторінку")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Показано з ".concat(t," по ").concat(n,". Всього: ").concat(o," (filtered from ").concat(r," total rows)"):"Показано з ".concat(t," по ").concat(n,". Всього: ").concat(o)},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Очистити фільтри"},formatSearch:function(){return"Пошук"},formatNoMatches:function(){return"Не знайдено жодного запису"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Оновити"},formatToggle:function(){return"Змінити"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Стовпці"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["uk-UA"]),t.fn.bootstrapTable.locales["ur-PK"]={formatLoadingMessage:function(){return"براۓ مہربانی انتظار کیجئے"},formatRecordsPerPage:function(t){return"".concat(t," ریکارڈز فی صفہ ")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"دیکھیں ".concat(t," سے ").concat(n," کے ").concat(o,"ریکارڈز (filtered from ").concat(r," total rows)"):"دیکھیں ".concat(t," سے ").concat(n," کے ").concat(o,"ریکارڈز")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"تلاش"},formatNoMatches:function(){return"کوئی ریکارڈ نہیں ملا"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"تازہ کریں"},formatToggle:function(){return"تبدیل کریں"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"کالم"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["ur-PK"]),t.fn.bootstrapTable.locales["uz-Latn-UZ"]={formatLoadingMessage:function(){return"Yuklanyapti, iltimos kuting"},formatRecordsPerPage:function(t){return"".concat(t," qator har sahifada")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Ko'rsatypati ".concat(t," dan ").concat(n," gacha ").concat(o," qatorlarni (filtered from ").concat(r," total rows)"):"Ko'rsatypati ".concat(t," dan ").concat(n," gacha ").concat(o," qatorlarni")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Filtrlarni tozalash"},formatSearch:function(){return"Qidirish"},formatNoMatches:function(){return"Hech narsa topilmadi"},formatPaginationSwitch:function(){return"Sahifalashni yashirish/ko'rsatish"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Yangilash"},formatToggle:function(){return"Ko'rinish"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Ustunlar"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"Hammasi"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Eksport"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["uz-Latn-UZ"]),t.fn.bootstrapTable.locales["vi-VN"]={formatLoadingMessage:function(){return"Đang tải"},formatRecordsPerPage:function(t){return"".concat(t," bản ghi mỗi trang")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"Hiển thị từ trang ".concat(t," đến ").concat(n," của ").concat(o," bảng ghi (filtered from ").concat(r," total rows)"):"Hiển thị từ trang ".concat(t," đến ").concat(n," của ").concat(o," bảng ghi")},formatSRPaginationPreText:function(){return"previous page"},formatSRPaginationPageText:function(t){return"to page ".concat(t)},formatSRPaginationNextText:function(){return"next page"},formatDetailPagination:function(t){return"Showing ".concat(t," rows")},formatClearSearch:function(){return"Clear Search"},formatSearch:function(){return"Tìm kiếm"},formatNoMatches:function(){return"Không có dữ liệu"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatPaginationSwitchDown:function(){return"Show pagination"},formatPaginationSwitchUp:function(){return"Hide pagination"},formatRefresh:function(){return"Refresh"},formatToggle:function(){return"Toggle"},formatToggleOn:function(){return"Show card view"},formatToggleOff:function(){return"Hide card view"},formatColumns:function(){return"Columns"},formatColumnsToggleAll:function(){return"Toggle all"},formatFullscreen:function(){return"Fullscreen"},formatAllRows:function(){return"All"},formatAutoRefresh:function(){return"Auto Refresh"},formatExport:function(){return"Export data"},formatJumpTo:function(){return"GO"},formatAdvancedSearch:function(){return"Advanced search"},formatAdvancedCloseButton:function(){return"Close"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["vi-VN"]),t.fn.bootstrapTable.locales["zh-CN"]={formatLoadingMessage:function(){return"正在努力地加载数据中,请稍候"},formatRecordsPerPage:function(t){return"每页显示 ".concat(t," 条记录")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"显示第 ".concat(t," 到第 ").concat(n," 条记录,总共 ").concat(o," 条记录(从 ").concat(r," 总记录中过滤)"):"显示第 ".concat(t," 到第 ").concat(n," 条记录,总共 ").concat(o," 条记录")},formatSRPaginationPreText:function(){return"上一页"},formatSRPaginationPageText:function(t){return"第".concat(t,"页")},formatSRPaginationNextText:function(){return"下一页"},formatDetailPagination:function(t){return"总共 ".concat(t," 条记录")},formatClearSearch:function(){return"清空过滤"},formatSearch:function(){return"搜索"},formatNoMatches:function(){return"没有找到匹配的记录"},formatPaginationSwitch:function(){return"隐藏/显示分页"},formatPaginationSwitchDown:function(){return"显示分页"},formatPaginationSwitchUp:function(){return"隐藏分页"},formatRefresh:function(){return"刷新"},formatToggle:function(){return"切换"},formatToggleOn:function(){return"显示卡片视图"},formatToggleOff:function(){return"隐藏卡片视图"},formatColumns:function(){return"列"},formatColumnsToggleAll:function(){return"切换所有"},formatFullscreen:function(){return"全屏"},formatAllRows:function(){return"所有"},formatAutoRefresh:function(){return"自动刷新"},formatExport:function(){return"导出数据"},formatJumpTo:function(){return"跳转"},formatAdvancedSearch:function(){return"高级搜索"},formatAdvancedCloseButton:function(){return"关闭"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["zh-CN"]),t.fn.bootstrapTable.locales["zh-TW"]={formatLoadingMessage:function(){return"正在努力地載入資料,請稍候"},formatRecordsPerPage:function(t){return"每頁顯示 ".concat(t," 項記錄")},formatShowingRows:function(t,n,o,r){return void 0!==r&&r>0&&r>o?"顯示第 ".concat(t," 到第 ").concat(n," 項記錄,總共 ").concat(o," 項記錄(從 ").concat(r," 總記錄中過濾)"):"顯示第 ".concat(t," 到第 ").concat(n," 項記錄,總共 ").concat(o," 項記錄")},formatSRPaginationPreText:function(){return"上一頁"},formatSRPaginationPageText:function(t){return"第".concat(t,"頁")},formatSRPaginationNextText:function(){return"下一頁"},formatDetailPagination:function(t){return"總共 ".concat(t," 項記錄")},formatClearSearch:function(){return"清空過濾"},formatSearch:function(){return"搜尋"},formatNoMatches:function(){return"沒有找到符合的結果"},formatPaginationSwitch:function(){return"隱藏/顯示分頁"},formatPaginationSwitchDown:function(){return"顯示分頁"},formatPaginationSwitchUp:function(){return"隱藏分頁"},formatRefresh:function(){return"重新整理"},formatToggle:function(){return"切換"},formatToggleOn:function(){return"顯示卡片視圖"},formatToggleOff:function(){return"隱藏卡片視圖"},formatColumns:function(){return"列"},formatColumnsToggleAll:function(){return"切換所有"},formatFullscreen:function(){return"全屏"},formatAllRows:function(){return"所有"},formatAutoRefresh:function(){return"自動刷新"},formatExport:function(){return"導出數據"},formatJumpTo:function(){return"跳轉"},formatAdvancedSearch:function(){return"高級搜尋"},formatAdvancedCloseButton:function(){return"關閉"}},t.extend(t.fn.bootstrapTable.defaults,t.fn.bootstrapTable.locales["zh-TW"])})); \ No newline at end of file
diff --git a/fix-build-bareos.patch b/fix-build-bareos.patch
new file mode 100644
index 000000000000..e0b963be4e2e
--- /dev/null
+++ b/fix-build-bareos.patch
@@ -0,0 +1,44 @@
+--- a/core/src/droplet/libdroplet/src/utils.c 2021-04-16 00:09:37.856912334 +0300
++++ b/core/src/droplet/libdroplet/src/utils.c 2021-04-16 00:32:28.058300432 +0300
+@@ -33,7 +33,7 @@
+ */
+ #include <dropletp.h>
+ #include <linux/xattr.h>
+-#include <attr/xattr.h>
++#include <sys/xattr.h>
+ #include <errno.h>
+
+ /** @file */
+--- a/core/src/droplet/libdroplet/include/droplet/cdmi/crcmodel.h 2021-04-16 17:25:43.613478257 +0300
++++ b/core/src/droplet/libdroplet/include/droplet/cdmi/crcmodel.h 2021-04-16 17:31:53.449697759 +0300
+@@ -78,7 +78,7 @@
+ #ifndef DONE_STYLE
+
+ typedef unsigned long ulong;
+-typedef unsigned bool;
++/*typedef unsigned bool;*/
+ typedef unsigned char * p_ubyte_;
+
+ #ifndef TRUE
+@@ -107,8 +107,8 @@
+ int cm_width; /* Parameter: Width in bits [8,32]. */
+ ulong cm_poly; /* Parameter: The algorithm's polynomial. */
+ ulong cm_init; /* Parameter: Initial register value. */
+- bool cm_refin; /* Parameter: Reflect input bytes? */
+- bool cm_refot; /* Parameter: Reflect output CRC? */
++ _Bool cm_refin; /* Parameter: Reflect input bytes? */
++ _Bool cm_refot; /* Parameter: Reflect output CRC? */
+ ulong cm_xorot; /* Parameter: XOR this to output CRC. */
+
+ ulong cm_reg; /* Context: Context during execution. */
+--- a/core/src/droplet/libdroplet/src/backend/posix/reqbuilder.c 2021-04-16 17:32:41.619204579 +0300
++++ b/core/src/droplet/libdroplet/src/backend/posix/reqbuilder.c 2021-04-16 17:33:54.938453657 +0300
+@@ -39,7 +39,7 @@
+ #include <dirent.h>
+ #include <sys/types.h>
+ #include <linux/xattr.h>
+-#include <attr/xattr.h>
++#include <sys/xattr.h>
+ #include <utime.h>
+ #include <pwd.h>
+ #include <grp.h>
diff --git a/fix-headlink.patch b/fix-headlink.patch
new file mode 100644
index 000000000000..6830228d03d2
--- /dev/null
+++ b/fix-headlink.patch
@@ -0,0 +1,193 @@
+--- a/webui/vendor/zendframework/zend-view/src/Helper/HeadLink.php 2021-04-16 20:54:47.655312342 +0300
++++ b/webui/vendor/zendframework/zend-view/src/Helper/HeadLink.php 2021-04-16 23:17:00.000000000 +0300
+@@ -13,21 +13,23 @@
+ use Zend\View;
+ use Zend\View\Exception;
+
++// @codingStandardsIgnoreStart
+ /**
+ * Zend_Layout_View_Helper_HeadLink
+ *
+ * @see http://www.w3.org/TR/xhtml1/dtds.html
+ *
+ * Creates the following virtual methods:
+- * @method HeadLink appendStylesheet($href, $media = 'screen', $conditionalStylesheet = '', $extras = array())
+- * @method HeadLink offsetSetStylesheet($index, $href, $media = 'screen', $conditionalStylesheet = '', $extras = array())
+- * @method HeadLink prependStylesheet($href, $media = 'screen', $conditionalStylesheet = '', $extras = array())
+- * @method HeadLink setStylesheet($href, $media = 'screen', $conditionalStylesheet = '', $extras = array())
+- * @method HeadLink appendAlternate($href, $type, $title, $extras = array())
+- * @method HeadLink offsetSetAlternate($index, $href, $type, $title, $extras = array())
+- * @method HeadLink prependAlternate($href, $type, $title, $extras = array())
+- * @method HeadLink setAlternate($href, $type, $title, $extras = array())
++ * @method HeadLink appendStylesheet($href, $media = 'screen', $conditionalStylesheet = '', $extras = [])
++ * @method HeadLink offsetSetStylesheet($index, $href, $media = 'screen', $conditionalStylesheet = '', $extras = [])
++ * @method HeadLink prependStylesheet($href, $media = 'screen', $conditionalStylesheet = '', $extras = [])
++ * @method HeadLink setStylesheet($href, $media = 'screen', $conditionalStylesheet = '', $extras = [])
++ * @method HeadLink appendAlternate($href, $type, $title, $extras = [])
++ * @method HeadLink offsetSetAlternate($index, $href, $type, $title, $extras = [])
++ * @method HeadLink prependAlternate($href, $type, $title, $extras = [])
++ * @method HeadLink setAlternate($href, $type, $title, $extras = [])
+ */
++// @codingStandardsIgnoreEnd
+ class HeadLink extends Placeholder\Container\AbstractStandalone
+ {
+ /**
+@@ -35,7 +37,7 @@
+ *
+ * @var string[]
+ */
+- protected $itemKeys = array(
++ protected $itemKeys = [
+ 'charset',
+ 'href',
+ 'hreflang',
+@@ -46,8 +48,12 @@
+ 'sizes',
+ 'type',
+ 'title',
+- 'extras'
+- );
++ 'extras',
++ 'itemprop',
++ 'crossorigin',
++ 'integrity',
++ 'as',
++ ];
+
+ /**
+ * Registry key for placeholder
+@@ -80,7 +86,7 @@
+ */
+ public function headLink(array $attributes = null, $placement = Placeholder\Container\AbstractContainer::APPEND)
+ {
+- return call_user_func_array(array($this, '__invoke'), func_get_args());
++ return call_user_func_array([$this, '__invoke'], func_get_args());
+ }
+
+ /**
+@@ -142,7 +148,11 @@
+ */
+ public function __call($method, $args)
+ {
+- if (preg_match('/^(?P<action>set|(ap|pre)pend|offsetSet)(?P<type>Stylesheet|Alternate|Prev|Next)$/', $method, $matches)) {
++ if (preg_match(
++ '/^(?P<action>set|(ap|pre)pend|offsetSet)(?P<type>Stylesheet|Alternate|Prev|Next)$/',
++ $method,
++ $matches
++ )) {
+ $argc = count($args);
+ $action = $matches['action'];
+ $type = $matches['type'];
+@@ -190,7 +200,7 @@
+ */
+ protected function isValid($value)
+ {
+- if (!$value instanceof stdClass) {
++ if (! $value instanceof stdClass) {
+ return false;
+ }
+
+@@ -213,7 +223,7 @@
+ */
+ public function append($value)
+ {
+- if (!$this->isValid($value)) {
++ if (! $this->isValid($value)) {
+ throw new Exception\InvalidArgumentException(
+ 'append() expects a data token; please use one of the custom append*() methods'
+ );
+@@ -232,7 +242,7 @@
+ */
+ public function offsetSet($index, $value)
+ {
+- if (!$this->isValid($value)) {
++ if (! $this->isValid($value)) {
+ throw new Exception\InvalidArgumentException(
+ 'offsetSet() expects a data token; please use one of the custom offsetSet*() methods'
+ );
+@@ -250,7 +260,7 @@
+ */
+ public function prepend($value)
+ {
+- if (!$this->isValid($value)) {
++ if (! $this->isValid($value)) {
+ throw new Exception\InvalidArgumentException(
+ 'prepend() expects a data token; please use one of the custom prepend*() methods'
+ );
+@@ -268,7 +278,7 @@
+ */
+ public function set($value)
+ {
+- if (!$this->isValid($value)) {
++ if (! $this->isValid($value)) {
+ throw new Exception\InvalidArgumentException(
+ 'set() expects a data token; please use one of the custom set*() methods'
+ );
+@@ -315,7 +325,7 @@
+ }
+
+ if (isset($attributes['conditionalStylesheet'])
+- && !empty($attributes['conditionalStylesheet'])
++ && ! empty($attributes['conditionalStylesheet'])
+ && is_string($attributes['conditionalStylesheet'])
+ ) {
+ // inner wrap with comment end and start if !IE
+@@ -340,7 +350,7 @@
+ ? $this->getWhitespace($indent)
+ : $this->getIndent();
+
+- $items = array();
++ $items = [];
+ $this->getContainer()->ksort();
+ foreach ($this as $item) {
+ $items[] = $this->itemToString($item);
+@@ -378,7 +388,7 @@
+ return false;
+ }
+
+- if (0 < count($args)) {
++ if ($args) {
+ $media = array_shift($args);
+ if (is_array($media)) {
+ $media = implode(',', $media);
+@@ -386,18 +396,20 @@
+ $media = (string) $media;
+ }
+ }
+- if (0 < count($args)) {
++ if ($args) {
+ $conditionalStylesheet = array_shift($args);
+- if (!empty($conditionalStylesheet) && is_string($conditionalStylesheet)) {
++ if (! empty($conditionalStylesheet) && is_string($conditionalStylesheet)) {
+ $conditionalStylesheet = (string) $conditionalStylesheet;
+ } else {
+ $conditionalStylesheet = null;
+ }
+ }
+
+- if (0 < count($args) && is_array($args[0])) {
++ if ($args && is_array($args[0])) {
+ $extras = array_shift($args);
+ $extras = (array) $extras;
++ } else {
++ $extras = array();
+ }
+
+ $attributes = compact('rel', 'type', 'href', 'media', 'conditionalStylesheet', 'extras');
+@@ -443,13 +455,15 @@
+ $type = array_shift($args);
+ $title = array_shift($args);
+
+- if (0 < count($args) && is_array($args[0])) {
++ if ($args && is_array($args[0])) {
+ $extras = array_shift($args);
+ $extras = (array) $extras;
+
+ if (isset($extras['media']) && is_array($extras['media'])) {
+ $extras['media'] = implode(',', $extras['media']);
+ }
++ } else {
++ $extras = array();
+ }
+
+ $href = (string) $href;
diff --git a/mysql.patch b/mysql.patch
new file mode 100644
index 000000000000..b10f910f6554
--- /dev/null
+++ b/mysql.patch
@@ -0,0 +1,397 @@
+--- a/core/src/cats/ddl/creates/mysql.sql 2021-06-10 16:14:05.373605979 +0300
++++ b/core/src/cats/ddl/creates/mysql.sql 2021-06-10 16:33:09.592630760 +0300
+@@ -11,63 +11,6 @@
+ INDEX (Path(255))
+ );
+
+--- We strongly recommend to avoid the temptation to add new indexes.
+--- In general, these will cause very significant performance
+--- problems in other areas. A better approach is to carefully check
+--- that all your memory configuration parameters are
+--- suitable for the size of your installation. If you backup
+--- millions of files, you need to adapt the database memory
+--- configuration parameters concerning sorting, joining and global
+--- memory. By default, sort and join parameters are very small
+--- (sometimes 8Kb), and having sufficient memory specified by those
+--- parameters is extremely important to run fast.
+-
+--- In File table
+--- FileIndex is 0 for FT_DELETED files
+--- Name is '' for directories
+--- The index INDEX (PathId, JobId, FileIndex) is
+--- important for bvfs performance, especially
+--- for .bvfs_lsdirs which is used by bareos-webui.
+-CREATE TABLE File (
+- FileId BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
+- FileIndex INTEGER UNSIGNED DEFAULT 0,
+- JobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
+- PathId INTEGER UNSIGNED NOT NULL REFERENCES Path,
+- DeltaSeq SMALLINT UNSIGNED DEFAULT 0,
+- MarkId INTEGER UNSIGNED DEFAULT 0,
+- Fhinfo NUMERIC(20) DEFAULT 0,
+- Fhnode NUMERIC(20) DEFAULT 0,
+- LStat TINYBLOB NOT NULL,
+- MD5 TINYBLOB NOT NULL,
+- Name BLOB NOT NULL,
+- PRIMARY KEY (FileId),
+- INDEX (JobId, PathId, Name(255)),
+- INDEX (PathId, JobId, FileIndex)
+-);
+-
+---
+--- Possibly add one or more of the following indexes
+--- to the above File table if your Verifies are
+--- too slow, but they can slow down backups.
+---
+--- INDEX (PathId),
+-
+-CREATE TABLE RestoreObject (
+- RestoreObjectId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+- ObjectName BLOB NOT NULL,
+- RestoreObject LONGBLOB NOT NULL,
+- PluginName TINYBLOB NOT NULL,
+- ObjectLength INTEGER DEFAULT 0,
+- ObjectFullLength INTEGER DEFAULT 0,
+- ObjectIndex INTEGER DEFAULT 0,
+- ObjectType INTEGER DEFAULT 0,
+- FileIndex INTEGER UNSIGNED DEFAULT 0,
+- JobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
+- ObjectCompression INTEGER DEFAULT 0,
+- PRIMARY KEY(RestoreObjectId),
+- INDEX (JobId)
+-);
+-
+ CREATE TABLE MediaType (
+ MediaTypeId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ MediaType TINYBLOB NOT NULL,
+@@ -101,13 +44,65 @@
+ PRIMARY KEY(DeviceId)
+ );
+
++CREATE TABLE FileSet (
++ FileSetId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
++ FileSet TINYBLOB NOT NULL,
++ MD5 TINYBLOB,
++ CreateTime DATETIME DEFAULT NULL,
++ FileSetText BLOB NOT NULL,
++ PRIMARY KEY(FileSetId)
++);
++
++CREATE TABLE Client (
++ ClientId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
++ Name TINYBLOB NOT NULL,
++ Uname TINYBLOB NOT NULL, /* full uname -a of client */
++ AutoPrune TINYINT DEFAULT 0,
++ FileRetention BIGINT UNSIGNED DEFAULT 0,
++ JobRetention BIGINT UNSIGNED DEFAULT 0,
++ UNIQUE (Name(128)),
++ PRIMARY KEY(ClientId)
++);
++
++CREATE TABLE Pool (
++ PoolId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
++ Name TINYBLOB NOT NULL,
++ NumVols INTEGER UNSIGNED DEFAULT 0,
++ MaxVols INTEGER UNSIGNED DEFAULT 0,
++ UseOnce TINYINT DEFAULT 0,
++ UseCatalog TINYINT DEFAULT 0,
++ AcceptAnyVolume TINYINT DEFAULT 0,
++ VolRetention BIGINT UNSIGNED DEFAULT 0,
++ VolUseDuration BIGINT UNSIGNED DEFAULT 0,
++ MaxVolJobs INTEGER UNSIGNED DEFAULT 0,
++ MaxVolFiles INTEGER UNSIGNED DEFAULT 0,
++ MaxVolBytes BIGINT UNSIGNED DEFAULT 0,
++ AutoPrune TINYINT DEFAULT 0,
++ Recycle TINYINT DEFAULT 0,
++ ActionOnPurge TINYINT DEFAULT 0,
++ PoolType ENUM('Backup', 'Copy', 'Cloned', 'Archive', 'Migration', 'Scratch') NOT NULL,
++ LabelType TINYINT DEFAULT 0,
++ LabelFormat TINYBLOB,
++ Enabled TINYINT DEFAULT 1,
++ ScratchPoolId INTEGER UNSIGNED DEFAULT 0,
++ RecyclePoolId INTEGER UNSIGNED DEFAULT 0,
++ NextPoolId INTEGER UNSIGNED DEFAULT 0,
++ MinBlockSize INTEGER UNSIGNED DEFAULT 0,
++ MaxBlockSize INTEGER UNSIGNED DEFAULT 0,
++ MigrationHighBytes BIGINT UNSIGNED DEFAULT 0,
++ MigrationLowBytes BIGINT UNSIGNED DEFAULT 0,
++ MigrationTime BIGINT UNSIGNED DEFAULT 0,
++ UNIQUE (Name(128)),
++ PRIMARY KEY (PoolId)
++);
++
+ CREATE TABLE Job (
+ JobId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ Job TINYBLOB NOT NULL,
+ Name TINYBLOB NOT NULL,
+ Type BINARY(1) NOT NULL,
+ Level BINARY(1) NOT NULL,
+- ClientId INTEGER DEFAULT 0 REFERENCES Client(ClientId),
++ ClientId INTEGER UNSIGNED DEFAULT 0 REFERENCES Client(ClientId),
+ JobStatus BINARY(1) NOT NULL,
+ SchedTime DATETIME DEFAULT NULL,
+ StartTime DATETIME DEFAULT NULL,
+@@ -121,9 +116,9 @@
+ ReadBytes BIGINT UNSIGNED DEFAULT 0,
+ JobErrors INTEGER UNSIGNED DEFAULT 0,
+ JobMissingFiles INTEGER UNSIGNED DEFAULT 0,
+- PoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool(PoolId),
+- FileSetId INTEGER UNSIGNED DEFAULT 0 REFERENCES FileSet(FileSetId),
+- PriorJobId INTEGER UNSIGNED DEFAULT 0 REFERENCES Job(JobId),
++ PoolId INTEGER UNSIGNED DEFAULT 0,
++ FileSetId INTEGER UNSIGNED DEFAULT 0,
++ PriorJobId INTEGER UNSIGNED DEFAULT 0,
+ PurgedFiles TINYINT DEFAULT 0,
+ HasBase TINYINT DEFAULT 0,
+ HasCache TINYINT DEFAULT 0,
+@@ -134,6 +129,63 @@
+ INDEX (JobTDate)
+ );
+
++-- We strongly recommend to avoid the temptation to add new indexes.
++-- In general, these will cause very significant performance
++-- problems in other areas. A better approach is to carefully check
++-- that all your memory configuration parameters are
++-- suitable for the size of your installation. If you backup
++-- millions of files, you need to adapt the database memory
++-- configuration parameters concerning sorting, joining and global
++-- memory. By default, sort and join parameters are very small
++-- (sometimes 8Kb), and having sufficient memory specified by those
++-- parameters is extremely important to run fast.
++
++-- In File table
++-- FileIndex is 0 for FT_DELETED files
++-- Name is '' for directories
++-- The index INDEX (PathId, JobId, FileIndex) is
++-- important for bvfs performance, especially
++-- for .bvfs_lsdirs which is used by bareos-webui.
++CREATE TABLE File (
++ FileId BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
++ FileIndex INTEGER UNSIGNED DEFAULT 0,
++ JobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
++ PathId INTEGER UNSIGNED NOT NULL REFERENCES Path,
++ DeltaSeq SMALLINT UNSIGNED DEFAULT 0,
++ MarkId INTEGER UNSIGNED DEFAULT 0,
++ Fhinfo NUMERIC(20) DEFAULT 0,
++ Fhnode NUMERIC(20) DEFAULT 0,
++ LStat TINYBLOB NOT NULL,
++ MD5 TINYBLOB NOT NULL,
++ Name BLOB NOT NULL,
++ PRIMARY KEY (FileId),
++ INDEX (JobId, PathId, Name(255)),
++ INDEX (PathId, JobId, FileIndex)
++);
++
++--
++-- Possibly add one or more of the following indexes
++-- to the above File table if your Verifies are
++-- too slow, but they can slow down backups.
++--
++-- INDEX (PathId),
++
++CREATE TABLE RestoreObject (
++ RestoreObjectId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
++ ObjectName BLOB NOT NULL,
++ RestoreObject LONGBLOB NOT NULL,
++ PluginName TINYBLOB NOT NULL,
++ ObjectLength INTEGER DEFAULT 0,
++ ObjectFullLength INTEGER DEFAULT 0,
++ ObjectIndex INTEGER DEFAULT 0,
++ ObjectType INTEGER DEFAULT 0,
++ FileIndex INTEGER UNSIGNED DEFAULT 0,
++ JobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
++ ObjectCompression INTEGER DEFAULT 0,
++ PRIMARY KEY(RestoreObjectId),
++ INDEX (JobId)
++);
++
+ -- Create a table like Job for long term statistics
+ CREATE TABLE JobHisto (
+ JobId INTEGER UNSIGNED NOT NULL,
+@@ -175,50 +227,13 @@
+ PRIMARY KEY(LocationId)
+ );
+
+-CREATE TABLE LocationLog (
+- LocLogId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+- Date DATETIME DEFAULT NULL,
+- Comment BLOB NOT NULL,
+- MediaId INTEGER UNSIGNED DEFAULT 0 REFERENCES Media(MediaId),
+- LocationId INTEGER UNSIGNED DEFAULT 0 REFERENCES Location(LocationId),
+- NewVolStatus ENUM('Full', 'Archive', 'Append', 'Recycle', 'Purged',
+- 'Read-Only', 'Disabled', 'Error', 'Busy', 'Used', 'Cleaning') NOT NULL,
+- NewEnabled TINYINT,
+- PRIMARY KEY(LocLogId)
+-);
+-
+-CREATE TABLE FileSet (
+- FileSetId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+- FileSet TINYBLOB NOT NULL,
+- MD5 TINYBLOB,
+- CreateTime DATETIME DEFAULT NULL,
+- FileSetText BLOB NOT NULL,
+- PRIMARY KEY(FileSetId)
+-);
+-
+-CREATE TABLE JobMedia (
+- JobMediaId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+- JobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
+- MediaId INTEGER UNSIGNED NOT NULL REFERENCES Media,
+- FirstIndex INTEGER UNSIGNED DEFAULT 0,
+- LastIndex INTEGER UNSIGNED DEFAULT 0,
+- StartFile INTEGER UNSIGNED DEFAULT 0,
+- EndFile INTEGER UNSIGNED DEFAULT 0,
+- StartBlock INTEGER UNSIGNED DEFAULT 0,
+- EndBlock INTEGER UNSIGNED DEFAULT 0,
+- JobBytes NUMERIC(20) DEFAULT 0,
+- VolIndex INTEGER UNSIGNED DEFAULT 0,
+- PRIMARY KEY(JobMediaId),
+- INDEX (JobId, MediaId)
+-);
+-
+ CREATE TABLE Media (
+ MediaId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+ VolumeName TINYBLOB NOT NULL,
+ Slot INTEGER DEFAULT 0,
+ PoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool(PoolId),
+ MediaType TINYBLOB NOT NULL,
+- MediaTypeId INTEGER UNSIGNED DEFAULT 0 REFERENCES MediaType(MediaTypeId),
++ MediaTypeId INTEGER UNSIGNED DEFAULT 0,
+ LabelType TINYINT DEFAULT 0,
+ FirstWritten DATETIME DEFAULT NULL,
+ LastWritten DATETIME DEFAULT NULL,
+@@ -244,19 +259,19 @@
+ MaxVolBytes BIGINT UNSIGNED DEFAULT 0,
+ InChanger TINYINT DEFAULT 0,
+ StorageId INTEGER UNSIGNED DEFAULT 0 REFERENCES Storage(StorageId),
+- DeviceId INTEGER UNSIGNED DEFAULT 0 REFERENCES Device(DeviceId),
++ DeviceId INTEGER UNSIGNED DEFAULT 0,
+ MediaAddressing TINYINT DEFAULT 0,
+ VolReadTime BIGINT UNSIGNED DEFAULT 0,
+ VolWriteTime BIGINT UNSIGNED DEFAULT 0,
+ EndFile INTEGER UNSIGNED DEFAULT 0,
+ EndBlock INTEGER UNSIGNED DEFAULT 0,
+- LocationId INTEGER UNSIGNED DEFAULT 0 REFERENCES Location(LocationId),
++ LocationId INTEGER UNSIGNED DEFAULT 0,
+ RecycleCount INTEGER UNSIGNED DEFAULT 0,
+ MinBlockSize INTEGER UNSIGNED DEFAULT 0,
+ MaxBlockSize INTEGER UNSIGNED DEFAULT 0,
+ InitialWrite DATETIME DEFAULT NULL,
+- ScratchPoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool(PoolId),
+- RecyclePoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool(PoolId),
++ ScratchPoolId INTEGER UNSIGNED DEFAULT 0,
++ RecyclePoolId INTEGER UNSIGNED DEFAULT 0,
+ EncryptionKey TINYBLOB,
+ Comment BLOB,
+ PRIMARY KEY(MediaId),
+@@ -264,47 +279,32 @@
+ INDEX (PoolId)
+ );
+
+-CREATE TABLE Pool (
+- PoolId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+- Name TINYBLOB NOT NULL,
+- NumVols INTEGER UNSIGNED DEFAULT 0,
+- MaxVols INTEGER UNSIGNED DEFAULT 0,
+- UseOnce TINYINT DEFAULT 0,
+- UseCatalog TINYINT DEFAULT 0,
+- AcceptAnyVolume TINYINT DEFAULT 0,
+- VolRetention BIGINT UNSIGNED DEFAULT 0,
+- VolUseDuration BIGINT UNSIGNED DEFAULT 0,
+- MaxVolJobs INTEGER UNSIGNED DEFAULT 0,
+- MaxVolFiles INTEGER UNSIGNED DEFAULT 0,
+- MaxVolBytes BIGINT UNSIGNED DEFAULT 0,
+- AutoPrune TINYINT DEFAULT 0,
+- Recycle TINYINT DEFAULT 0,
+- ActionOnPurge TINYINT DEFAULT 0,
+- PoolType ENUM('Backup', 'Copy', 'Cloned', 'Archive', 'Migration', 'Scratch') NOT NULL,
+- LabelType TINYINT DEFAULT 0,
+- LabelFormat TINYBLOB,
+- Enabled TINYINT DEFAULT 1,
+- ScratchPoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool,
+- RecyclePoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool,
+- NextPoolId INTEGER UNSIGNED DEFAULT 0 REFERENCES Pool,
+- MinBlockSize INTEGER UNSIGNED DEFAULT 0,
+- MaxBlockSize INTEGER UNSIGNED DEFAULT 0,
+- MigrationHighBytes BIGINT UNSIGNED DEFAULT 0,
+- MigrationLowBytes BIGINT UNSIGNED DEFAULT 0,
+- MigrationTime BIGINT UNSIGNED DEFAULT 0,
+- UNIQUE (Name(128)),
+- PRIMARY KEY (PoolId)
++CREATE TABLE JobMedia (
++ JobMediaId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
++ JobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
++ MediaId INTEGER UNSIGNED NOT NULL REFERENCES Media,
++ FirstIndex INTEGER UNSIGNED DEFAULT 0,
++ LastIndex INTEGER UNSIGNED DEFAULT 0,
++ StartFile INTEGER UNSIGNED DEFAULT 0,
++ EndFile INTEGER UNSIGNED DEFAULT 0,
++ StartBlock INTEGER UNSIGNED DEFAULT 0,
++ EndBlock INTEGER UNSIGNED DEFAULT 0,
++ JobBytes NUMERIC(20) DEFAULT 0,
++ VolIndex INTEGER UNSIGNED DEFAULT 0,
++ PRIMARY KEY(JobMediaId),
++ INDEX (JobId, MediaId)
+ );
+
+-CREATE TABLE Client (
+- ClientId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+- Name TINYBLOB NOT NULL,
+- Uname TINYBLOB NOT NULL, /* full uname -a of client */
+- AutoPrune TINYINT DEFAULT 0,
+- FileRetention BIGINT UNSIGNED DEFAULT 0,
+- JobRetention BIGINT UNSIGNED DEFAULT 0,
+- UNIQUE (Name(128)),
+- PRIMARY KEY(ClientId)
++CREATE TABLE LocationLog (
++ LocLogId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
++ Date DATETIME DEFAULT NULL,
++ Comment BLOB NOT NULL,
++ MediaId INTEGER UNSIGNED DEFAULT 0 REFERENCES Media(MediaId),
++ LocationId INTEGER UNSIGNED DEFAULT 0 REFERENCES Location(LocationId),
++ NewVolStatus ENUM('Full', 'Archive', 'Append', 'Recycle', 'Purged',
++ 'Read-Only', 'Disabled', 'Error', 'Busy', 'Used', 'Cleaning') NOT NULL,
++ NewEnabled TINYINT,
++ PRIMARY KEY(LocLogId)
+ );
+
+ CREATE TABLE Log (
+@@ -318,9 +318,9 @@
+
+ CREATE TABLE BaseFiles (
+ BaseId BIGINT UNSIGNED AUTO_INCREMENT,
+- BaseJobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
+- JobId INTEGER UNSIGNED NOT NULL REFERENCES Job,
+- FileId BIGINT UNSIGNED NOT NULL REFERENCES File,
++ BaseJobId INTEGER UNSIGNED NOT NULL,
++ JobId INTEGER UNSIGNED NOT NULL REFERENCES Job(JobId),
++ FileId BIGINT UNSIGNED NOT NULL REFERENCES File(FileId),
+ FileIndex INTEGER UNSIGNED,
+ PRIMARY KEY(BaseId)
+ );
+@@ -360,7 +360,7 @@
+ );
+
+ CREATE INDEX pathhierarchy_ppathid
+- ON PathHierarchy (PPathId);
++ ON PathHierarchy (PPathId);
+
+ CREATE TABLE PathVisibility
+ (
+@@ -376,14 +376,14 @@
+ );
+
+ CREATE TABLE Quota (
+- ClientId INTEGER DEFAULT 0 REFERENCES Client,
++ ClientId INTEGER UNSIGNED DEFAULT 0 REFERENCES Client(ClientId),
+ GraceTime BIGINT DEFAULT 0,
+ QuotaLimit BIGINT UNSIGNED DEFAULT 0,
+ PRIMARY KEY (ClientId)
+ );
+
+ CREATE TABLE NDMPLevelMap (
+- ClientId INTEGER DEFAULT 0 REFERENCES Client(ClientId),
++ ClientId INTEGER UNSIGNED DEFAULT 0 REFERENCES Client(ClientId),
+ FileSetId INTEGER UNSIGNED DEFAULT 0 REFERENCES FileSet(FileSetId),
+ FileSystem TINYBLOB NOT NULL,
+ DumpLevel INTEGER NOT NULL,
diff --git a/restore-form.patch b/restore-form.patch
new file mode 100644
index 000000000000..986047463b5b
--- /dev/null
+++ b/restore-form.patch
@@ -0,0 +1,12 @@
+--- bareos/webui/module/Restore/src/Restore/Form/RestoreForm.php 2020-02-21 23:01:23.000000000 +0200
++++ bareos/webui/module/Restore/src/Restore/Form/RestoreForm.php 2020-04-09 23:28:34.194634728 +0300
+@@ -244,7 +244,8 @@
+ ));
+ }
+ else {
+- if(!empty($this->restore_params['client']) && count($this->getRestoreJobList()) == 1) {
++ // if(!empty($this->restore_params['client']) && count($this->getRestoreJobList()) == 1) {
++ if(!empty($this->restore_params['client']) && count($this->getRestoreJobList()) > 0) {
+ $this->add(array(
+ 'name' => 'restorejob',
+ 'type' => 'select',