upgraded assets for webpanel, further enhancements and fixes regarding docker env

This commit is contained in:
crieke
2026-04-13 04:19:15 +02:00
parent c4548430a7
commit 3c017e9c68
91 changed files with 78885 additions and 40249 deletions
+45 -25
View File
@@ -7,15 +7,8 @@ QCS_NAME="container-station"
QCS_QPKG_DIR=$(/sbin/getcfg $QCS_NAME Install_Path -f $CONF) QCS_QPKG_DIR=$(/sbin/getcfg $QCS_NAME Install_Path -f $CONF)
DOCKER_CMD=$QCS_QPKG_DIR/bin/system-docker DOCKER_CMD=$QCS_QPKG_DIR/bin/system-docker
CONTAINER_NAME=roonserver CONTAINER_NAME=roonserver
COMPOSE_YML_DIR=$QPKG_ROOT/docker/compose/ COMPOSE_YML_DIR=$QPKG_ROOT/docker/compose
ROONSERVER_OPTIONS=(`/sbin/getcfg $QPKG_NAME options -f ${CONF}`)
COMPOSE_FILES="\
-f $COMPOSE_YML_DIR/roonserver.yml \
-f $COMPOSE_YML_DIR/platform_specific.yml \
-f $COMPOSE_YML_DIR/smb_cifs_support.yml \
-f $COMPOSE_YML_DIR/audio.yml \
-f $COMPOSE_YML_DIR/audio_usb.yml \
-f $COMPOSE_YML_DIR/audio_hdmi.yml"
WEB_PATH="/home/httpd" WEB_PATH="/home/httpd"
WEBUI=$(/sbin/getcfg $QPKG_NAME webUI -f ${CONF}); WEBUI=$(/sbin/getcfg $QPKG_NAME webUI -f ${CONF});
@@ -23,7 +16,7 @@ WEBUI=$(/sbin/getcfg $QPKG_NAME webUI -f ${CONF});
ROONONNAS_DIR=`/sbin/getcfg $QPKG_NAME DB_Path -f /etc/config/qpkg.conf` ROONONNAS_DIR=`/sbin/getcfg $QPKG_NAME DB_Path -f /etc/config/qpkg.conf`
ROON_DATAROOT="${ROONONNAS_DIR}/RoonOnNAS" ROON_DATAROOT="${ROONONNAS_DIR}/RoonOnNAS"
ROON_TMP_DIR="${QPKG_ROOT}/tmp" ROON_TMP_DIR="${QPKG_ROOT}/tmp"
ROON_ID_DIR="${QPKG_ROOT}/id" ROON_ID_HOST_DIR="${QPKG_ROOT}/id"
QNAP_QTS_VER=$(/sbin/getcfg system version) QNAP_QTS_VER=$(/sbin/getcfg system version)
QNAP_QTS_BUILD=$(/sbin/getcfg system 'Build Number') QNAP_QTS_BUILD=$(/sbin/getcfg system 'Build Number')
@@ -44,6 +37,28 @@ ST_COLOR="\033[38;5;34m"
HL_COLOR="\033[38;5;197m" HL_COLOR="\033[38;5;197m"
REG_COLOR="\033[0m" REG_COLOR="\033[0m"
#specify options
for i in "${ROONSERVER_OPTIONS[@]}"
do
declare $i=true
done
compose_docker_yml_files () {
COMPOSE_FILES="\
-f ${COMPOSE_YML_DIR}/roonserver.yml \
-f ${COMPOSE_YML_DIR}/platform_specific.yml "
[ -z ${smb_cifs+x} ] || COMPOSE_FILES="${COMPOSE_FILES} -f $COMPOSE_YML_DIR/smb_cifs_support.yml"
( [ -z ${usb_audio+x} ] && [ -z ${hdmi_audio+x} ] ) || COMPOSE_FILES="${COMPOSE_FILES} -f $COMPOSE_YML_DIR/audio.yml"
[ -z ${usb_audio+x} ] || COMPOSE_FILES="${COMPOSE_FILES} -f $COMPOSE_YML_DIR/audio_usb.yml"
[ -z ${hdmi_audio+x} ] || COMPOSE_FILES="${COMPOSE_FILES} -f $COMPOSE_YML_DIR/audio_hdmi.yml"
}
## Log Function ## Log Function
echolog () { echolog () {
TIMESTAMP=$(date +%d.%m.%y-%H:%M:%S) TIMESTAMP=$(date +%d.%m.%y-%H:%M:%S)
@@ -66,7 +81,7 @@ info ()
## Echoing System Info ## Echoing System Info
echolog "ROON_DATABASE_DIR" "${ROON_DATAROOT} - [`[ -d \"${ROON_DATAROOT}\" ] && echo \"available\" || echo \"not available\"`]" echolog "ROON_DATABASE_DIR" "${ROON_DATAROOT} - [`[ -d \"${ROON_DATAROOT}\" ] && echo \"available\" || echo \"not available\"`]"
echolog "ROON_DATABASE_DIR_FS" "${ROON_DATABASE_DIR_FS}" echolog "ROON_DATABASE_DIR_FS" "${ROON_DATABASE_DIR_FS}"
echolog "ROON_ID_DIR" "$ROON_ID_DIR - [`[ -d \"$ROON_ID_DIR\" ] && echo \"available\" || echo \"not available\"`]" echolog "ROON_ID_HOST_DIR" "$ROON_ID_HOST_DIR - [`[ -d \"$ROON_ID_HOST_DIR\" ] && echo \"available\" || echo \"not available\"`]"
echolog "Free Inodes" "${ROON_DATABASE_DIR_FREE_INODES}" echolog "Free Inodes" "${ROON_DATABASE_DIR_FREE_INODES}"
echolog "ROON_DIR" "${QPKG_ROOT}" echolog "ROON_DIR" "${QPKG_ROOT}"
echolog "Model" "${QNAP_MODEL}" echolog "Model" "${QNAP_MODEL}"
@@ -88,18 +103,11 @@ RoonOnNAS_folderCheck ()
start_RoonServer () { start_RoonServer () {
if [ "${ROON_DATAROOT}" != "/RoonOnNAS" ] && [ -d "${ROON_DATAROOT}" ]; then if [ "${ROON_DATAROOT}" != "/RoonOnNAS" ] && [ -d "${ROON_DATAROOT}" ]; then
compose_docker_yml_files
export ROON_DATAROOT export_vars
export ROON_ID_DIR
export QNAP_MODEL
export QNAP_SERIAL
export QNAP_QTS_VER
export CONTAINER_NAME
## Creating required directories, if they do not exist ## Creating required directories, if they do not exist
[ -d "$ROON_ID_DIR" ] || mkdir "$ROON_ID_DIR" [ -d "$ROON_ID_HOST_DIR" ] || mkdir "$ROON_ID_HOST_DIR"
[ -d "$ROON_TMP_DIR" ] || mkdir "$ROON_TMP_DIR" [ -d "$ROON_TMP_DIR" ] || mkdir "$ROON_TMP_DIR"
${DOCKER_CMD} compose ${COMPOSE_FILES} up -d ${DOCKER_CMD} compose ${COMPOSE_FILES} up -d
@@ -107,6 +115,15 @@ start_RoonServer () {
fi fi
} }
export_vars ()
{
export ROON_DATAROOT
export QPKG_ROOT
export QNAP_MODEL
export QNAP_SERIAL
export QNAP_QTS_VER
export CONTAINER_NAME
}
start_daemon () start_daemon ()
{ {
@@ -124,20 +141,23 @@ case "$1" in
echolog "$QPKG_NAME is disabled." echolog "$QPKG_NAME is disabled."
exit 1 exit 1
fi fi
if [ ! "$(${DOCKER_CMD} ps -a -q -f name=$CONTAINER_NAME)" ]; then CONTAINER_ID=$(${DOCKER_CMD} ps -a -q -f name=$CONTAINER_NAME)
if [ ! "$CONTAINER_ID" ]; then
echo "not running" echo "not running"
start_daemon start_daemon
else else
echolog "${QPKG_NAME} is already running with..." echolog "${QPKG_NAME} is already running (ID: $CONTAINER_ID)"
fi fi
;; ;;
stop) stop)
if [ ! "$(${DOCKER_CMD} ps -a -q -f name=$CONTAINER_NAME)" ]; then CONTAINER_ID=$(${DOCKER_CMD} ps -a -q -f name=$CONTAINER_NAME)
if [ ! "$CONTAINER_ID" ]; then
echolog "${QPKG_NAME} is not running." echolog "${QPKG_NAME} is not running."
else else
echolog "Stopping RoonServer..." echolog "Stopping RoonServer..."
export CONTAINER_NAME compose_docker_yml_files
export_vars
${DOCKER_CMD} compose ${COMPOSE_FILES} down ${DOCKER_CMD} compose ${COMPOSE_FILES} down
if [[ $2 != "keepwebalive" ]]; then if [[ $2 != "keepwebalive" ]]; then
rm -rf "${QPKG_ROOT}/web/tmp"/* rm -rf "${QPKG_ROOT}/web/tmp"/*
@@ -1,22 +1,23 @@
services: services:
roonserver: roonserver:
environment: environment:
- "ROON_ID_DIR=/Roon/id"
# these vars are used by the (fake) qnap scripts
- "QNAP_MODEL=${QNAP_MODEL:-Docker}" - "QNAP_MODEL=${QNAP_MODEL:-Docker}"
- "QNAP_SERIAL=${QNAP_SERIAL:-NoSerial}" - "QNAP_SERIAL=${QNAP_SERIAL:-NoSerial}"
- "QNAP_QTS_VER=${QNAP_QTS_VER:-System}" - "QNAP_QTS_VER=${QNAP_QTS_VER:-System}"
- "ROONMNT_DIR=/Roon" - "ROON_QNAP_MNT_DIR=/Roon"
volumes: volumes:
# mount all disks and shared folders # mount all disks and shared folders
- /share:/share - /share:/share
# mount database folder # mount database folder
- ${ROON_DATAROOT:-/dev/null}:/Roon/data - ${ROON_DATAROOT:-/dev/null}:/Roon/data
# mount id from app dir, so it will be the same if a new database directory is selected in the qnap web panel
- ${ROON_ID_HOST_DIR}:/Roon/id
# mount qnap configfiles # mount qnap configfiles
- /etc/config/qpkg.conf:/etc/config/qpkg.conf:ro - /etc/config/qpkg.conf:/etc/config/qpkg.conf:ro
- /etc/os-release:/etc/os-release:ro - /etc/os-release:/etc/os-release:ro
# fake qnap binaries, that are used to identify host as qnap
# fake qnap binaries
- ../scripts/getcfg.sh:/sbin/getcfg:ro - ../scripts/getcfg.sh:/sbin/getcfg:ro
- ../scripts/getsysinfo.sh:/sbin/getsysinfo - ../scripts/getsysinfo.sh:/sbin/getsysinfo:ro
- ../scripts/get_hwsn.sh:/sbin/get_hwsn - ../scripts/get_hwsn.sh:/sbin/get_hwsn:ro
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
case "$1" in case "$1" in
"RoonServer") echo $ROONMNT_DIR "RoonServer") echo $ROON_QNAP_MNT_DIR
;; ;;
"system") echo $QNAP_QTS_VER "system") echo $QNAP_QTS_VER
;; ;;
+4 -3
View File
@@ -209,10 +209,11 @@ function isRunning($option = null)
function getRoonServerVersion($option = null) function getRoonServerVersion($option = null)
{ {
$getRoonServerVer = CS_INSTALLPATH . '/bin/system-docker exec -it roonserver cat /Roon/app/RoonServer/VERSION'; $getHostFS = CS_INSTALLPATH . '/bin/system-docker inspect '. isRunning() . ' | /usr/local/sbin/jq \'.[0].GraphDriver.Data.MergedDir\'';
$roonServerVer = exec($getRoonServerVer); $HostFS = exec($getHostFS);
$RoonVersion = file(trim($HostFS, '"') . "/Roon/app/RoonServer/VERSION");
return print_r($roonServerVer); return $RoonVersion;
} }
function downloadLogs($strSessionID, $dblocation) function downloadLogs($strSessionID, $dblocation)
+6
View File
@@ -56,6 +56,8 @@ define("NASLOCALHOST", $NASLOCALHOST);
define("APPINSTALLPATH", $qpkg_conf['RoonServer']['Install_Path']); define("APPINSTALLPATH", $qpkg_conf['RoonServer']['Install_Path']);
define("CS_INSTALLPATH", $qpkg_conf['container-station']['Install_Path']); define("CS_INSTALLPATH", $qpkg_conf['container-station']['Install_Path']);
$RoonVersion = file(rtrim(APPINSTALLPATH) . "/RoonServer/VERSION");
# Getting free space of database directory # Getting free space of database directory
if (array_key_exists('DB_Path', $roon_qpkg_conf)) { if (array_key_exists('DB_Path', $roon_qpkg_conf)) {
$qpkg_conf_db = $qpkg_conf['RoonServer']['DB_Path']; $qpkg_conf_db = $qpkg_conf['RoonServer']['DB_Path'];
@@ -70,5 +72,9 @@ if (isset($qpkg_conf_db)) {
$db_perc = round(100 - (($db_free_space / $db_vol_cap) * 100)); $db_perc = round(100 - (($db_free_space / $db_vol_cap) * 100));
} }
if (array_key_exists('options', $roon_qpkg_conf)) {
$qpkg_conf_options = $roon_qpkg_conf['options'];
}
?> ?>
+22 -21
View File
@@ -1,5 +1,5 @@
<?php <?php
if (isset($_COOKIE['NAS_USER']) && isset($_COOKIE['NAS_SID'])) { if (isset($_COOKIE['NAS_USER']) && isset($_COOKIE['NAS_SID'])) {
$context = stream_context_create(array('ssl'=>array( $context = stream_context_create(array('ssl'=>array(
'verify_peer' => false, 'verify_peer' => false,
'verify_peer_name' => false 'verify_peer_name' => false
@@ -18,6 +18,7 @@ if (isset($_COOKIE['NAS_USER']) && isset($_COOKIE['NAS_SID'])) {
die('Not logged in!'); die('Not logged in!');
} }
define('DOCROOT', '/home/httpd/cgi-bin/qpkg/RoonServer/'); define('DOCROOT', '/home/httpd/cgi-bin/qpkg/RoonServer/');
include(DOCROOT . "__include.php"); include(DOCROOT . "__include.php");
include(DOCROOT . "__functions.php"); include(DOCROOT . "__functions.php");
@@ -25,12 +26,11 @@ include(DOCROOT . "__functions.php");
$strVarAction = filter_var($_GET['a'], FILTER_SANITIZE_STRING); $strVarAction = filter_var($_GET['a'], FILTER_SANITIZE_STRING);
$strVarTree = filter_var($_GET['t'], FILTER_SANITIZE_STRING); $strVarTree = filter_var($_GET['t'], FILTER_SANITIZE_STRING);
$strModalContent = filter_var($_GET['c'], FILTER_SANITIZE_STRING); $strModalContent = filter_var($_GET['c'], FILTER_SANITIZE_STRING);
$strOptionsContent = filter_var($_GET['o'], FILTER_SANITIZE_STRING);
/* if ($strVarAction == 'test') {
* funktion prüfen auf etc echo "hi!";
*/ }
if ($strVarAction == 'gettree') { if ($strVarAction == 'gettree') {
$arr = getTreeAt(urlencode($strVarTree), $strSessionID); $arr = getTreeAt(urlencode($strVarTree), $strSessionID);
@@ -39,21 +39,6 @@ if ($strVarAction == 'gettree') {
exit(); exit();
} }
if ($strVarAction == 'checkHelperScript') {
$running = file_exists(APPINSTALLPATH . '/.helperscript.lock');
header('Content-Type: application/json');
if ($running) {
echo json_encode(array(
'success' => true
));
} else {
echo json_encode(array(
'success' => false
));
}
return true;
}
if ($strVarAction == 'dbPathIsSet') { if ($strVarAction == 'dbPathIsSet') {
$qpkg_conf = parse_ini_file('/etc/config/qpkg.conf', 1, INI_SCANNER_RAW); $qpkg_conf = parse_ini_file('/etc/config/qpkg.conf', 1, INI_SCANNER_RAW);
$roon_qpkg_conf = $qpkg_conf['RoonServer']; $roon_qpkg_conf = $qpkg_conf['RoonServer'];
@@ -70,6 +55,22 @@ if ($strVarAction == 'dbPathIsSet') {
return true; return true;
} }
if ($strVarAction == 'setOptions') {
$features = explode(';', $strOptionsContent);
shell_exec('setcfg RoonServer options "' . implode(' ', $features) . '" -f /etc/config/qpkg.conf');
$qpkg_conf = parse_ini_file('/etc/config/qpkg.conf', 1, INI_SCANNER_RAW);
$roon_qpkg_options = $qpkg_conf['RoonServer']['options'];
header('Content-Type: application/json');
//$obj = json_encode(array(
// 'success' => true
//));
echo json_encode(array(
'success' => true,
'options' => implode(' ', $features)
));
return true;
}
if ($strVarAction == 'updateformfield') { if ($strVarAction == 'updateformfield') {
set_db_path(escapeshellarg('/share' . $strVarTree)); set_db_path(escapeshellarg('/share' . $strVarTree));
flush(); flush();
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+396 -125
View File
@@ -1,57 +1,268 @@
/*! /*!
* Bootstrap Reboot v4.0.0 (https://getbootstrap.com) * Bootstrap Reboot v5.3.8 (https://getbootstrap.com/)
* Copyright 2011-2018 The Bootstrap Authors * Copyright 2011-2025 The Bootstrap Authors
* Copyright 2011-2018 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/ */
:root,
[data-bs-theme=light] {
--bs-blue: #0d6efd;
--bs-indigo: #6610f2;
--bs-purple: #6f42c1;
--bs-pink: #d63384;
--bs-red: #dc3545;
--bs-orange: #fd7e14;
--bs-yellow: #ffc107;
--bs-green: #198754;
--bs-teal: #20c997;
--bs-cyan: #0dcaf0;
--bs-black: #000;
--bs-white: #fff;
--bs-gray: #6c757d;
--bs-gray-dark: #343a40;
--bs-gray-100: #f8f9fa;
--bs-gray-200: #e9ecef;
--bs-gray-300: #dee2e6;
--bs-gray-400: #ced4da;
--bs-gray-500: #adb5bd;
--bs-gray-600: #6c757d;
--bs-gray-700: #495057;
--bs-gray-800: #343a40;
--bs-gray-900: #212529;
--bs-primary: #0d6efd;
--bs-secondary: #6c757d;
--bs-success: #198754;
--bs-info: #0dcaf0;
--bs-warning: #ffc107;
--bs-danger: #dc3545;
--bs-light: #f8f9fa;
--bs-dark: #212529;
--bs-primary-rgb: 13, 110, 253;
--bs-secondary-rgb: 108, 117, 125;
--bs-success-rgb: 25, 135, 84;
--bs-info-rgb: 13, 202, 240;
--bs-warning-rgb: 255, 193, 7;
--bs-danger-rgb: 220, 53, 69;
--bs-light-rgb: 248, 249, 250;
--bs-dark-rgb: 33, 37, 41;
--bs-primary-text-emphasis: #052c65;
--bs-secondary-text-emphasis: #2b2f32;
--bs-success-text-emphasis: #0a3622;
--bs-info-text-emphasis: #055160;
--bs-warning-text-emphasis: #664d03;
--bs-danger-text-emphasis: #58151c;
--bs-light-text-emphasis: #495057;
--bs-dark-text-emphasis: #495057;
--bs-primary-bg-subtle: #cfe2ff;
--bs-secondary-bg-subtle: #e2e3e5;
--bs-success-bg-subtle: #d1e7dd;
--bs-info-bg-subtle: #cff4fc;
--bs-warning-bg-subtle: #fff3cd;
--bs-danger-bg-subtle: #f8d7da;
--bs-light-bg-subtle: #fcfcfd;
--bs-dark-bg-subtle: #ced4da;
--bs-primary-border-subtle: #9ec5fe;
--bs-secondary-border-subtle: #c4c8cb;
--bs-success-border-subtle: #a3cfbb;
--bs-info-border-subtle: #9eeaf9;
--bs-warning-border-subtle: #ffe69c;
--bs-danger-border-subtle: #f1aeb5;
--bs-light-border-subtle: #e9ecef;
--bs-dark-border-subtle: #adb5bd;
--bs-white-rgb: 255, 255, 255;
--bs-black-rgb: 0, 0, 0;
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
--bs-body-font-family: var(--bs-font-sans-serif);
--bs-body-font-size: 1rem;
--bs-body-font-weight: 400;
--bs-body-line-height: 1.5;
--bs-body-color: #212529;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg: #fff;
--bs-body-bg-rgb: 255, 255, 255;
--bs-emphasis-color: #000;
--bs-emphasis-color-rgb: 0, 0, 0;
--bs-secondary-color: rgba(33, 37, 41, 0.75);
--bs-secondary-color-rgb: 33, 37, 41;
--bs-secondary-bg: #e9ecef;
--bs-secondary-bg-rgb: 233, 236, 239;
--bs-tertiary-color: rgba(33, 37, 41, 0.5);
--bs-tertiary-color-rgb: 33, 37, 41;
--bs-tertiary-bg: #f8f9fa;
--bs-tertiary-bg-rgb: 248, 249, 250;
--bs-heading-color: inherit;
--bs-link-color: #0d6efd;
--bs-link-color-rgb: 13, 110, 253;
--bs-link-decoration: underline;
--bs-link-hover-color: #0a58ca;
--bs-link-hover-color-rgb: 10, 88, 202;
--bs-code-color: #d63384;
--bs-highlight-color: #212529;
--bs-highlight-bg: #fff3cd;
--bs-border-width: 1px;
--bs-border-style: solid;
--bs-border-color: #dee2e6;
--bs-border-color-translucent: rgba(0, 0, 0, 0.175);
--bs-border-radius: 0.375rem;
--bs-border-radius-sm: 0.25rem;
--bs-border-radius-lg: 0.5rem;
--bs-border-radius-xl: 1rem;
--bs-border-radius-xxl: 2rem;
--bs-border-radius-2xl: var(--bs-border-radius-xxl);
--bs-border-radius-pill: 50rem;
--bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
--bs-focus-ring-width: 0.25rem;
--bs-focus-ring-opacity: 0.25;
--bs-focus-ring-color: rgba(13, 110, 253, 0.25);
--bs-form-valid-color: #198754;
--bs-form-valid-border-color: #198754;
--bs-form-invalid-color: #dc3545;
--bs-form-invalid-border-color: #dc3545;
}
[data-bs-theme=dark] {
color-scheme: dark;
--bs-body-color: #dee2e6;
--bs-body-color-rgb: 222, 226, 230;
--bs-body-bg: #212529;
--bs-body-bg-rgb: 33, 37, 41;
--bs-emphasis-color: #fff;
--bs-emphasis-color-rgb: 255, 255, 255;
--bs-secondary-color: rgba(222, 226, 230, 0.75);
--bs-secondary-color-rgb: 222, 226, 230;
--bs-secondary-bg: #343a40;
--bs-secondary-bg-rgb: 52, 58, 64;
--bs-tertiary-color: rgba(222, 226, 230, 0.5);
--bs-tertiary-color-rgb: 222, 226, 230;
--bs-tertiary-bg: #2b3035;
--bs-tertiary-bg-rgb: 43, 48, 53;
--bs-primary-text-emphasis: #6ea8fe;
--bs-secondary-text-emphasis: #a7acb1;
--bs-success-text-emphasis: #75b798;
--bs-info-text-emphasis: #6edff6;
--bs-warning-text-emphasis: #ffda6a;
--bs-danger-text-emphasis: #ea868f;
--bs-light-text-emphasis: #f8f9fa;
--bs-dark-text-emphasis: #dee2e6;
--bs-primary-bg-subtle: #031633;
--bs-secondary-bg-subtle: #161719;
--bs-success-bg-subtle: #051b11;
--bs-info-bg-subtle: #032830;
--bs-warning-bg-subtle: #332701;
--bs-danger-bg-subtle: #2c0b0e;
--bs-light-bg-subtle: #343a40;
--bs-dark-bg-subtle: #1a1d20;
--bs-primary-border-subtle: #084298;
--bs-secondary-border-subtle: #41464b;
--bs-success-border-subtle: #0f5132;
--bs-info-border-subtle: #087990;
--bs-warning-border-subtle: #997404;
--bs-danger-border-subtle: #842029;
--bs-light-border-subtle: #495057;
--bs-dark-border-subtle: #343a40;
--bs-heading-color: inherit;
--bs-link-color: #6ea8fe;
--bs-link-hover-color: #8bb9fe;
--bs-link-color-rgb: 110, 168, 254;
--bs-link-hover-color-rgb: 139, 185, 254;
--bs-code-color: #e685b5;
--bs-highlight-color: #dee2e6;
--bs-highlight-bg: #664d03;
--bs-border-color: #495057;
--bs-border-color-translucent: rgba(255, 255, 255, 0.15);
--bs-form-valid-color: #75b798;
--bs-form-valid-border-color: #75b798;
--bs-form-invalid-color: #ea868f;
--bs-form-invalid-border-color: #ea868f;
}
*, *,
*::before, *::before,
*::after { *::after {
box-sizing: border-box; box-sizing: border-box;
} }
html { @media (prefers-reduced-motion: no-preference) {
font-family: sans-serif; :root {
line-height: 1.15; scroll-behavior: smooth;
-webkit-text-size-adjust: 100%; }
-ms-text-size-adjust: 100%;
-ms-overflow-style: scrollbar;
-webkit-tap-highlight-color: transparent;
}
@-ms-viewport {
width: device-width;
}
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
display: block;
} }
body { body {
margin: 0; margin: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-family: var(--bs-body-font-family);
font-size: 1rem; font-size: var(--bs-body-font-size);
font-weight: 400; font-weight: var(--bs-body-font-weight);
line-height: 1.5; line-height: var(--bs-body-line-height);
color: #212529; color: var(--bs-body-color);
text-align: left; text-align: var(--bs-body-text-align);
background-color: #fff; background-color: var(--bs-body-bg);
} -webkit-text-size-adjust: 100%;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
[tabindex="-1"]:focus {
outline: 0 !important;
} }
hr { hr {
box-sizing: content-box; margin: 1rem 0;
height: 0; color: inherit;
overflow: visible; border: 0;
border-top: var(--bs-border-width) solid;
opacity: 0.25;
} }
h1, h2, h3, h4, h5, h6 { h6, h5, h4, h3, h2, h1 {
margin-top: 0; margin-top: 0;
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
font-weight: 500;
line-height: 1.2;
color: var(--bs-heading-color);
}
h1 {
font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
h1 {
font-size: 2.5rem;
}
}
h2 {
font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
h2 {
font-size: 2rem;
}
}
h3 {
font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
h3 {
font-size: 1.75rem;
}
}
h4 {
font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
h4 {
font-size: 1.5rem;
}
}
h5 {
font-size: 1.25rem;
}
h6 {
font-size: 1rem;
} }
p { p {
@@ -59,13 +270,12 @@ p {
margin-bottom: 1rem; margin-bottom: 1rem;
} }
abbr[title], abbr[title] {
abbr[data-original-title] {
text-decoration: underline;
-webkit-text-decoration: underline dotted; -webkit-text-decoration: underline dotted;
text-decoration: underline dotted; text-decoration: underline dotted;
cursor: help; cursor: help;
border-bottom: 0; -webkit-text-decoration-skip-ink: none;
text-decoration-skip-ink: none;
} }
address { address {
@@ -74,6 +284,11 @@ address {
line-height: inherit; line-height: inherit;
} }
ol,
ul {
padding-left: 2rem;
}
ol, ol,
ul, ul,
dl { dl {
@@ -93,7 +308,7 @@ dt {
} }
dd { dd {
margin-bottom: .5rem; margin-bottom: 0.5rem;
margin-left: 0; margin-left: 0;
} }
@@ -101,117 +316,139 @@ blockquote {
margin: 0 0 1rem; margin: 0 0 1rem;
} }
dfn {
font-style: italic;
}
b, b,
strong { strong {
font-weight: bolder; font-weight: bolder;
} }
small { small {
font-size: 80%; font-size: 0.875em;
}
mark {
padding: 0.1875em;
color: var(--bs-highlight-color);
background-color: var(--bs-highlight-bg);
} }
sub, sub,
sup { sup {
position: relative; position: relative;
font-size: 75%; font-size: 0.75em;
line-height: 0; line-height: 0;
vertical-align: baseline; vertical-align: baseline;
} }
sub { sub {
bottom: -.25em; bottom: -0.25em;
} }
sup { sup {
top: -.5em; top: -0.5em;
} }
a { a {
color: #007bff; color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
text-decoration: none;
background-color: transparent;
-webkit-text-decoration-skip: objects;
}
a:hover {
color: #0056b3;
text-decoration: underline; text-decoration: underline;
} }
a:hover {
a:not([href]):not([tabindex]) { --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
color: inherit;
text-decoration: none;
} }
a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { a:not([href]):not([class]), a:not([href]):not([class]):hover {
color: inherit; color: inherit;
text-decoration: none; text-decoration: none;
} }
a:not([href]):not([tabindex]):focus {
outline: 0;
}
pre, pre,
code, code,
kbd, kbd,
samp { samp {
font-family: monospace, monospace; font-family: var(--bs-font-monospace);
font-size: 1em; font-size: 1em;
} }
pre { pre {
display: block;
margin-top: 0; margin-top: 0;
margin-bottom: 1rem; margin-bottom: 1rem;
overflow: auto; overflow: auto;
-ms-overflow-style: scrollbar; font-size: 0.875em;
}
pre code {
font-size: inherit;
color: inherit;
word-break: normal;
}
code {
font-size: 0.875em;
color: var(--bs-code-color);
word-wrap: break-word;
}
a > code {
color: inherit;
}
kbd {
padding: 0.1875rem 0.375rem;
font-size: 0.875em;
color: var(--bs-body-bg);
background-color: var(--bs-body-color);
border-radius: 0.25rem;
}
kbd kbd {
padding: 0;
font-size: 1em;
} }
figure { figure {
margin: 0 0 1rem; margin: 0 0 1rem;
} }
img { img,
svg {
vertical-align: middle; vertical-align: middle;
border-style: none;
}
svg:not(:root) {
overflow: hidden;
} }
table { table {
caption-side: bottom;
border-collapse: collapse; border-collapse: collapse;
} }
caption { caption {
padding-top: 0.75rem; padding-top: 0.5rem;
padding-bottom: 0.75rem; padding-bottom: 0.5rem;
color: #6c757d; color: var(--bs-secondary-color);
text-align: left; text-align: left;
caption-side: bottom;
} }
th { th {
text-align: inherit; text-align: inherit;
text-align: -webkit-match-parent;
}
thead,
tbody,
tfoot,
tr,
td,
th {
border-color: inherit;
border-style: solid;
border-width: 0;
} }
label { label {
display: inline-block; display: inline-block;
margin-bottom: .5rem;
} }
button { button {
border-radius: 0; border-radius: 0;
} }
button:focus { button:focus:not(:focus-visible) {
outline: 1px dotted; outline: 0;
outline: 5px auto -webkit-focus-ring-color;
} }
input, input,
@@ -225,46 +462,45 @@ textarea {
line-height: inherit; line-height: inherit;
} }
button,
input {
overflow: visible;
}
button, button,
select { select {
text-transform: none; text-transform: none;
} }
button, [role=button] {
html [type="button"], cursor: pointer;
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
} }
button::-moz-focus-inner, select {
[type="button"]::-moz-focus-inner, word-wrap: normal;
[type="reset"]::-moz-focus-inner, }
[type="submit"]::-moz-focus-inner { select:disabled {
opacity: 1;
}
[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
display: none !important;
}
button,
[type=button],
[type=reset],
[type=submit] {
-webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
cursor: pointer;
}
::-moz-focus-inner {
padding: 0; padding: 0;
border-style: none; border-style: none;
} }
input[type="radio"],
input[type="checkbox"] {
box-sizing: border-box;
padding: 0;
}
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox;
}
textarea { textarea {
overflow: auto;
resize: vertical; resize: vertical;
} }
@@ -276,34 +512,59 @@ fieldset {
} }
legend { legend {
display: block; float: left;
width: 100%; width: 100%;
max-width: 100%;
padding: 0; padding: 0;
margin-bottom: .5rem; margin-bottom: 0.5rem;
font-size: 1.5rem;
line-height: inherit; line-height: inherit;
color: inherit; font-size: calc(1.275rem + 0.3vw);
white-space: normal; }
@media (min-width: 1200px) {
legend {
font-size: 1.5rem;
}
}
legend + * {
clear: left;
} }
progress { ::-webkit-datetime-edit-fields-wrapper,
vertical-align: baseline; ::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
padding: 0;
} }
[type="number"]::-webkit-inner-spin-button, ::-webkit-inner-spin-button {
[type="number"]::-webkit-outer-spin-button {
height: auto; height: auto;
} }
[type="search"] { [type=search] {
-webkit-appearance: textfield;
outline-offset: -2px; outline-offset: -2px;
}
[type=search]::-webkit-search-cancel-button {
cursor: pointer;
filter: grayscale(1);
}
/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
direction: ltr;
}
*/
::-webkit-search-decoration {
-webkit-appearance: none; -webkit-appearance: none;
} }
[type="search"]::-webkit-search-cancel-button, ::-webkit-color-swatch-wrapper {
[type="search"]::-webkit-search-decoration { padding: 0;
-webkit-appearance: none;
} }
::-webkit-file-upload-button { ::-webkit-file-upload-button {
@@ -311,20 +572,30 @@ progress {
-webkit-appearance: button; -webkit-appearance: button;
} }
::file-selector-button {
font: inherit;
-webkit-appearance: button;
}
output { output {
display: inline-block; display: inline-block;
} }
iframe {
border: 0;
}
summary { summary {
display: list-item; display: list-item;
cursor: pointer; cursor: pointer;
} }
template { progress {
display: none; vertical-align: baseline;
} }
[hidden] { [hidden] {
display: none !important; display: none !important;
} }
/*# sourceMappingURL=bootstrap-reboot.css.map */ /*# sourceMappingURL=bootstrap-reboot.css.map */
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,598 @@
/*!
* Bootstrap Reboot v5.3.8 (https://getbootstrap.com/)
* Copyright 2011-2025 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
:root,
[data-bs-theme=light] {
--bs-blue: #0d6efd;
--bs-indigo: #6610f2;
--bs-purple: #6f42c1;
--bs-pink: #d63384;
--bs-red: #dc3545;
--bs-orange: #fd7e14;
--bs-yellow: #ffc107;
--bs-green: #198754;
--bs-teal: #20c997;
--bs-cyan: #0dcaf0;
--bs-black: #000;
--bs-white: #fff;
--bs-gray: #6c757d;
--bs-gray-dark: #343a40;
--bs-gray-100: #f8f9fa;
--bs-gray-200: #e9ecef;
--bs-gray-300: #dee2e6;
--bs-gray-400: #ced4da;
--bs-gray-500: #adb5bd;
--bs-gray-600: #6c757d;
--bs-gray-700: #495057;
--bs-gray-800: #343a40;
--bs-gray-900: #212529;
--bs-primary: #0d6efd;
--bs-secondary: #6c757d;
--bs-success: #198754;
--bs-info: #0dcaf0;
--bs-warning: #ffc107;
--bs-danger: #dc3545;
--bs-light: #f8f9fa;
--bs-dark: #212529;
--bs-primary-rgb: 13, 110, 253;
--bs-secondary-rgb: 108, 117, 125;
--bs-success-rgb: 25, 135, 84;
--bs-info-rgb: 13, 202, 240;
--bs-warning-rgb: 255, 193, 7;
--bs-danger-rgb: 220, 53, 69;
--bs-light-rgb: 248, 249, 250;
--bs-dark-rgb: 33, 37, 41;
--bs-primary-text-emphasis: #052c65;
--bs-secondary-text-emphasis: #2b2f32;
--bs-success-text-emphasis: #0a3622;
--bs-info-text-emphasis: #055160;
--bs-warning-text-emphasis: #664d03;
--bs-danger-text-emphasis: #58151c;
--bs-light-text-emphasis: #495057;
--bs-dark-text-emphasis: #495057;
--bs-primary-bg-subtle: #cfe2ff;
--bs-secondary-bg-subtle: #e2e3e5;
--bs-success-bg-subtle: #d1e7dd;
--bs-info-bg-subtle: #cff4fc;
--bs-warning-bg-subtle: #fff3cd;
--bs-danger-bg-subtle: #f8d7da;
--bs-light-bg-subtle: #fcfcfd;
--bs-dark-bg-subtle: #ced4da;
--bs-primary-border-subtle: #9ec5fe;
--bs-secondary-border-subtle: #c4c8cb;
--bs-success-border-subtle: #a3cfbb;
--bs-info-border-subtle: #9eeaf9;
--bs-warning-border-subtle: #ffe69c;
--bs-danger-border-subtle: #f1aeb5;
--bs-light-border-subtle: #e9ecef;
--bs-dark-border-subtle: #adb5bd;
--bs-white-rgb: 255, 255, 255;
--bs-black-rgb: 0, 0, 0;
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
--bs-body-font-family: var(--bs-font-sans-serif);
--bs-body-font-size: 1rem;
--bs-body-font-weight: 400;
--bs-body-line-height: 1.5;
--bs-body-color: #212529;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg: #fff;
--bs-body-bg-rgb: 255, 255, 255;
--bs-emphasis-color: #000;
--bs-emphasis-color-rgb: 0, 0, 0;
--bs-secondary-color: rgba(33, 37, 41, 0.75);
--bs-secondary-color-rgb: 33, 37, 41;
--bs-secondary-bg: #e9ecef;
--bs-secondary-bg-rgb: 233, 236, 239;
--bs-tertiary-color: rgba(33, 37, 41, 0.5);
--bs-tertiary-color-rgb: 33, 37, 41;
--bs-tertiary-bg: #f8f9fa;
--bs-tertiary-bg-rgb: 248, 249, 250;
--bs-heading-color: inherit;
--bs-link-color: #0d6efd;
--bs-link-color-rgb: 13, 110, 253;
--bs-link-decoration: underline;
--bs-link-hover-color: #0a58ca;
--bs-link-hover-color-rgb: 10, 88, 202;
--bs-code-color: #d63384;
--bs-highlight-color: #212529;
--bs-highlight-bg: #fff3cd;
--bs-border-width: 1px;
--bs-border-style: solid;
--bs-border-color: #dee2e6;
--bs-border-color-translucent: rgba(0, 0, 0, 0.175);
--bs-border-radius: 0.375rem;
--bs-border-radius-sm: 0.25rem;
--bs-border-radius-lg: 0.5rem;
--bs-border-radius-xl: 1rem;
--bs-border-radius-xxl: 2rem;
--bs-border-radius-2xl: var(--bs-border-radius-xxl);
--bs-border-radius-pill: 50rem;
--bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
--bs-focus-ring-width: 0.25rem;
--bs-focus-ring-opacity: 0.25;
--bs-focus-ring-color: rgba(13, 110, 253, 0.25);
--bs-form-valid-color: #198754;
--bs-form-valid-border-color: #198754;
--bs-form-invalid-color: #dc3545;
--bs-form-invalid-border-color: #dc3545;
}
[data-bs-theme=dark] {
color-scheme: dark;
--bs-body-color: #dee2e6;
--bs-body-color-rgb: 222, 226, 230;
--bs-body-bg: #212529;
--bs-body-bg-rgb: 33, 37, 41;
--bs-emphasis-color: #fff;
--bs-emphasis-color-rgb: 255, 255, 255;
--bs-secondary-color: rgba(222, 226, 230, 0.75);
--bs-secondary-color-rgb: 222, 226, 230;
--bs-secondary-bg: #343a40;
--bs-secondary-bg-rgb: 52, 58, 64;
--bs-tertiary-color: rgba(222, 226, 230, 0.5);
--bs-tertiary-color-rgb: 222, 226, 230;
--bs-tertiary-bg: #2b3035;
--bs-tertiary-bg-rgb: 43, 48, 53;
--bs-primary-text-emphasis: #6ea8fe;
--bs-secondary-text-emphasis: #a7acb1;
--bs-success-text-emphasis: #75b798;
--bs-info-text-emphasis: #6edff6;
--bs-warning-text-emphasis: #ffda6a;
--bs-danger-text-emphasis: #ea868f;
--bs-light-text-emphasis: #f8f9fa;
--bs-dark-text-emphasis: #dee2e6;
--bs-primary-bg-subtle: #031633;
--bs-secondary-bg-subtle: #161719;
--bs-success-bg-subtle: #051b11;
--bs-info-bg-subtle: #032830;
--bs-warning-bg-subtle: #332701;
--bs-danger-bg-subtle: #2c0b0e;
--bs-light-bg-subtle: #343a40;
--bs-dark-bg-subtle: #1a1d20;
--bs-primary-border-subtle: #084298;
--bs-secondary-border-subtle: #41464b;
--bs-success-border-subtle: #0f5132;
--bs-info-border-subtle: #087990;
--bs-warning-border-subtle: #997404;
--bs-danger-border-subtle: #842029;
--bs-light-border-subtle: #495057;
--bs-dark-border-subtle: #343a40;
--bs-heading-color: inherit;
--bs-link-color: #6ea8fe;
--bs-link-hover-color: #8bb9fe;
--bs-link-color-rgb: 110, 168, 254;
--bs-link-hover-color-rgb: 139, 185, 254;
--bs-code-color: #e685b5;
--bs-highlight-color: #dee2e6;
--bs-highlight-bg: #664d03;
--bs-border-color: #495057;
--bs-border-color-translucent: rgba(255, 255, 255, 0.15);
--bs-form-valid-color: #75b798;
--bs-form-valid-border-color: #75b798;
--bs-form-invalid-color: #ea868f;
--bs-form-invalid-border-color: #ea868f;
}
*,
*::before,
*::after {
box-sizing: border-box;
}
@media (prefers-reduced-motion: no-preference) {
:root {
scroll-behavior: smooth;
}
}
body {
margin: 0;
font-family: var(--bs-body-font-family);
font-size: var(--bs-body-font-size);
font-weight: var(--bs-body-font-weight);
line-height: var(--bs-body-line-height);
color: var(--bs-body-color);
text-align: var(--bs-body-text-align);
background-color: var(--bs-body-bg);
-webkit-text-size-adjust: 100%;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
hr {
margin: 1rem 0;
color: inherit;
border: 0;
border-top: var(--bs-border-width) solid;
opacity: 0.25;
}
h6, h5, h4, h3, h2, h1 {
margin-top: 0;
margin-bottom: 0.5rem;
font-weight: 500;
line-height: 1.2;
color: var(--bs-heading-color);
}
h1 {
font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
h1 {
font-size: 2.5rem;
}
}
h2 {
font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
h2 {
font-size: 2rem;
}
}
h3 {
font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
h3 {
font-size: 1.75rem;
}
}
h4 {
font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
h4 {
font-size: 1.5rem;
}
}
h5 {
font-size: 1.25rem;
}
h6 {
font-size: 1rem;
}
p {
margin-top: 0;
margin-bottom: 1rem;
}
abbr[title] {
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
cursor: help;
-webkit-text-decoration-skip-ink: none;
text-decoration-skip-ink: none;
}
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
ol,
ul {
padding-right: 2rem;
}
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
dt {
font-weight: 700;
}
dd {
margin-bottom: 0.5rem;
margin-right: 0;
}
blockquote {
margin: 0 0 1rem;
}
b,
strong {
font-weight: bolder;
}
small {
font-size: 0.875em;
}
mark {
padding: 0.1875em;
color: var(--bs-highlight-color);
background-color: var(--bs-highlight-bg);
}
sub,
sup {
position: relative;
font-size: 0.75em;
line-height: 0;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
a {
color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
text-decoration: underline;
}
a:hover {
--bs-link-color-rgb: var(--bs-link-hover-color-rgb);
}
a:not([href]):not([class]), a:not([href]):not([class]):hover {
color: inherit;
text-decoration: none;
}
pre,
code,
kbd,
samp {
font-family: var(--bs-font-monospace);
font-size: 1em;
}
pre {
display: block;
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
font-size: 0.875em;
}
pre code {
font-size: inherit;
color: inherit;
word-break: normal;
}
code {
font-size: 0.875em;
color: var(--bs-code-color);
word-wrap: break-word;
}
a > code {
color: inherit;
}
kbd {
padding: 0.1875rem 0.375rem;
font-size: 0.875em;
color: var(--bs-body-bg);
background-color: var(--bs-body-color);
border-radius: 0.25rem;
}
kbd kbd {
padding: 0;
font-size: 1em;
}
figure {
margin: 0 0 1rem;
}
img,
svg {
vertical-align: middle;
}
table {
caption-side: bottom;
border-collapse: collapse;
}
caption {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
color: var(--bs-secondary-color);
text-align: right;
}
th {
text-align: inherit;
text-align: -webkit-match-parent;
}
thead,
tbody,
tfoot,
tr,
td,
th {
border-color: inherit;
border-style: solid;
border-width: 0;
}
label {
display: inline-block;
}
button {
border-radius: 0;
}
button:focus:not(:focus-visible) {
outline: 0;
}
input,
button,
select,
optgroup,
textarea {
margin: 0;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
button,
select {
text-transform: none;
}
[role=button] {
cursor: pointer;
}
select {
word-wrap: normal;
}
select:disabled {
opacity: 1;
}
[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
display: none !important;
}
button,
[type=button],
[type=reset],
[type=submit] {
-webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
cursor: pointer;
}
::-moz-focus-inner {
padding: 0;
border-style: none;
}
textarea {
resize: vertical;
}
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
legend {
float: right;
width: 100%;
padding: 0;
margin-bottom: 0.5rem;
line-height: inherit;
font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
legend {
font-size: 1.5rem;
}
}
legend + * {
clear: right;
}
::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
padding: 0;
}
::-webkit-inner-spin-button {
height: auto;
}
[type=search] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
[type=search]::-webkit-search-cancel-button {
cursor: pointer;
filter: grayscale(1);
}
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
direction: ltr;
}
::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-color-swatch-wrapper {
padding: 0;
}
::-webkit-file-upload-button {
font: inherit;
-webkit-appearance: button;
}
::file-selector-button {
font: inherit;
-webkit-appearance: button;
}
output {
display: inline-block;
}
iframe {
border: 0;
}
summary {
display: list-item;
cursor: pointer;
}
progress {
vertical-align: baseline;
}
[hidden] {
display: none !important;
}
/*# sourceMappingURL=bootstrap-reboot.rtl.css.map */
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-54
View File
@@ -1,54 +0,0 @@
.gj-frm-ctrl {
display: block;
padding: 6px 12px;
font-size: 14px;
color: #555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 4px;
}
.gj-margin-top-10 {
margin-top: 10px;
}
.gj-margin-top-20 {
margin-top: 20px;
}
.gj-float-left {
float: left;
}
.gj-float-right {
float: right;
}
.gj-display-inline {
display: inline;
}
.gj-display-inline-block {
display: inline-block;
}
.gj-bold {
font-weight: bold;
}
.gj-display-none {
display: none;
}
.gj-width-200 {
width: 200px;
}
.gj-width-240 {
width: 240px;
}
.gj-clear-both {
clear: both;
}
-1
View File
@@ -1 +0,0 @@
.gj-frm-ctrl{display:block;padding:6px 12px;font-size:14px;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px}.gj-margin-top-10{margin-top:10px}.gj-margin-top-20{margin-top:20px}.gj-float-left{float:left}.gj-float-right{float:right}.gj-display-inline{display:inline}.gj-display-inline-block{display:inline-block}.gj-bold{font-weight:700}.gj-display-none{display:none}.gj-width-200{width:200px}.gj-width-240{width:240px}.gj-clear-both{clear:both}
+190 -24
View File
@@ -178,7 +178,7 @@
right: 0; right: 0;
bottom: 0; bottom: 0;
left: 0; left: 0;
z-index: 2; z-index: 1203;
display: none; display: none;
overflow: hidden; overflow: hidden;
-webkit-overflow-scrolling: touch; -webkit-overflow-scrolling: touch;
@@ -309,8 +309,7 @@ ul.gj-list-md li.disabled>[data-role="wrapper"]>[data-role="display"] {
} }
.gj-list-md-active { .gj-list-md-active {
/* background: #E8EAF6; */ background: #e0e0e0;
background: rgba(0,0,0,.12);
color: #3f51b5; color: #3f51b5;
} }
@@ -318,7 +317,7 @@ ul.gj-list-md li.disabled>[data-role="wrapper"]>[data-role="display"] {
/* Picker */ /* Picker */
.gj-picker { .gj-picker {
position: absolute; position: absolute;
z-index: 1202; z-index: 1203;
background-color: #fff; background-color: #fff;
} }
@@ -673,6 +672,19 @@ ul.gj-list-md li.disabled>[data-role="wrapper"]>[data-role="display"] {
line-height: 1.5; line-height: 1.5;
} }
/** Bootstrap 5 **/
.gj-dialog-bootstrap5 {
overflow: hidden;
z-index: 1202;
}
.gj-dialog-bootstrap5 [data-role="title"] {
display: inline;
}
.gj-dialog-bootstrap5 [data-role="close"] {
line-height: 1.5;
}
/** Material Design **/ /** Material Design **/
.gj-dialog-md { .gj-dialog-md {
background-color: #FFF; background-color: #FFF;
@@ -867,10 +879,14 @@ table.gj-grid-bootstrap tbody tr td div[data-role="display"] {
padding-top: 2px; padding-top: 2px;
} }
.gj-grid-bootstrap-4 tbody tr.active {
background-color: rgba(0,0,0,.075);
}
/* Material Design Theme */ /* Material Design Theme */
.gj-grid-md { .gj-grid-md {
position: relative; position: relative;
border: 1px solid rgba(0,0,0,.12); border: 1px solid #e0e0e0;
border-collapse: collapse; border-collapse: collapse;
white-space: nowrap; white-space: nowrap;
font-size: 13px; font-size: 13px;
@@ -900,8 +916,8 @@ table.gj-grid-bootstrap tbody tr td div[data-role="display"] {
.gj-grid-md td { .gj-grid-md td {
position: relative; position: relative;
height: 48px; height: 48px;
border-top: 1px solid rgba(0,0,0,.12); border-top: 1px solid #e0e0e0;
border-bottom: 1px solid rgba(0,0,0,.12); border-bottom: 1px solid #e0e0e0;
padding: 12px 18px; padding: 12px 18px;
box-sizing: border-box; box-sizing: border-box;
text-align: left; text-align: left;
@@ -1109,7 +1125,7 @@ span.gj-grid-column-resizer {
width: 10px; width: 10px;
top: -100px; top: -100px;
height: 300px; height: 300px;
z-index: 1202; z-index: 1203;
cursor: e-resize; cursor: e-resize;
} }
@@ -1283,7 +1299,7 @@ span.gj-grid-column-resizer {
height: 42px; height: 42px;
} }
.gj-grid-md thead tr[data-role="filter"] th { .gj-grid-md thead tr[data-role="filter"] th {
border-top: 1px solid rgba(0,0,0,.12); border-top: 1px solid #e0e0e0;
} }
div.gj-grid-wrapper div.gj-grid-bootstrap-toolbar { div.gj-grid-wrapper div.gj-grid-bootstrap-toolbar {
@@ -1306,9 +1322,9 @@ div.gj-grid-wrapper div.gj-grid-md-toolbar {
font-family: "Helvetica","Arial",sans-serif; font-family: "Helvetica","Arial",sans-serif;
background-color: rgb(255, 255, 255); background-color: rgb(255, 255, 255);
border-top: 1px solid rgba(0,0,0,.12); border-top: 1px solid #e0e0e0;
border-left: 1px solid rgba(0,0,0,.12); border-left: 1px solid #e0e0e0;
border-right: 1px solid rgba(0,0,0,.12); border-right: 1px solid #e0e0e0;
border-bottom: 0px; border-bottom: 0px;
border-collapse: collapse; border-collapse: collapse;
@@ -1327,12 +1343,12 @@ table.gj-grid-md.gj-grid-scrollable {
} }
table.gj-grid-md.gj-grid-scrollable tbody { table.gj-grid-md.gj-grid-scrollable tbody {
border-right: 1px solid rgba(0,0,0,.12); border-right: 1px solid #e0e0e0;
border-bottom: 1px solid rgba(0,0,0,.12); border-bottom: 1px solid #e0e0e0;
} }
table.gj-grid-md.gj-grid-scrollable tfoot { table.gj-grid-md.gj-grid-scrollable tfoot {
border-bottom: 1px solid rgba(0,0,0,.12); border-bottom: 1px solid #e0e0e0;
} }
/* Bootstrap 3 */ /* Bootstrap 3 */
@@ -1423,6 +1439,19 @@ ul.gj-list li [data-role="expander"] {
width: 100%; width: 100%;
} }
.gj-tree-bootstrap-5 ul.gj-list-bootstrap li.active {
color: #fff;
background-color: rgb(13, 110, 253);
}
.gj-tree-bootstrap-5 ul.gj-list-bootstrap li.disabled {
color: #868e96;
}
.gj-tree-bootstrap-5 ul.gj-list-bootstrap li ul.gj-list-bootstrap {
width: 100%;
}
.gj-tree-bootstrap-border ul.gj-list-bootstrap li { .gj-tree-bootstrap-border ul.gj-list-bootstrap li {
border: 1px solid #ddd; border: 1px solid #ddd;
} }
@@ -1605,6 +1634,20 @@ ul.gj-list-md li.disabled > [data-role="wrapper"] > [data-role="expander"] {
font-size: 16px; font-size: 16px;
} }
/* Bootstrap 5 */
.gj-checkbox-bootstrap.gj-checkbox-bootstrap-5 span {
line-height: 16px;
padding: 0px;
}
.gj-checkbox-bootstrap-5.gj-checkbox-material-icons input[type="checkbox"]:checked + span:after {
font-size: 16px;
}
.gj-checkbox-bootstrap-5.gj-checkbox-material-icons input[type="checkbox"]:indeterminate + span:after {
font-size: 16px;
}
/* Material Design */ /* Material Design */
.gj-checkbox-md { .gj-checkbox-md {
min-width: 0; min-width: 0;
@@ -1703,6 +1746,9 @@ ul.gj-list-md li.disabled > [data-role="wrapper"] > [data-role="expander"] {
.gj-checkbox-fontawesome .fa { .gj-checkbox-fontawesome .fa {
font-size: 14px; font-size: 14px;
} }
.gj-checkbox-bootstrap.gj-checkbox-fontawesome .fa {
line-height: 18px;
}
.gj-checkbox-fontawesome input[type="checkbox"]:checked + span:before { .gj-checkbox-fontawesome input[type="checkbox"]:checked + span:before {
content: "\f00c "; content: "\f00c ";
@@ -1845,7 +1891,7 @@ ul.gj-list-md li.disabled > [data-role="wrapper"] > [data-role="expander"] {
background-color: #f5f5f5; background-color: #f5f5f5;
color: #000; color: #000;
margin: 0px; margin: 0px;
z-index: 1202; z-index: 1203;
} }
.gj-dropdown-list-md li:hover, .gj-dropdown-list-md li.active { .gj-dropdown-list-md li:hover, .gj-dropdown-list-md li.active {
@@ -1905,7 +1951,7 @@ ul.gj-list-md li.disabled > [data-role="wrapper"] > [data-role="expander"] {
top: 32px; top: 32px;
left: 0px; left: 0px;
margin: 0px; margin: 0px;
z-index: 1202; z-index: 1203;
} }
.gj-datepicker [role="input"]::-ms-clear { .gj-datepicker [role="input"]::-ms-clear {
display: none; display: none;
@@ -1950,7 +1996,6 @@ ul.gj-list-md li.disabled > [data-role="wrapper"] > [data-role="expander"] {
} }
.gj-datepicker-md [role="right-icon"] { .gj-datepicker-md [role="right-icon"] {
cursor: pointer;
position: absolute; position: absolute;
right: 0px; right: 0px;
top: 0px; top: 0px;
@@ -2179,6 +2224,14 @@ ul.gj-list-md li.disabled > [data-role="wrapper"] > [data-role="expander"] {
color: #777; color: #777;
} }
.gj-picker-bootstrap.datepicker [role="footer"] {
padding: 1rem;
}
.gj-picker-bootstrap.datepicker [role="footer"]> :not(:last-child) {
margin-right: .25rem;
}
/* Bootstrap 3 */ /* Bootstrap 3 */
.gj-datepicker-bootstrap span[role="right-icon"].input-group-addon { .gj-datepicker-bootstrap span[role="right-icon"].input-group-addon {
border-top-left-radius: 0px; border-top-left-radius: 0px;
@@ -2238,6 +2291,41 @@ ul.gj-list-md li.disabled > [data-role="wrapper"] > [data-role="expander"] {
top: 10px; top: 10px;
left: 10px; left: 10px;
} }
/* Bootstrap 5 */
.gj-datepicker-bootstrap button[role="right-icon"] {
width: 2.5rem;
}
.gj-datepicker-bootstrap.input-group-sm button[role="right-icon"] {
width: 2rem;
}
.gj-datepicker-bootstrap.input-group-lg button[role="right-icon"] {
width: 3.3rem;
}
.gj-datepicker-bootstrap button[role="right-icon"] .gj-icon,
.gj-datepicker-bootstrap button[role="right-icon"] .material-icons {
position: absolute;
font-size: 21px;
top: 0.55rem;
left: 0.55rem;
}
.gj-datepicker-bootstrap.input-group-sm button[role="right-icon"] .gj-icon,
.gj-datepicker-bootstrap.input-group-sm button[role="right-icon"] .material-icons {
font-size: 19px;
top: 0.4rem;
left: 0.34rem;
}
.gj-datepicker-bootstrap.input-group-lg button[role="right-icon"] .gj-icon,
.gj-datepicker-bootstrap.input-group-lg button[role="right-icon"] .material-icons {
font-size: 27px;
top: 0.72rem;
left: 0.7rem;
}
.gj-timepicker [role="input"]::-ms-clear { .gj-timepicker [role="input"]::-ms-clear {
display: none; display: none;
} }
@@ -2407,6 +2495,15 @@ ul.gj-list-md li.disabled > [data-role="wrapper"] > [data-role="expander"] {
border: 16px solid #888; border: 16px solid #888;
} }
.gj-picker-bootstrap.timepicker [role="footer"] {
padding: 1rem;
border-top: 1px solid #e9ecef;
}
.gj-picker-bootstrap.timepicker [role="footer"]> :not(:last-child) {
margin-right: .25rem;
}
/* Bootstrap 3 */ /* Bootstrap 3 */
.gj-timepicker-bootstrap .input-group-addon { .gj-timepicker-bootstrap .input-group-addon {
border-top-left-radius: 0px; border-top-left-radius: 0px;
@@ -2452,6 +2549,7 @@ ul.gj-list-md li.disabled > [data-role="wrapper"] > [data-role="expander"] {
.gj-timepicker-bootstrap [role="right-icon"] button { .gj-timepicker-bootstrap [role="right-icon"] button {
width: 38px; width: 38px;
position: relative; position: relative;
border: 1px solid #ced4da;
} }
.gj-timepicker-bootstrap.input-group-sm [role="right-icon"] button { .gj-timepicker-bootstrap.input-group-sm [role="right-icon"] button {
@@ -2466,13 +2564,13 @@ ul.gj-list-md li.disabled > [data-role="wrapper"] > [data-role="expander"] {
.gj-timepicker-bootstrap [role="right-icon"] button .material-icons { .gj-timepicker-bootstrap [role="right-icon"] button .material-icons {
position: absolute; position: absolute;
font-size: 21px; font-size: 21px;
top: 7px; top: 9px;
left: 9px; left: 9px;
} }
.gj-timepicker-bootstrap.input-group-sm [role="right-icon"] button .gj-icon, .gj-timepicker-bootstrap.input-group-sm [role="right-icon"] button .gj-icon,
.gj-timepicker-bootstrap.input-group-sm [role="right-icon"] button .material-icons { .gj-timepicker-bootstrap.input-group-sm [role="right-icon"] button .material-icons {
top: 4px; top: 6px;
left: 6px; left: 6px;
font-size: 19px; font-size: 19px;
} }
@@ -2480,9 +2578,44 @@ ul.gj-list-md li.disabled > [data-role="wrapper"] > [data-role="expander"] {
.gj-timepicker-bootstrap.input-group-lg [role="right-icon"] button .gj-icon, .gj-timepicker-bootstrap.input-group-lg [role="right-icon"] button .gj-icon,
.gj-timepicker-bootstrap.input-group-lg [role="right-icon"] button .material-icons { .gj-timepicker-bootstrap.input-group-lg [role="right-icon"] button .material-icons {
font-size: 27px; font-size: 27px;
top: 8px; top: 10px;
left: 10px; left: 10px;
} }
/* Bootstrap 5 */
.gj-timepicker-bootstrap button[role="right-icon"] {
width: 2.5rem;
}
.gj-timepicker-bootstrap.input-group-sm button[role="right-icon"] {
width: 2rem;
}
.gj-timepicker-bootstrap.input-group-lg button[role="right-icon"] {
width: 3.3rem;
}
.gj-timepicker-bootstrap button[role="right-icon"] .gj-icon,
.gj-timepicker-bootstrap button[role="right-icon"] .material-icons {
position: absolute;
font-size: 21px;
top: 0.55rem;
left: 0.55rem;
}
.gj-timepicker-bootstrap.input-group-sm button[role="right-icon"] .gj-icon,
.gj-timepicker-bootstrap.input-group-sm button[role="right-icon"] .material-icons {
font-size: 19px;
top: 0.4rem;
left: 0.34rem;
}
.gj-timepicker-bootstrap.input-group-lg button[role="right-icon"] .gj-icon,
.gj-timepicker-bootstrap.input-group-lg button[role="right-icon"] .material-icons {
font-size: 27px;
top: 0.72rem;
left: 0.7rem;
}
.gj-picker.datetimepicker [role="header"] [role="date"] { .gj-picker.datetimepicker [role="header"] [role="date"] {
padding-bottom: 5px; padding-bottom: 5px;
text-align: center; text-align: center;
@@ -2547,6 +2680,15 @@ ul.gj-list-md li.disabled > [data-role="wrapper"] > [data-role="expander"] {
font-size: 22px; font-size: 22px;
} }
.gj-picker-bootstrap.datetimepicker [role="footer"] {
padding: 1rem;
border-top: 1px solid #e9ecef;
}
.gj-picker-bootstrap.datetimepicker [role="footer"]> :not(:last-child) {
margin-right: .25rem;
}
.gj-slider { .gj-slider {
position: relative; position: relative;
padding: 8px 6px; padding: 8px 6px;
@@ -2558,7 +2700,7 @@ ul.gj-list-md li.disabled > [data-role="wrapper"] > [data-role="expander"] {
.gj-slider [role="progress"] { .gj-slider [role="progress"] {
position: absolute; position: absolute;
z-index: 1001; z-index: 1203;
} }
.gj-slider [role="handle"] { .gj-slider [role="handle"] {
@@ -2615,7 +2757,7 @@ ul.gj-list-md li.disabled > [data-role="wrapper"] > [data-role="expander"] {
border: 0px solid transparent; border: 0px solid transparent;
border-radius: 50%; border-radius: 50%;
cursor: pointer; cursor: pointer;
z-index: 1002; z-index: 1204;
} }
/* Bootstrap */ /* Bootstrap */
@@ -2644,7 +2786,7 @@ ul.gj-list-md li.disabled > [data-role="wrapper"] > [data-role="expander"] {
border: 0px solid transparent; border: 0px solid transparent;
border-radius: 50%; border-radius: 50%;
cursor: pointer; cursor: pointer;
z-index: 1002; z-index: 1204;
} }
.gj-slider-bootstrap-3 [role="handle"] { .gj-slider-bootstrap-3 [role="handle"] {
@@ -2662,3 +2804,27 @@ ul.gj-list-md li.disabled > [data-role="wrapper"] > [data-role="expander"] {
background-image: linear-gradient(to bottom, #007bff 0%, #2e6da4 100%); background-image: linear-gradient(to bottom, #007bff 0%, #2e6da4 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
} }
.gj-colorpicker [role="right-icon"] {
cursor: pointer;
}
/* Material Design */
.gj-colorpicker-md {
font-family: "Roboto","Helvetica","Arial",sans-serif;
font-size: 16px;
font-weight: 400;
letter-spacing: .04em;
line-height: 1;
color: rgba(0,0,0,.87);
position: relative;
}
.gj-colorpicker-md [role="right-icon"] {
position: absolute;
right: 0px;
top: 0px;
font-size: 24px;
}
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -48,5 +48,6 @@ gj.core.messages['bg-bg'] = {
am: 'AM', am: 'AM',
pm: 'PM', pm: 'PM',
ok: 'ОК', ok: 'ОК',
cancel: 'Отказ' cancel: 'Отказ',
titleFormat: 'mmmm yyyy'
}; };
@@ -1 +1 @@
gj.dialog.messages["bg-bg"]={Close:"Затваряне",DefaultTitle:"Диалогов Прозорец"},gj.grid.messages["bg-bg"]={First:"Първа",Previous:"Предишна",Next:"Следваща",Last:"Последна",Page:"Страница",FirstPageTooltip:"Първа Страница",PreviousPageTooltip:"Предишна Страница",NextPageTooltip:"Следваща Страница",LastPageTooltip:"Последна Страница",Refresh:"Презареждане",Of:"от",DisplayingRecords:"Паказани записи",RowsPerPage:"Редове на страница:",Edit:"Редактиране",Delete:"Изтриване",Update:"Актуализация",Cancel:"Отказ",NoRecordsFound:"Няма намерени записи.",Loading:"Зареждане..."},gj.editor.messages["bg-bg"]={bold:"Удебеляване",italic:"Накланяне",strikethrough:"Зачертаване",underline:"Подчертаване",listBulleted:"Списък",listNumbered:"Номериран Списък",indentDecrease:"Намаляване на абзаца",indentIncrease:"Увеличаване на абзаца",alignLeft:"Подравняване в ляво",alignCenter:"Центриране",alignRight:"Подравняване в дясно",alignJustify:"Изравняване",undo:"Назад",redo:"Напред"},gj.core.messages["bg-bg"]={monthNames:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],monthShortNames:["Яну","Фев","Мар","Апр","Май","Юни","Юли","Авг","Сеп","ОКт","Ное","Дек"],weekDaysMin:["Н","П","В","С","Ч","П","С"],weekDaysShort:["Нед","Пон","Вто","Сря","Чет","Пет","Съб"],weekDays:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"],am:"AM",pm:"PM",ok:"ОК",cancel:"Отказ"}; gj.dialog.messages["bg-bg"]={Close:"Затваряне",DefaultTitle:"Диалогов Прозорец"},gj.grid.messages["bg-bg"]={First:"Първа",Previous:"Предишна",Next:"Следваща",Last:"Последна",Page:"Страница",FirstPageTooltip:"Първа Страница",PreviousPageTooltip:"Предишна Страница",NextPageTooltip:"Следваща Страница",LastPageTooltip:"Последна Страница",Refresh:"Презареждане",Of:"от",DisplayingRecords:"Паказани записи",RowsPerPage:"Редове на страница:",Edit:"Редактиране",Delete:"Изтриване",Update:"Актуализация",Cancel:"Отказ",NoRecordsFound:"Няма намерени записи.",Loading:"Зареждане..."},gj.editor.messages["bg-bg"]={bold:"Удебеляване",italic:"Накланяне",strikethrough:"Зачертаване",underline:"Подчертаване",listBulleted:"Списък",listNumbered:"Номериран Списък",indentDecrease:"Намаляване на абзаца",indentIncrease:"Увеличаване на абзаца",alignLeft:"Подравняване в ляво",alignCenter:"Центриране",alignRight:"Подравняване в дясно",alignJustify:"Изравняване",undo:"Назад",redo:"Напред"},gj.core.messages["bg-bg"]={monthNames:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],monthShortNames:["Яну","Фев","Мар","Апр","Май","Юни","Юли","Авг","Сеп","ОКт","Ное","Дек"],weekDaysMin:["Н","П","В","С","Ч","П","С"],weekDaysShort:["Нед","Пон","Вто","Сря","Чет","Пет","Съб"],weekDays:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"],am:"AM",pm:"PM",ok:"ОК",cancel:"Отказ",titleFormat:"mmmm yyyy"};
@@ -48,5 +48,6 @@ gj.core.messages['de-de'] = {
am: 'AM', am: 'AM',
pm: 'PM', pm: 'PM',
ok: 'OK', ok: 'OK',
cancel: 'Abbrechen' cancel: 'Abbrechen',
titleFormat: 'mmmm yyyy'
}; };
@@ -1 +1 @@
gj.dialog.messages["de-de"]={Close:"Schließen",DefaultTitle:"Dialog"},gj.grid.messages["de-de"]={First:"Erste",Previous:"Vorherige",Next:"Nächste",Last:"Letzte",Page:"Seite",FirstPageTooltip:"Erste Seite",PreviousPageTooltip:"Vorherige Seite",NextPageTooltip:"Nächste Seite",LastPageTooltip:"Letzte Seite",Refresh:"Aktualisieren",Of:"von",DisplayingRecords:"Zeige Datensätze",RowsPerPage:"Zeilen pro Seite:",Edit:"Editieren",Delete:"Löschen",Update:"Aktualisieren",Cancel:"Abbrechen",NoRecordsFound:"Es wurden keine Datensätze gefunden.",Loading:"Laden..."},gj.editor.messages["de-de"]={bold:"Fett",italic:"Kursiv",strikethrough:"Durchgestrichen",underline:"Unterstrichen",listBulleted:"Aufzählung",listNumbered:"Nummerierte Liste",indentDecrease:"Einzug verkleinern",indentIncrease:"Einzug vergrößern",alignLeft:"Linksbündig ausrichten",alignCenter:"Zentriert ausrichten",alignRight:"Rechtsbündig ausrichten",alignJustify:"Blocksatz",undo:"Rückgängig",redo:"Wiederholen"},gj.core.messages["de-de"]={monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthShortNames:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],weekDaysMin:["So","Mo","Di","Mi","Do","Fr","Sa"],weekDaysShort:["So","Mo","Di","Mi","Do","Fr","Sa"],weekDays:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],am:"AM",pm:"PM",ok:"OK",cancel:"Abbrechen"}; gj.dialog.messages["de-de"]={Close:"Schließen",DefaultTitle:"Dialog"},gj.grid.messages["de-de"]={First:"Erste",Previous:"Vorherige",Next:"Nächste",Last:"Letzte",Page:"Seite",FirstPageTooltip:"Erste Seite",PreviousPageTooltip:"Vorherige Seite",NextPageTooltip:"Nächste Seite",LastPageTooltip:"Letzte Seite",Refresh:"Aktualisieren",Of:"von",DisplayingRecords:"Zeige Datensätze",RowsPerPage:"Zeilen pro Seite:",Edit:"Editieren",Delete:"Löschen",Update:"Aktualisieren",Cancel:"Abbrechen",NoRecordsFound:"Es wurden keine Datensätze gefunden.",Loading:"Laden..."},gj.editor.messages["de-de"]={bold:"Fett",italic:"Kursiv",strikethrough:"Durchgestrichen",underline:"Unterstrichen",listBulleted:"Aufzählung",listNumbered:"Nummerierte Liste",indentDecrease:"Einzug verkleinern",indentIncrease:"Einzug vergrößern",alignLeft:"Linksbündig ausrichten",alignCenter:"Zentriert ausrichten",alignRight:"Rechtsbündig ausrichten",alignJustify:"Blocksatz",undo:"Rückgängig",redo:"Wiederholen"},gj.core.messages["de-de"]={monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthShortNames:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],weekDaysMin:["So","Mo","Di","Mi","Do","Fr","Sa"],weekDaysShort:["So","Mo","Di","Mi","Do","Fr","Sa"],weekDays:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],am:"AM",pm:"PM",ok:"OK",cancel:"Abbrechen",titleFormat:"mmmm yyyy"};
@@ -40,13 +40,14 @@ gj.editor.messages['es-es'] = {
redo: 'Repetir' redo: 'Repetir'
}; };
gj.core.messages['es-es'] = { gj.core.messages['es-es'] = {
monthNames: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'setiembre', 'octubre', 'noviembre', 'diciembre'], monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
monthShortNames: ['ene.', 'feb.', 'mar', 'abr.', 'may', 'jun', 'jul.', 'ago', 'set.', 'oct.', 'nov.', 'dic.'], monthShortNames: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
weekDaysMin: ['D', 'L', 'M', 'M', 'J', 'V', 'S'], weekDaysMin: ['D', 'L', 'M', 'M', 'J', 'V', 'S'],
weekDaysShort: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'], weekDaysShort: ['Dom', 'Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sáb'],
weekDays: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'], weekDays: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
am: 'AM', am: 'AM',
pm: 'PM', pm: 'PM',
ok: 'OK', ok: 'OK',
cancel: 'Cancelar' cancel: 'Cancelar',
titleFormat: 'mmmm yyyy'
}; };
@@ -1 +1 @@
gj.dialog.messages["es-es"]={Close:"Cerrar",DefaultTitle:"Titulo por defecto"},gj.grid.messages["es-es"]={First:"Primero",Previous:"Anterior",Next:"Siguiente",Last:"Último",Page:"Página",FirstPageTooltip:"Primera página",PreviousPageTooltip:"Página anterior",NextPageTooltip:"Página siguiente",LastPageTooltip:"Última página",Refresh:"Refrescar",Of:"de",DisplayingRecords:"Resultados",RowsPerPage:"Lineas por página:",Edit:"Modificar",Delete:"Eliminar",Update:"Actualizar",Cancel:"Cancelar",NoRecordsFound:"No se encontraron registros.",Loading:"Cargando..."},gj.editor.messages["es-es"]={bold:"Negrita",italic:"Italica",strikethrough:"Tachado",underline:"Subrayado",listBulleted:"Puntos",listNumbered:"Lista numerada",indentDecrease:"Disminuir indentacion",indentIncrease:"Aumentar indentacion",alignLeft:"Alineación izquierda",alignCenter:"Alineación centrada",alignRight:"Alineación derecha",alignJustify:"Alineación justificada",undo:"Deshacer",redo:"Repetir"},gj.core.messages["es-es"]={monthNames:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","setiembre","octubre","noviembre","diciembre"],monthShortNames:["ene.","feb.","mar","abr.","may","jun","jul.","ago","set.","oct.","nov.","dic."],weekDaysMin:["D","L","M","M","J","V","S"],weekDaysShort:["dom","lun","mar","mié","jue","vie","sáb"],weekDays:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],am:"AM",pm:"PM",ok:"OK",cancel:"Cancelar"}; gj.dialog.messages["es-es"]={Close:"Cerrar",DefaultTitle:"Titulo por defecto"},gj.grid.messages["es-es"]={First:"Primero",Previous:"Anterior",Next:"Siguiente",Last:"Último",Page:"Página",FirstPageTooltip:"Primera página",PreviousPageTooltip:"Página anterior",NextPageTooltip:"Página siguiente",LastPageTooltip:"Última página",Refresh:"Refrescar",Of:"de",DisplayingRecords:"Resultados",RowsPerPage:"Lineas por página:",Edit:"Modificar",Delete:"Eliminar",Update:"Actualizar",Cancel:"Cancelar",NoRecordsFound:"No se encontraron registros.",Loading:"Cargando..."},gj.editor.messages["es-es"]={bold:"Negrita",italic:"Italica",strikethrough:"Tachado",underline:"Subrayado",listBulleted:"Puntos",listNumbered:"Lista numerada",indentDecrease:"Disminuir indentacion",indentIncrease:"Aumentar indentacion",alignLeft:"Alineación izquierda",alignCenter:"Alineación centrada",alignRight:"Alineación derecha",alignJustify:"Alineación justificada",undo:"Deshacer",redo:"Repetir"},gj.core.messages["es-es"]={monthNames:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],monthShortNames:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],weekDaysMin:["D","L","M","M","J","V","S"],weekDaysShort:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],weekDays:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"],am:"AM",pm:"PM",ok:"OK",cancel:"Cancelar",titleFormat:"mmmm yyyy"};
@@ -48,5 +48,6 @@ gj.core.messages['fr-fr'] = {
am: 'AM', am: 'AM',
pm: 'PM', pm: 'PM',
ok: 'OK', ok: 'OK',
cancel: 'Annuler' cancel: 'Annuler',
titleFormat: 'mmmm yyyy'
}; };
@@ -1 +1 @@
gj.dialog.messages["fr-fr"]={Close:"Fermer",DefaultTitle:"Dialogue"},gj.grid.messages["fr-fr"]={First:"Premier",Previous:"Précédent",Next:"Prochain",Last:"Dernier",Page:"Page",FirstPageTooltip:"Première page",PreviousPageTooltip:"Page précédente",NextPageTooltip:"Page suivante",LastPageTooltip:"Dernière page",Refresh:"Rafraîchir",Of:"de",DisplayingRecords:"Résultats",RowsPerPage:"Lignes par page:",Edit:"Modifier",Delete:"Effacer",Update:"Mettre à jour",Cancel:"Annuler",NoRecordsFound:"Aucun enregistrement trouvé.",Loading:"Chargement..."},gj.editor.messages["fr-fr"]={bold:"Gras",italic:"Italique",strikethrough:"Barré",underline:"Souligné",listBulleted:"Puces",listNumbered:"Numérotation",indentDecrease:"Diminuer le retrait",indentIncrease:"Augmenter le retrait",alignLeft:"Aligner à gauche",alignCenter:"Centrer",alignRight:"Aligner à droite",alignJustify:"Justifier",undo:"Annuler",redo:"Rétablir"},gj.core.messages["fr-fr"]={monthNames:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthShortNames:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],weekDaysMin:["D","L","M","M","J","V","S"],weekDaysShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],weekDays:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],am:"AM",pm:"PM",ok:"OK",cancel:"Annuler"}; gj.dialog.messages["fr-fr"]={Close:"Fermer",DefaultTitle:"Dialogue"},gj.grid.messages["fr-fr"]={First:"Premier",Previous:"Précédent",Next:"Prochain",Last:"Dernier",Page:"Page",FirstPageTooltip:"Première page",PreviousPageTooltip:"Page précédente",NextPageTooltip:"Page suivante",LastPageTooltip:"Dernière page",Refresh:"Rafraîchir",Of:"de",DisplayingRecords:"Résultats",RowsPerPage:"Lignes par page:",Edit:"Modifier",Delete:"Effacer",Update:"Mettre à jour",Cancel:"Annuler",NoRecordsFound:"Aucun enregistrement trouvé.",Loading:"Chargement..."},gj.editor.messages["fr-fr"]={bold:"Gras",italic:"Italique",strikethrough:"Barré",underline:"Souligné",listBulleted:"Puces",listNumbered:"Numérotation",indentDecrease:"Diminuer le retrait",indentIncrease:"Augmenter le retrait",alignLeft:"Aligner à gauche",alignCenter:"Centrer",alignRight:"Aligner à droite",alignJustify:"Justifier",undo:"Annuler",redo:"Rétablir"},gj.core.messages["fr-fr"]={monthNames:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthShortNames:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],weekDaysMin:["D","L","M","M","J","V","S"],weekDaysShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],weekDays:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],am:"AM",pm:"PM",ok:"OK",cancel:"Annuler",titleFormat:"mmmm yyyy"};
@@ -40,13 +40,14 @@ gj.editor.messages['it-it'] = {
redo: 'Ripeti' redo: 'Ripeti'
}; };
gj.core.messages['it-it'] = { gj.core.messages['it-it'] = {
monthNames: ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'], monthNames: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"],
monthShortNames: ['gen.', 'feb.', 'mar.', 'apr.', 'mag.', 'giu.', 'lug.', 'ago.', 'set.', 'ott.', 'nov.', 'dic.'], monthShortNames: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"],
weekDaysMin: ['Do', 'Lu', 'Ma', 'Me', 'Gi', 'Ve', 'Sa'], weekDaysMin: ['Do', 'Lu', 'Ma', 'Me', 'Gi', 'Ve', 'Sa'],
weekDaysShort: ['Dom', 'Lun', 'Mar', 'Mer', 'Gio', 'Ven','Sab'], weekDaysShort: ['Dom', 'Lun', 'Mar', 'Mer', 'Gio', 'Ven','Sab'],
weekDays: ['Domenica', 'Lunedì', 'Martedì', 'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato'], weekDays: ['Domenica', 'Lunedì', 'Martedì', 'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato'],
am: 'AM', am: 'AM',
pm: 'PM', pm: 'PM',
ok: 'OK', ok: 'OK',
cancel: 'Annulla' cancel: 'Annulla',
titleFormat: 'mmmm yyyy'
}; };
@@ -1 +1 @@
gj.dialog.messages["it-it"]={Close:"Chiudi",DefaultTitle:"Dialogo"},gj.grid.messages["it-it"]={First:"Primo",Previous:"Precedente",Next:"Successivo",Last:"Ultimo",Page:"Pagina",FirstPageTooltip:"Prima pagina",PreviousPageTooltip:"Pagina precedente",NextPageTooltip:"Pagina successiva",LastPageTooltip:"Ultima pagina",Refresh:"Aggiorna",Of:"di",DisplayingRecords:"Risultati",RowsPerPage:"Righe per pagina:",Edit:"Modifica",Delete:"Cancella",Update:"Aggiorna",Cancel:"Annulla",NoRecordsFound:"Nessun record trovato.",Loading:"Caricamento..."},gj.editor.messages["it-it"]={bold:"Grassetto",italic:"Corsivo",strikethrough:"Barrato",underline:"Sottolineato",listBulleted:"Lista puntata",listNumbered:"Lista numerata",indentDecrease:"sposta testo a sinistra",indentIncrease:"sposta testo a destra",alignLeft:"Allineamento a sinistra",alignCenter:"Centrato",alignRight:"Allineamento a destra",alignJustify:"Giustificato",undo:"Annulla",redo:"Ripeti"},gj.core.messages["it-it"]={monthNames:["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"],monthShortNames:["gen.","feb.","mar.","apr.","mag.","giu.","lug.","ago.","set.","ott.","nov.","dic."],weekDaysMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],weekDaysShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],weekDays:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],am:"AM",pm:"PM",ok:"OK",cancel:"Annulla"}; gj.dialog.messages["it-it"]={Close:"Chiudi",DefaultTitle:"Dialogo"},gj.grid.messages["it-it"]={First:"Primo",Previous:"Precedente",Next:"Successivo",Last:"Ultimo",Page:"Pagina",FirstPageTooltip:"Prima pagina",PreviousPageTooltip:"Pagina precedente",NextPageTooltip:"Pagina successiva",LastPageTooltip:"Ultima pagina",Refresh:"Aggiorna",Of:"di",DisplayingRecords:"Risultati",RowsPerPage:"Righe per pagina:",Edit:"Modifica",Delete:"Cancella",Update:"Aggiorna",Cancel:"Annulla",NoRecordsFound:"Nessun record trovato.",Loading:"Caricamento..."},gj.editor.messages["it-it"]={bold:"Grassetto",italic:"Corsivo",strikethrough:"Barrato",underline:"Sottolineato",listBulleted:"Lista puntata",listNumbered:"Lista numerata",indentDecrease:"sposta testo a sinistra",indentIncrease:"sposta testo a destra",alignLeft:"Allineamento a sinistra",alignCenter:"Centrato",alignRight:"Allineamento a destra",alignJustify:"Giustificato",undo:"Annulla",redo:"Ripeti"},gj.core.messages["it-it"]={monthNames:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthShortNames:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],weekDaysMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],weekDaysShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],weekDays:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],am:"AM",pm:"PM",ok:"OK",cancel:"Annulla",titleFormat:"mmmm yyyy"};
@@ -0,0 +1,53 @@
gj.dialog.messages['ja-jp'] = {
Close: '閉じる',
DefaultTitle: 'ダイアログ'
};
gj.grid.messages['ja-jp'] = {
First: '最初',
Previous: '前',
Next: '次',
Last: '最後',
Page: 'ページ',
FirstPageTooltip: '最初のページ',
PreviousPageTooltip: '前のページ',
NextPageTooltip: '次のページ',
LastPageTooltip: '最後のページ',
Refresh: 'リフレッシュ',
Of: 'の',
DisplayingRecords: '結果',
RowsPerPage: 'ページあたり行数:',
Edit: '編集',
Delete: '削除',
Update: '更新',
Cancel: 'キャンセル',
NoRecordsFound: 'レコードが見つかりません',
Loading: '読み込み中...'
};
gj.editor.messages['ja-jp'] = {
bold: '太字',
italic: '斜体',
strikethrough: '打消し線',
underline: '下線',
listBulleted: '箇条書き',
listNumbered: '番号付き箇条書き',
indentDecrease: 'インデントを減らす',
indentIncrease: 'インデントを増やす',
alignLeft: '左揃え',
alignCenter: '中央揃え',
alignRight: '右揃え',
alignJustify: '両端揃え',
undo: '元に戻す',
redo: 'やり直し'
};
gj.core.messages['ja-jp'] = {
monthNames: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
monthShortNames: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
weekDaysMin: ['日', '月', '火', '水', '木', '金', '土'],
weekDaysShort: ['日', '月', '火', '水', '木', '金', '土'],
weekDays: ['日曜', '月曜', '火曜', '水曜', '木曜', '金曜', '土曜'],
am: '午前',
pm: '午後',
ok: 'OK',
cancel: 'キャンセル',
titleFormat: 'yyyy年mmmm'
};
@@ -0,0 +1 @@
gj.dialog.messages["ja-jp"]={Close:"閉じる",DefaultTitle:"ダイアログ"},gj.grid.messages["ja-jp"]={First:"最初",Previous:"前",Next:"次",Last:"最後",Page:"ページ",FirstPageTooltip:"最初のページ",PreviousPageTooltip:"前のページ",NextPageTooltip:"次のページ",LastPageTooltip:"最後のページ",Refresh:"リフレッシュ",Of:"の",DisplayingRecords:"結果",RowsPerPage:"ページあたり行数:",Edit:"編集",Delete:"削除",Update:"更新",Cancel:"キャンセル",NoRecordsFound:"レコードが見つかりません",Loading:"読み込み中..."},gj.editor.messages["ja-jp"]={bold:"太字",italic:"斜体",strikethrough:"打消し線",underline:"下線",listBulleted:"箇条書き",listNumbered:"番号付き箇条書き",indentDecrease:"インデントを減らす",indentIncrease:"インデントを増やす",alignLeft:"左揃え",alignCenter:"中央揃え",alignRight:"右揃え",alignJustify:"両端揃え",undo:"元に戻す",redo:"やり直し"},gj.core.messages["ja-jp"]={monthNames:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthShortNames:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],weekDaysMin:["日","月","火","水","木","金","土"],weekDaysShort:["日","月","火","水","木","金","土"],weekDays:["日曜","月曜","火曜","水曜","木曜","金曜","土曜"],am:"午前",pm:"午後",ok:"OK",cancel:"キャンセル",titleFormat:"yyyy年mmmm"};
@@ -48,5 +48,6 @@ gj.core.messages['pt-br'] = {
am: 'AM', am: 'AM',
pm: 'PM', pm: 'PM',
ok: 'OK', ok: 'OK',
cancel: 'Cancelar' cancel: 'Cancelar',
titleFormat: 'mmmm yyyy'
}; };
@@ -1 +1 @@
gj.dialog.messages["pt-br"]={Close:"Fechar",DefaultTitle:"Caixa de diálogo"},gj.grid.messages["pt-br"]={First:"Primeiro",Previous:"Anterior",Next:"Próximo",Last:"Último",Page:"Página",FirstPageTooltip:"Primeira página",PreviousPageTooltip:"Página anterior",NextPageTooltip:"Próxima página",LastPageTooltip:"Última Página",Refresh:"Atualizar",Of:"de",DisplayingRecords:"Mostrando registros",RowsPerPage:"Linhas por página:",Edit:"Editar",Delete:"Excluir",Update:"Alterar",Cancel:"Cancelar",NoRecordsFound:"Nenhum registro encontrado.",Loading:"Carregando..."},gj.editor.messages["pt-br"]={bold:"Negrito",italic:"Itálico",strikethrough:"Riscar",underline:"Sublinhar",listBulleted:"Lista não ordenada",listNumbered:"Lista ordenada",indentDecrease:"Diminuir recuo",indentIncrease:"Aumentar recuo",alignLeft:"Alinhar à esquerda",alignCenter:"Centralizar",alignRight:"Alinhar à direita",alignJustify:"Justificar",undo:"Desfazer",redo:"Refazer"},gj.core.messages["pt-br"]={monthNames:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthShortNames:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],weekDaysMin:["D","S","T","Q","Q","S","S"],weekDaysShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],weekDays:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"],am:"AM",pm:"PM",ok:"OK",cancel:"Cancelar"}; gj.dialog.messages["pt-br"]={Close:"Fechar",DefaultTitle:"Caixa de diálogo"},gj.grid.messages["pt-br"]={First:"Primeiro",Previous:"Anterior",Next:"Próximo",Last:"Último",Page:"Página",FirstPageTooltip:"Primeira página",PreviousPageTooltip:"Página anterior",NextPageTooltip:"Próxima página",LastPageTooltip:"Última Página",Refresh:"Atualizar",Of:"de",DisplayingRecords:"Mostrando registros",RowsPerPage:"Linhas por página:",Edit:"Editar",Delete:"Excluir",Update:"Alterar",Cancel:"Cancelar",NoRecordsFound:"Nenhum registro encontrado.",Loading:"Carregando..."},gj.editor.messages["pt-br"]={bold:"Negrito",italic:"Itálico",strikethrough:"Riscar",underline:"Sublinhar",listBulleted:"Lista não ordenada",listNumbered:"Lista ordenada",indentDecrease:"Diminuir recuo",indentIncrease:"Aumentar recuo",alignLeft:"Alinhar à esquerda",alignCenter:"Centralizar",alignRight:"Alinhar à direita",alignJustify:"Justificar",undo:"Desfazer",redo:"Refazer"},gj.core.messages["pt-br"]={monthNames:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthShortNames:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],weekDaysMin:["D","S","T","Q","Q","S","S"],weekDaysShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],weekDays:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"],am:"AM",pm:"PM",ok:"OK",cancel:"Cancelar",titleFormat:"mmmm yyyy"};
@@ -48,5 +48,6 @@ gj.core.messages['ru-ru'] = {
am: 'AM', am: 'AM',
pm: 'PM', pm: 'PM',
ok: 'ОК', ok: 'ОК',
cancel: 'Отмена' cancel: 'Отмена',
titleFormat: 'mmmm yyyy'
}; };
@@ -1 +1 @@
gj.dialog.messages["ru-ru"]={Close:"Закрыть",DefaultTitle:"Сообщение"},gj.grid.messages["ru-ru"]={First:"Первый",Previous:"Предыдущий",Next:"Следующий",Last:"Последний",Page:"Страница",FirstPageTooltip:"Первая страница",PreviousPageTooltip:"Предыдущая страница",NextPageTooltip:"Следущая страница",LastPageTooltip:"Последняя страница",Refresh:"Обновить",Of:"от",DisplayingRecords:"Показать записи",RowsPerPage:"Записей на странице:",Edit:"Изменить",Delete:"Удалить",Update:"Обновить",Cancel:"Отмена",NoRecordsFound:"Нет ни одной записи.",Loading:"Загрузка..."},gj.editor.messages["ru-ru"]={bold:"Жирный",italic:"Курсив",strikethrough:"Зачеркнутый",underline:"Подчеркнутый",listBulleted:"Список",listNumbered:"Нумерованный список",indentDecrease:"Уменьшить отступ",indentIncrease:"Увеличить отступ",alignLeft:"Выровнять по левому краю",alignCenter:"Выровнять по центру",alignRight:"Выровнять по правому краю",alignJustify:"Выровнять по ширине",undo:"Назад",redo:"Вперед"},gj.core.messages["ru-ru"]={monthNames:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthShortNames:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],weekDaysMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],weekDaysShort:["вск","пнд","втр","срд","чтв","птн","сбт"],weekDays:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],am:"AM",pm:"PM",ok:"ОК",cancel:"Отмена"}; gj.dialog.messages["ru-ru"]={Close:"Закрыть",DefaultTitle:"Сообщение"},gj.grid.messages["ru-ru"]={First:"Первый",Previous:"Предыдущий",Next:"Следующий",Last:"Последний",Page:"Страница",FirstPageTooltip:"Первая страница",PreviousPageTooltip:"Предыдущая страница",NextPageTooltip:"Следущая страница",LastPageTooltip:"Последняя страница",Refresh:"Обновить",Of:"от",DisplayingRecords:"Показать записи",RowsPerPage:"Записей на странице:",Edit:"Изменить",Delete:"Удалить",Update:"Обновить",Cancel:"Отмена",NoRecordsFound:"Нет ни одной записи.",Loading:"Загрузка..."},gj.editor.messages["ru-ru"]={bold:"Жирный",italic:"Курсив",strikethrough:"Зачеркнутый",underline:"Подчеркнутый",listBulleted:"Список",listNumbered:"Нумерованный список",indentDecrease:"Уменьшить отступ",indentIncrease:"Увеличить отступ",alignLeft:"Выровнять по левому краю",alignCenter:"Выровнять по центру",alignRight:"Выровнять по правому краю",alignJustify:"Выровнять по ширине",undo:"Назад",redo:"Вперед"},gj.core.messages["ru-ru"]={monthNames:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthShortNames:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],weekDaysMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],weekDaysShort:["вск","пнд","втр","срд","чтв","птн","сбт"],weekDays:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],am:"AM",pm:"PM",ok:"ОК",cancel:"Отмена",titleFormat:"mmmm yyyy"};
@@ -0,0 +1,53 @@
gj.dialog.messages['tr-tr'] = {
Close: 'Kapat',
DefaultTitle: 'Diyalog'
};
gj.grid.messages['tr-tr'] = {
First: 'İlk',
Previous: 'Önceki',
Next: 'Sonraki',
Last: 'Son',
Page: 'Sayfa',
FirstPageTooltip: 'İlk sayfa',
PreviousPageTooltip: 'Önceki sayfa',
NextPageTooltip: 'Sonraki sayfa',
LastPageTooltip: 'Son sayfa',
Refresh: 'Yenile',
Of: 'üzerinden',
DisplayingRecords: 'Sonuçlar',
RowsPerPage: 'Lignes par page:',
Edit: 'Düzenle',
Delete: 'Sil',
Update: 'Güncelle',
Cancel: 'İptal',
NoRecordsFound: 'Kayıt Yok.',
Loading: 'Yükleniyor...'
};
gj.editor.messages['tr-tr'] = {
bold: 'Kalın',
italic: 'İtalik',
strikethrough: 'Çok Kalın',
underline: 'Altı Çizgili',
listBulleted: 'Noktalı',
listNumbered: 'Rakamlı',
indentDecrease: 'Girintiyi Azalt',
indentIncrease: 'Girintiyi Çoğalt',
alignLeft: 'Sola Yasla',
alignCenter: 'Ortala',
alignRight: 'Sağ Yasla',
alignJustify: 'Yay',
undo: 'Geri Al',
redo: 'İleri Al'
};
gj.core.messages['tr-tr'] = {
monthNames: ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'],
monthShortNames: ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara'],
weekDaysMin: ['P', 'P', 'S', 'Ç', 'P', 'C', 'C'],
weekDaysShort: ['Pz', 'Pzt', 'Sal', 'Çrş', 'Prş', 'Cu', 'Cts'],
weekDays: ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'],
am: 'AM',
pm: 'PM',
ok: 'Tamam',
cancel: 'İptal',
titleFormat: 'mmmm yyyy'
};
@@ -0,0 +1 @@
gj.dialog.messages["tr-tr"]={Close:"Kapat",DefaultTitle:"Diyalog"},gj.grid.messages["tr-tr"]={First:"İlk",Previous:"Önceki",Next:"Sonraki",Last:"Son",Page:"Sayfa",FirstPageTooltip:"İlk sayfa",PreviousPageTooltip:"Önceki sayfa",NextPageTooltip:"Sonraki sayfa",LastPageTooltip:"Son sayfa",Refresh:"Yenile",Of:"üzerinden",DisplayingRecords:"Sonuçlar",RowsPerPage:"Lignes par page:",Edit:"Düzenle",Delete:"Sil",Update:"Güncelle",Cancel:"İptal",NoRecordsFound:"Kayıt Yok.",Loading:"Yükleniyor..."},gj.editor.messages["tr-tr"]={bold:"Kalın",italic:"İtalik",strikethrough:"Çok Kalın",underline:"Altı Çizgili",listBulleted:"Noktalı",listNumbered:"Rakamlı",indentDecrease:"Girintiyi Azalt",indentIncrease:"Girintiyi Çoğalt",alignLeft:"Sola Yasla",alignCenter:"Ortala",alignRight:"Sağ Yasla",alignJustify:"Yay",undo:"Geri Al",redo:"İleri Al"},gj.core.messages["tr-tr"]={monthNames:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],monthShortNames:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],weekDaysMin:["P","P","S","Ç","P","C","C"],weekDaysShort:["Pz","Pzt","Sal","Çrş","Prş","Cu","Cts"],weekDays:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],am:"AM",pm:"PM",ok:"Tamam",cancel:"İptal",titleFormat:"mmmm yyyy"};
@@ -0,0 +1,53 @@
gj.dialog.messages['zh-cn'] = {
Close: '关闭',
DefaultTitle: '对话框'
};
gj.grid.messages['zh-cn'] = {
First: '首',
Previous: '上一个',
Next: '下一个',
Last: '尾',
Page: '页',
FirstPageTooltip: '首页',
PreviousPageTooltip: '上一页',
NextPageTooltip: '下一页',
LastPageTooltip: '尾页',
Refresh: '刷新',
Of: '的',
DisplayingRecords: '正在显示记录',
RowsPerPage: '行每页',
Edit: '编辑',
Delete: '删除',
Update: '更新',
Cancel: '取消',
NoRecordsFound: '找不到记录。',
Loading: '正在加载……'
};
gj.editor.messages['zh-cn'] = {
bold: '粗体',
italic: '斜体',
strikethrough: '删除线',
underline: '下划线',
listBulleted: '无序列表',
listNumbered: '有序列表',
indentDecrease: '减少缩进',
indentIncrease: '增加缩进',
alignLeft: '左对齐',
alignCenter: '居中',
alignRight: '右对齐',
alignJustify: '两端对齐',
undo: '撤销',
redo: '重做'
};
gj.core.messages['zh-cn'] = {
monthNames: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
monthShortNames: ['01.', '02.', '03.', '04.', '05.', '06.', '07.', '08.', '09.', '10.', '11.', '12.'],
weekDaysMin: ['日', '一', '二', '三', '四', '五', '六'],
weekDaysShort: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
weekDays: ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
am: '上午',
pm: '下午',
ok: '确认',
cancel: '取消',
titleFormat: 'yyyy年mmmm'
};
@@ -0,0 +1 @@
gj.dialog.messages["zh-cn"]={Close:"关闭",DefaultTitle:"对话框"},gj.grid.messages["zh-cn"]={First:"首",Previous:"上一个",Next:"下一个",Last:"尾",Page:"页",FirstPageTooltip:"首页",PreviousPageTooltip:"上一页",NextPageTooltip:"下一页",LastPageTooltip:"尾页",Refresh:"刷新",Of:"的",DisplayingRecords:"正在显示记录",RowsPerPage:"行每页",Edit:"编辑",Delete:"删除",Update:"更新",Cancel:"取消",NoRecordsFound:"找不到记录。",Loading:"正在加载……"},gj.editor.messages["zh-cn"]={bold:"粗体",italic:"斜体",strikethrough:"删除线",underline:"下划线",listBulleted:"无序列表",listNumbered:"有序列表",indentDecrease:"减少缩进",indentIncrease:"增加缩进",alignLeft:"左对齐",alignCenter:"居中",alignRight:"右对齐",alignJustify:"两端对齐",undo:"撤销",redo:"重做"},gj.core.messages["zh-cn"]={monthNames:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthShortNames:["01.","02.","03.","04.","05.","06.","07.","08.","09.","10.","11.","12."],weekDaysMin:["日","一","二","三","四","五","六"],weekDaysShort:["周日","周一","周二","周三","周四","周五","周六"],weekDays:["星期天","星期一","星期二","星期三","星期四","星期五","星期六"],am:"上午",pm:"下午",ok:"确认",cancel:"取消",titleFormat:"yyyy年mmmm"};
@@ -0,0 +1,53 @@
gj.dialog.messages['zh-tw'] = {
Close: '關閉',
DefaultTitle: '對話框'
};
gj.grid.messages['zh-tw'] = {
First: '首',
Previous: '上一個',
Next: '下一個',
Last: '尾',
Page: '頁',
FirstPageTooltip: '首頁',
PreviousPageTooltip: '上一頁',
NextPageTooltip: '下一頁',
LastPageTooltip: '尾頁',
Refresh: '刷新',
Of: '的',
DisplayingRecords: '正在顯示記錄',
RowsPerPage: '行每頁',
Edit: '編輯',
Delete: '刪除',
Update: '更新',
Cancel: '取消',
NoRecordsFound: '找不到記錄。',
Loading: '正在加載……'
};
gj.editor.messages['zh-tw'] = {
bold: '粗體',
italic: '斜體',
strikethrough: '刪除線',
underline: '下劃線',
listBulleted: '無序列表',
listNumbered: '有序列表',
indentDecrease: '減少縮進',
indentIncrease: '增加縮進',
alignLeft: '左對齊',
alignCenter: '居中',
alignRight: '右對齊',
alignJustify: '兩端對齊',
undo: '撤銷',
redo: '重做'
};
gj.core.messages['zh-tw'] = {
monthNames: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
monthShortNames: ['01.', '02.', '03.', '04.', '05.', '06.', '07.', '08.', '09.', '10.', '11.', '12.'],
weekDaysMin: ['日', '一', '二', '三', '四', '五', '六'],
weekDaysShort: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
weekDays: ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
am: '上午',
pm: '下午',
ok: '確認',
cancel: '取消',
titleFormat: 'yyyy年mmmm'
};
@@ -0,0 +1 @@
gj.dialog.messages["zh-tw"]={Close:"關閉",DefaultTitle:"對話框"},gj.grid.messages["zh-tw"]={First:"首",Previous:"上一個",Next:"下一個",Last:"尾",Page:"頁",FirstPageTooltip:"首頁",PreviousPageTooltip:"上一頁",NextPageTooltip:"下一頁",LastPageTooltip:"尾頁",Refresh:"刷新",Of:"的",DisplayingRecords:"正在顯示記錄",RowsPerPage:"行每頁",Edit:"編輯",Delete:"刪除",Update:"更新",Cancel:"取消",NoRecordsFound:"找不到記錄。",Loading:"正在加載……"},gj.editor.messages["zh-tw"]={bold:"粗體",italic:"斜體",strikethrough:"刪除線",underline:"下劃線",listBulleted:"無序列表",listNumbered:"有序列表",indentDecrease:"減少縮進",indentIncrease:"增加縮進",alignLeft:"左對齊",alignCenter:"居中",alignRight:"右對齊",alignJustify:"兩端對齊",undo:"撤銷",redo:"重做"},gj.core.messages["zh-tw"]={monthNames:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthShortNames:["01.","02.","03.","04.","05.","06.","07.","08.","09.","10.","11.","12."],weekDaysMin:["日","一","二","三","四","五","六"],weekDaysShort:["周日","周一","周二","周三","周四","周五","周六"],weekDays:["星期天","星期一","星期二","星期三","星期四","星期五","星期六"],am:"上午",pm:"下午",ok:"確認",cancel:"取消",titleFormat:"yyyy年mmmm"};
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -52,7 +52,7 @@ $ContributorsManual = array(
<div class="modal-header"> <div class="modal-header">
<h4 id="modal-title" class="modal-title"><?php echo localize("MODAL_ABOUT_HEADLINE"); ?></h4> <h4 id="modal-title" class="modal-title"><?php echo localize("MODAL_ABOUT_HEADLINE"); ?></h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-hidden="true"></button>
</div> </div>
<div id="modal-body" class="modal-body modal-content"> <div id="modal-body" class="modal-body modal-content">
@@ -405,4 +405,4 @@ $ContributorsManual = array(
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" <button type="button" class="btn btn-outline-secondary"
data-dismiss="modal"><?php echo localize("BTN_CLOSE"); ?></button> data-bs-dismiss="modal"><?php echo localize("BTN_CLOSE"); ?></button>
+94 -45
View File
@@ -24,9 +24,9 @@ include_once("/home/httpd/cgi-bin/qpkg/RoonServer/__functions.php");
<div class="container"> <div class="container">
<div class="roon-template"> <div class="roon-template">
<h1><?php echo localize("OVERVIEW_HEADLINE"); ?></h1> <!-- <h1><?php echo localize("OVERVIEW_HEADLINE"); ?></h1>
<p class="lead"><?php echo localize("OVERVIEW_TEXT1"); ?><br> <p class="lead"><?php echo localize("OVERVIEW_TEXT1"); ?><br>
<?php echo localize("OVERVIEW_TEXT2"); ?></p> <?php echo localize("OVERVIEW_TEXT2"); ?></p>-->
<div class="row"> <div class="row">
<div class="col-sm-6"> <div class="col-sm-6">
<div class="card"> <div class="card">
@@ -39,17 +39,17 @@ include_once("/home/httpd/cgi-bin/qpkg/RoonServer/__functions.php");
<p class="card-text"> <p class="card-text">
<b><?php echo localize("OVERVIEW_ROONSERVER_PANEL_STATUS"); ?> <b><?php echo localize("OVERVIEW_ROONSERVER_PANEL_STATUS"); ?>
:</b> <?php if (strlen(isRunning()) > 1 ) { :</b> <?php if (strlen(isRunning()) > 1 ) {
echo '<span data-toggle="tooltip" title="' . localize("OVERVIEW_ROONSERVER_PANEL_CONTAINER_ID") .': ' . isRunning() . '" style="color: green;">' . localize("OVERVIEW_ROONSERVER_PANEL_STATUS_RUNNING") . '</span>'; echo '<span data-bs-toggle="tooltip" title="' . localize("OVERVIEW_ROONSERVER_PANEL_CONTAINER_ID") .': ' . isRunning() . '" style="color: green;">' . localize("OVERVIEW_ROONSERVER_PANEL_STATUS_RUNNING") . '</span>';
} else { } else {
echo '<span style="color: red;">' . localize("OVERVIEW_ROONSERVER_PANEL_STATUS_STOPPED") . '</span>'; echo '<span style="color: red;">' . localize("OVERVIEW_ROONSERVER_PANEL_STATUS_STOPPED") . '</span>';
} ?><br> } ?><br>
<b><?php echo localize("OVERVIEW_ROONSERVER_PANEL_VERSION"); ?> <b><?php echo localize("OVERVIEW_ROONSERVER_PANEL_VERSION"); ?>
:</b> <?php echo $RoonVersion[1]; ?><br> :</b> <?php echo getRoonServerVersion()[1]; ?><br>
<b><?php echo localize("OVERVIEW_ROONSERVER_PANEL_QPKG_VERSION"); ?> <b><?php echo localize("OVERVIEW_ROONSERVER_PANEL_QPKG_VERSION"); ?>
:</b> <?php echo $qpkg_conf['RoonServer']['Version']; ?></span> :</b> <?php echo $qpkg_conf['RoonServer']['Version']; ?></span>
</p> </p>
<h5><?php echo localize("OVERVIEW_ROONSERVER_PANEL_SUBHEAD_DATABASE"); ?></h5> <h5><?php echo localize("OVERVIEW_ROONSERVER_PANEL_SUBHEAD_DATABASE"); ?></h5>
<span data-toggle="tooltip" title="<?php echo $dblocation; ?>"> <span data-bs-toggle="tooltip" title="<?php echo $dblocation; ?>">
<b><?php echo localize("OVERVIEW_ROONSERVER_PANEL_LOCATION"); ?>: </b><?php echo $dblocation; ?> <b><?php echo localize("OVERVIEW_ROONSERVER_PANEL_LOCATION"); ?>: </b><?php echo $dblocation; ?>
</span> </span>
<div class="progress" style="height: 20px;"> <div class="progress" style="height: 20px;">
@@ -58,52 +58,61 @@ include_once("/home/httpd/cgi-bin/qpkg/RoonServer/__functions.php");
<p> <p>
<?php echo $db_perc . '% ' . localize("OVERVIEW_ROONSERVER_PANEL_SPACE_OF") . ' ' . displayStorage($db_vol_cap) . ' ' . localize("OVERVIEW_ROONSERVER_PANEL_SPACE_USED") . '.'; ?> <?php echo $db_perc . '% ' . localize("OVERVIEW_ROONSERVER_PANEL_SPACE_OF") . ' ' . displayStorage($db_vol_cap) . ' ' . localize("OVERVIEW_ROONSERVER_PANEL_SPACE_USED") . '.'; ?>
</p> </p>
<span id="log" class="getModal"> <div class="row">
<a href="#" <span id="log" class="col getModal d-flex justify-content-start">
class="btn btn-light btn-icon float-left" <a href="#"
data-toggle="tooltip" class="btn btn-light btn-icon float-left"
title="<?php echo localize("MODAL_LOGFILES_ICON_TOOLTIP"); ?>"> data-bs-toggle="tooltip"
<i class="fas fa-ambulance"></i> title="<?php echo localize("MODAL_LOGFILES_ICON_TOOLTIP"); ?>">
</a> <i class="fas fa-ambulance"></i>
</span> </a>
<span id="setStorage" class="getModal"> </span>
<a href="#" <span id="setStorage" class="col-6 getModal float-right">
class="btn btn-primary float-right" <a href="#"
data-toggle="tooltip" class="btn btn-primary"
title="<?php echo localize("OVERVIEW_ROONSERVER_PANEL_CHANGE_DB_LOCATION_TOOLTIP"); ?>"> data-bs-toggle="tooltip"
<?php echo localize("OVERVIEW_ROONSERVER_PANEL_CHANGE_DB_LOCATION"); ?> title="<?php echo localize("OVERVIEW_ROONSERVER_PANEL_CHANGE_DB_LOCATION_TOOLTIP"); ?>">
</a> <?php echo localize("OVERVIEW_ROONSERVER_PANEL_CHANGE_DB_LOCATION"); ?>
</span> </a>
</span>
</div>
</div> </div>
</div> </div>
</div> </div>
<div class="col-sm-6"> <div class="col-sm-6">
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<!-- USB Audio --> <span class="fa-stack fa-2x">
<div class="py-3 border-b border-surface-500/30"> <i class="fa fa-circle fa-stack-2x" style="color: #222222;"></i>
<div class="flex items-start gap-3"> <i class="fas fa-cog fa-stack-1x" style="color: #ffffff;"></i>
<label class="relative inline-flex items-center cursor-pointer mt-0.5 flex-shrink-0"> </span>
<input type="checkbox" id="opt-usb-audio" class="sr-only peer"> <h5>Settings</h5>
<div class="toggle-track"></div> <div class=" d-grid gap-3 w-50">
</label>
<div class="flex-1 min-w-0"> <div class="form-check form-switch">
<label class="text-sm font-medium cursor-pointer" for="opt-usb-audio" data-toggle="tooltip" title="Pass through USB and ALSA devices for local audio output to a USB DAC connected to the host. Not needed if streaming to network endpoints.">USB audio (DAC)</label> <input class="form-check-input" type="checkbox" role="switch" id="smb_cifs" onchange="changeSettings(this)">
<label class="form-check-label justify-content-start" for="flexSwitchCheckChecked">SMB/CIFS mount support</label>
</div> </div>
</div> <div class="form-check form-switch">
</div> <input class="form-check-input" type="checkbox" role="switch" id="usb_audio" onchange="changeSettings(this)">
<!-- HDMI Audio --> <label class="form-check-label justify-content-start" for="flexSwitchCheckChecked">USB audio (DAC)</label>
<div class="py-3">
<div class="flex items-start gap-3">
<label class="relative inline-flex items-center cursor-pointer mt-0.5 flex-shrink-0">
<input type="checkbox" id="opt-hdmi-audio" class="sr-only peer">
<div class="toggle-track"></div>
</label>
<div class="flex-1 min-w-0">
<label class="text-sm font-medium cursor-pointer" for="opt-hdmi-audio" data-toggle="tooltip" title="Pass through GPU and ALSA devices for HDMI audio output. Requires GPU drivers on the host.">HDMI audio</label>
</div> </div>
</div>
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="hdmi_audio" onchange="changeSettings(this)">
<label class="form-check-label justify-content-start text-left" for="flexSwitchCheckChecked">HDMI audio (DAC)</label>
</div>
</div> </div>
<span id="saveOptions" class="getModal">
<a href="#"
class="btn btn-primary float-right"
data-bs-toggle="tooltip"
onclick="saveOptions()"
title="Save Options">
Save
</a>
</span>
</div> </div>
</div> </div>
</div> </div>
@@ -120,7 +129,7 @@ include_once("/home/httpd/cgi-bin/qpkg/RoonServer/__functions.php");
// Enable Tooltips // Enable Tooltips
$(function () { $(function () {
$('[data-toggle="tooltip"]').tooltip() document.querySelectorAll('[data-bs-toggle="tooltip"]')
}); });
// Action when button for Modal is clicked // Action when button for Modal is clicked
@@ -128,10 +137,10 @@ include_once("/home/httpd/cgi-bin/qpkg/RoonServer/__functions.php");
// Hide Tooltips when modal opens // Hide Tooltips when modal opens
$(function () { $(function () {
$('[data-toggle="tooltip"]').tooltip('dispose') $('[data-bs-toggle="tooltip"]').tooltip('dispose')
}); });
// Check which button fired // Check which button pressed
e.preventDefault(); e.preventDefault();
var modalContent = $(this).attr('id'); var modalContent = $(this).attr('id');
$('#modal-content').load("modals.php?s=" + modalContent); $('#modal-content').load("modals.php?s=" + modalContent);
@@ -140,4 +149,44 @@ include_once("/home/httpd/cgi-bin/qpkg/RoonServer/__functions.php");
$('#modal').modal('show'); $('#modal').modal('show');
return false; return false;
}); });
function changeSettings(el) {
console.log(el.id + ": " + el.checked);
}
$( document ).ready(function() {
var qpkg_options_str = "<?php echo $qpkg_conf_options ?>";
var qpkg_options_arr = qpkg_options_str.split(' ');
for (let conf_option of qpkg_options_arr) {
document.getElementById(conf_option).checked = true;
}
// document.getElementById('smb_cifs').checked = false;
// document.getElementById('usb_audio').checked = false;
// document.getElementById('hdmi_audio').checked = false;
});
// Function to download log files
function saveOptions () {
console.log('click');
var qnap_options = "";
qnap_options += document.getElementById('smb_cifs').checked ? "smb_cifs;" : "" ;
qnap_options += document.getElementById('usb_audio').checked ? "usb_audio;" : "" ;
qnap_options += document.getElementById('hdmi_audio').checked ? "hdmi_audio;" : "" ;
document.getElementById('smb_cifs').checked
var strUrl = '<?php echo NASHOST;?>/cgi-bin/qpkg/RoonServer/ajax/ajax.php?a=setOptions&o=' + qnap_options;
$.ajax({
url: strUrl,
dataType: 'json',
success: function (cb_data) {
console.log('success function...');
console.log('Debug Objects2: ' + cb_data.options );
}
});
}
</script> </script>
+5 -3
View File
@@ -29,7 +29,7 @@ include_once("/home/httpd/cgi-bin/qpkg/RoonServer/__functions.php");
<div class="modal-header"> <div class="modal-header">
<h4 id="modal-title" class="modal-title"><?php echo localize("MODAL_SETUP_HEADLINE"); ?></h4> <h4 id="modal-title" class="modal-title"><?php echo localize("MODAL_SETUP_HEADLINE"); ?></h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-hidden="true"></button>
</div> </div>
<div id="modal-body" class="modal-body modal-content"> <div id="modal-body" class="modal-body modal-content">
@@ -55,7 +55,9 @@ include_once("/home/httpd/cgi-bin/qpkg/RoonServer/__functions.php");
hasChildrenField: 'anychildren', hasChildrenField: 'anychildren',
iconsLibrary: 'fontawesome', iconsLibrary: 'fontawesome',
imageCssClassField: 'faCssClass', imageCssClassField: 'faCssClass',
uiLibrary: 'bootstrap4', uiLibrary: 'bootstrap5',
cascadeSelection: false,
selectionType: 'single',
icons: { icons: {
expand: '<i class="fas fa-angle-right" />', expand: '<i class="fas fa-angle-right" />',
collapse: '<i class="fas fa-angle-down" />' collapse: '<i class="fas fa-angle-down" />'
@@ -141,4 +143,4 @@ include_once("/home/httpd/cgi-bin/qpkg/RoonServer/__functions.php");
</div> </div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal"><?php echo localize("BTN_CLOSE"); ?></button> <button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal"><?php echo localize("BTN_CLOSE"); ?></button>
+1 -1
View File
@@ -78,7 +78,7 @@
"MODAL_ABOUT_COFFEE": "Ich arbeite an den Installationen für NAS-Laufwerke in meiner Freizeit. Es beansprucht viel Zeit und erfordert finanzielle Ausgaben. Wenn du dich dafür erkenntlich zeigen möchtest, spendiere mir doch einfach einen Kaffee.", "MODAL_ABOUT_COFFEE": "Ich arbeite an den Installationen für NAS-Laufwerke in meiner Freizeit. Es beansprucht viel Zeit und erfordert finanzielle Ausgaben. Wenn du dich dafür erkenntlich zeigen möchtest, spendiere mir doch einfach einen Kaffee.",
"MODAL_ABOUT_GITHUB": "Diese Installationroutine ist OpenSource und bei Github veröffentlicht. Ich freue mich über Pull-Requests jeglicher Art. Dies umfasst ebenfalls die Übersetzung in weitere Sprachen.", "MODAL_ABOUT_GITHUB": "Diese Installationroutine ist OpenSource und bei Github veröffentlicht. Ich freue mich über Pull-Requests jeglicher Art. Dies umfasst ebenfalls die Übersetzung in weitere Sprachen.",
"MODAL_ABOUT_BTN_GITHUB": "Besuche das GitHub Repository", "MODAL_ABOUT_BTN_GITHUB": "Besuche das GitHub Repository",
"MODAL_ABOUT_THANKS": "Danke an alle Unterstützer und Mitwirkenden", "MODAL_ABOUT_THANKS": "Danke an alle Unterstützer*innen und Mitwirkenden",
"MODAL_ABOUT_LICENSE": "Lizenz", "MODAL_ABOUT_LICENSE": "Lizenz",
"MODAL_ABOUT_ASSETS": "Diese Weboberfläche nutzt folgende Frameworks/Bibliotheken:" "MODAL_ABOUT_ASSETS": "Diese Weboberfläche nutzt folgende Frameworks/Bibliotheken:"
} }
Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

-32
View File
@@ -1,32 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 384 512" style="enable-background:new 0 0 384 512;" xml:space="preserve">
<style type="text/css">
.st0{fill:#008700;}
</style>
<path d="M365,125L259,19C247,7,230,0,214,0H64C29,0,0,29,0,64v384c0,35,29,64,64,64h256c35,0,64-29,64-64V170
C384,154,377,137,365,125z M343,148c3,3,5,8,7,12H240c-9,0-16-7-16-16V34c4,2,9,4,12,7L343,148z M352,448c0,18-14,32-32,32H64
c-18,0-32-14-32-32V64c0-18,14-32,32-32h128v112c0,26,22,48,48,48h112V448z"/>
<g>
<path d="M114.9,400.7h-23v11h18.2v9.2H91.9v19.3h-12V391h35V400.7z"/>
<path d="M155.9,400.7h-23v11H151v9.2h-18.2v19.3h-12V391h35V400.7z"/>
<path d="M177.2,440.2l-9.2-30.5v30.5h-7.4v-37.5h13.7l6.6,22.4l6.9-22.4h13.7v37.5h-8.8v-30.5l-9.4,30.5H177.2z"/>
<path d="M217.8,426.3v13.9h-8.9v-37.5h14.8c3.3,0,5.8,0.4,7.6,1.1c1.7,0.7,3.3,2,4.7,3.8c1.4,1.8,2.1,4,2.1,6.7
c0,1.8-0.4,3.7-1.1,5.4c-0.7,1.8-1.8,3.1-3.1,4.1c-1.3,1-2.6,1.7-3.9,2c-1.3,0.3-3.2,0.5-5.9,0.5H217.8z M217.5,419.5h5.7
c2.2,0,3.7-0.5,4.6-1.5c0.9-1,1.3-2.2,1.3-3.5c0-1.5-0.5-2.7-1.5-3.6c-1-0.9-2.5-1.3-4.5-1.3h-5.7V419.5z"/>
<path d="M269.6,409.9h-17.9v7.7h14.1v7.1h-14.1v8.2h17.9v7.4h-26.8v-37.5h26.8V409.9z"/>
<path d="M304.1,420.2v20h-4c-0.3-1.4-0.7-2.8-1.3-4.3c-2.7,3.3-6.1,4.9-10.2,4.9c-4.9,0-8.7-1.7-11.4-5.2c-2.7-3.5-4.1-8-4.1-13.6
c0-6,1.5-10.8,4.4-14.4c2.9-3.6,6.8-5.4,11.8-5.4c4.2,0,7.5,1.2,10.1,3.5c2.6,2.3,4.1,5.5,4.7,9.4l-8.3,1.1
c-0.7-4.5-2.8-6.8-6.4-6.8c-2.4,0-4.2,1.1-5.4,3.2c-1.2,2.1-1.8,5.2-1.8,9.2c0,3.8,0.7,6.8,2,8.8c1.3,2,3.2,3,5.6,3
c1.6,0,3-0.5,4.2-1.5c1.2-1,1.9-2.7,1.9-4.9h-7.1v-7H304.1z"/>
</g>
<g>
<path class="st0" d="M262.6,378.4h-47c-4.3,0-8.1-2.6-9.8-6.5c-1.6-4-0.7-8.5,2.3-11.5l43.9-43.9v-17.1l-76,76
c-2,2-4.7,3.1-7.5,3.1h-47c-4.3,0-8.1-2.6-9.8-6.5c-1.6-4-0.7-8.5,2.3-11.5l123-123h-17.1l-91,91c-3,3-7.6,3.9-11.5,2.3
c-4-1.6-6.5-5.5-6.5-9.8v-47c0-2.8,1.1-5.5,3.1-7.5l29-29h-21.5c-5.8,0-10.6-4.7-10.6-10.6s4.7-10.6,10.6-10.6h47
c4.3,0,8.1,2.6,9.8,6.5c1.6,4,0.7,8.5-2.3,11.5L132,278.1v17.1l76-76c2-2,4.7-3.1,7.5-3.1h47c4.3,0,8.1,2.6,9.8,6.5
c1.6,4,0.7,8.5-2.3,11.5l-123,123h17.1l91-91c3-3,7.6-3.9,11.5-2.3c4,1.6,6.5,5.5,6.5,9.8v47c0,2.8-1.1,5.5-3.1,7.5l-29,29h21.5
c5.8,0,10.6,4.7,10.6,10.6C273.1,373.7,268.4,378.4,262.6,378.4z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

+11 -8
View File
@@ -66,17 +66,19 @@ include_once("/home/httpd/cgi-bin/qpkg/RoonServer/__functions.php");
echo localize("DEBUG_QPKG_ROOT") . ': ' . APPINSTALLPATH . "<br>"; echo localize("DEBUG_QPKG_ROOT") . ': ' . APPINSTALLPATH . "<br>";
echo localize("DEBUG_LANGUAGE") . ': ' . $_COOKIE['nas_lang'] . "<br>"; echo localize("DEBUG_LANGUAGE") . ': ' . $_COOKIE['nas_lang'] . "<br>";
echo "Container-ID: " . isRunning() . '<br>'; echo "Container-ID: " . isRunning() . '<br>';
echo "RoonServer Ver: " . getRoonServerVersion() . '<br>'; echo "RoonServer Ver: " . getRoonServerVersion()[1] . '<br>';
echo "Options: " . $qpkg_conf_options . '<br>';
echo localize("DEBUG_QPKG_DOCROOT") . ': ' . NASHOST . '<br>'; echo localize("DEBUG_QPKG_DOCROOT") . ': ' . NASHOST . '<br>';
} }
} }
?> ?>
<nav id="navigation" class="navbar navbar-expand-md navbar-dark bg-dark fixed-top"> <!-- <nav class="navbar navbar-expand-lg navbar-light bg-light"> -->
<a class="navbar-brand" href="index.php"> <nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top">
<a class="navbar-brand " href="index.php">
<img src="img/roonIcon.svg" alt="Roon Icon" style="height: 40px;"> <img src="img/roonIcon.svg" alt="Roon Icon" style="height: 40px;">
</a> </a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-target="#navbarsExampleDefault"
aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation"> aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span> <span class="navbar-toggler-icon"></span>
</button> </button>
@@ -90,7 +92,7 @@ include_once("/home/httpd/cgi-bin/qpkg/RoonServer/__functions.php");
<ul class="navbar-nav ml-auto"> <ul class="navbar-nav ml-auto">
<li class="nav-item dropdown pull-right dropdown-menu-right"> <li class="nav-item dropdown pull-right dropdown-menu-right">
<a class="nav-link dropdown-toggle" href="#" id="dropdown01" data-toggle="dropdown" <a class="nav-link dropdown-toggle" href="#" id="dropdown01" data-bs-toggle="dropdown"
aria-haspopup="true" aria-expanded="false"><?php echo localize("NAV_MENU_MORE"); ?></a> aria-haspopup="true" aria-expanded="false"><?php echo localize("NAV_MENU_MORE"); ?></a>
<div class="dropdown-menu pull-right" aria-labelledby="dropdown01"> <div class="dropdown-menu pull-right" aria-labelledby="dropdown01">
<a class="dropdown-item" href="https://roon.app/de/downloads" target="_blank"> <a class="dropdown-item" href="https://roon.app/de/downloads" target="_blank">
@@ -352,6 +354,7 @@ include_once("/home/httpd/cgi-bin/qpkg/RoonServer/__functions.php");
setInterval(roonAnimate, 1000); setInterval(roonAnimate, 1000);
$.ajax({ $.ajax({
type: "POST",
url: '<?php echo NASHOST;?>/cgi-bin/qpkg/RoonServer/ajax/ajax.php?a=redownload', url: '<?php echo NASHOST;?>/cgi-bin/qpkg/RoonServer/ajax/ajax.php?a=redownload',
success: function () { success: function () {
label_ReinstallDone = '<?php echo str_replace("'", "\'", localize("MODAL_REINSTALL_DONE")); ?>'; label_ReinstallDone = '<?php echo str_replace("'", "\'", localize("MODAL_REINSTALL_DONE")); ?>';
@@ -392,7 +395,7 @@ include_once("/home/httpd/cgi-bin/qpkg/RoonServer/__functions.php");
else if (newdbpath != currentPath) { else if (newdbpath != currentPath) {
$('#modal-content').html('<div class="modal-header">' + $('#modal-content').html('<div class="modal-header">' +
'<h4 class="modal-title"><?php echo str_replace("'", "\'", localize("MODAL_SETUP_RESTART_HEADLINE")); ?></h4>' + '<h4 class="modal-title"><?php echo str_replace("'", "\'", localize("MODAL_SETUP_RESTART_HEADLINE")); ?></h4>' +
'<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>' + '<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>' +
'</div>' + '</div>' +
'<div id="modal-body" class="modal-body">' + '<div id="modal-body" class="modal-body">' +
'<?php echo str_replace("'", "\'", localize("MODAL_SETUP_RESTART_TEXT")); ?>' + '<?php echo str_replace("'", "\'", localize("MODAL_SETUP_RESTART_TEXT")); ?>' +
@@ -413,11 +416,11 @@ include_once("/home/httpd/cgi-bin/qpkg/RoonServer/__functions.php");
else { else {
$('#modal-content').html('<div class="modal-header">' + $('#modal-content').html('<div class="modal-header">' +
'<h4 class="modal-title"><?php echo str_replace("'", "\'", localize("MODAL_SETUP_RESTART_SAME_PATH")); ?></h4>' + '<h4 class="modal-title"><?php echo str_replace("'", "\'", localize("MODAL_SETUP_RESTART_SAME_PATH")); ?></h4>' +
'<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>' + '<button type="button" class="btn-close" data-bs-dismiss="modal" aria-hidden="true"></button>' +
'</div>' + '</div>' +
'<div id="modal-body" class="modal-body">' + '<div id="modal-body" class="modal-body">' +
'<?php echo str_replace("'", "\'", localize("MODAL_SETUP_RESTART_SAME_PATH_TEXT")); ?>' + '<?php echo str_replace("'", "\'", localize("MODAL_SETUP_RESTART_SAME_PATH_TEXT")); ?>' +
'<a id="restartRoonServer" href="#" data-dismiss="modal">' + '<a id="restartRoonServer" href="#" data-bs-dismiss="modal">' +
'<div class="fa-4x text-center" style="text-align: center;">' + '<div class="fa-4x text-center" style="text-align: center;">' +
'<span class="fa-layers fa-fw">' + '<span class="fa-layers fa-fw">' +
'<i class="fas fa-exclamation-circle faa-shake animated"></i>' + '<i class="fas fa-exclamation-circle faa-shake animated"></i>' +
+2 -2
View File
@@ -10,7 +10,7 @@ if ($section == "log") {
echo nl2br( echo nl2br(
'<div class="modal-header">' . '<div class="modal-header">' .
'<h4 id="modal-title" class="modal-title">' . localize("MODAL_LOGFILES_HEADLINE") . '</h4>' . '<h4 id="modal-title" class="modal-title">' . localize("MODAL_LOGFILES_HEADLINE") . '</h4>' .
'<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>' . '<button type="button" class="btn-close" data-bs-dismiss="modal" aria-hidden="true"></button>' .
'</div>' . '</div>' .
'<div id="modal-body" class="modal-body modal-content">' . '<div id="modal-body" class="modal-body modal-content">' .
localize("MODAL_LOGFILES_DESCRIPTION1") . '<br><br>' . localize("MODAL_LOGFILES_DESCRIPTION1") . '<br><br>' .
@@ -30,7 +30,7 @@ if ($section == "log") {
'</span>' . '</span>' .
'</div>' . '</div>' .
'<div class="modal-footer">' . '<div class="modal-footer">' .
'<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">' . localize("BTN_CLOSE") . '</button>'); '<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">' . localize("BTN_CLOSE") . '</button>');
} }
if ($section == "setStorage") { if ($section == "setStorage") {