|
From 3bd5774ea170706e398d447c9693295b37184997 Mon Sep 17 00:00:00 2001
From: Isaac Connor
Date: Thu, 29 Nov 2018 15:53:19 -0500
Subject: [PATCH 181/201] Default to PathToIndex should have the index.php in
it
---
web/includes/Server.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/web/includes/Server.php b/web/includes/Server.php
index 069e5830c..06219a1f5 100644
--- a/web/includes/Server.php
+++ b/web/includes/Server.php
@@ -10,7 +10,7 @@ class Server {
'Protocol' => '',
'Hostname' => '',
'Port' => null,
- 'PathToIndex' => '/zm',
+ 'PathToIndex' => '/zm/index.php',
'PathToZMS' => ZM_PATH_ZMS,
'PathToApi' => '/zm/api',
'zmaudit' => 1,
From bfff07bb3e1977fd3662e10c2d9440153560116f Mon Sep 17 00:00:00 2001
From: Andrew Bauer
Date: Fri, 30 Nov 2018 08:53:58 -0600
Subject: [PATCH 182/201] rpm packaging - takes too long to set perms on events
---
distros/redhat/zoneminder.spec | 2 --
1 file changed, 2 deletions(-)
diff --git a/distros/redhat/zoneminder.spec b/distros/redhat/zoneminder.spec
index 95476037b..59fd3dc81 100644
--- a/distros/redhat/zoneminder.spec
+++ b/distros/redhat/zoneminder.spec
@@ -253,7 +253,6 @@ echo -e "\nThe README file is located here: %{_pkgdocdir}-common/README\n"
# For the case of changing from nginx <-> httpd, files in these folders must change ownership if they exist
%{_bindir}/chown -R %{zmuid_final}:%{zmgid_final} %{_sharedstatedir}/php/session/* >/dev/null 2>&1 || :
%{_bindir}/chown -R %{zmuid_final}:%{zmgid_final} %{_localstatedir}/log/zoneminder/* >/dev/null 2>&1 || :
-%{_bindir}/chown -R %{zmuid_final}:%{zmgid_final} %{_sharedstatedir}/zoneminder/events/* >/dev/null 2>&1 || :
ln -sf %{_sysconfdir}/zm/www/com.zoneminder.systemctl.rules.httpd %{_datadir}/polkit-1/rules.d/com.zoneminder.systemctl.rules
# backwards compatibility
@@ -272,7 +271,6 @@ ln -sf %{_sysconfdir}/zm/www/zoneminder.httpd.conf %{_sysconfdir}/zm/www/zonemin
# For the case of changing from httpd <-> nginx, files in these folders must change ownership if they exist
%{_bindir}/chown -R nginx:nginx %{_sharedstatedir}/php/session/* >/dev/null 2>&1 || :
%{_bindir}/chown -R nginx:nginx %{_localstatedir}/log/zoneminder/* >/dev/null 2>&1 || :
-%{_bindir}/chown -R nginx:nginx %{_sharedstatedir}/zoneminder/events/* >/dev/null 2>&1 || :
ln -sf %{_sysconfdir}/zm/www/com.zoneminder.systemctl.rules.nginx %{_datadir}/polkit-1/rules.d/com.zoneminder.systemctl.rules
# backwards compatibility
From 279255d979f5a9772de5e0dc62631f484b87589f Mon Sep 17 00:00:00 2001
From: Andrew Bauer
Date: Fri, 30 Nov 2018 08:58:42 -0600
Subject: [PATCH 183/201] rpm pkg - update README
---
distros/redhat/readme/README | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/distros/redhat/readme/README b/distros/redhat/readme/README
index b26a4e2f8..0b3e4bb9c 100644
--- a/distros/redhat/readme/README
+++ b/distros/redhat/readme/README
@@ -19,9 +19,8 @@ What's New
zoneminder-nginx - Files needed for compatibility with the Nginx web server
You can switch between different subpackages with dnf/yum. Be advised that,
- switching between httpd <-> nginx may not be perfect. Several files and
- folders need to change ownership. The package attempts to do this, but
- manual intervention will still likely be needed.
+ switching between httpd <-> nginx requires manaully changing ownership of
+ all event folders and the php session folder after the change.
4. If you have installed ZoneMinder from the FedBerry repositories, this build
of ZoneMinder has support for Raspberry Pi hardware acceleration when using
From f9139f2d98051d5dced27435482217893b74f29d Mon Sep 17 00:00:00 2001
From: Isaac Connor
Date: Fri, 30 Nov 2018 10:48:20 -0500
Subject: [PATCH 184/201] Use the word skipped instead of aborted
---
scripts/zmupdate.pl.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/zmupdate.pl.in b/scripts/zmupdate.pl.in
index 45d45851a..8517e0277 100644
--- a/scripts/zmupdate.pl.in
+++ b/scripts/zmupdate.pl.in
@@ -353,8 +353,8 @@ if ( $version ) {
$version = $detaint_version;
if ( ZM_VERSION eq $version ) {
- print( "\nDatabase already at version $version, update aborted.\n\n" );
- exit( 0 );
+ print("\nDatabase already at version $version, update skipped.\n\n");
+ exit(0);
}
print( "\nInitiating database upgrade to version ".ZM_VERSION." from version $version\n" );
From 8c626c984b0d7504efa9fcd74cd9e5f39238b188 Mon Sep 17 00:00:00 2001
From: Isaac Connor
Date: Fri, 30 Nov 2018 14:45:58 -0500
Subject: [PATCH 185/201] Need to pass port through all Url functions
---
web/includes/Server.php | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/web/includes/Server.php b/web/includes/Server.php
index 06219a1f5..3918e9389 100644
--- a/web/includes/Server.php
+++ b/web/includes/Server.php
@@ -84,8 +84,8 @@ class Server {
}
}
- public function UrlToZMS( ) {
- return $this->Url().$this->PathToZMS();
+ public function UrlToZMS( $port = null ) {
+ return $this->Url($port).$this->PathToZMS();
}
public function Url( $port = null ) {
@@ -113,11 +113,11 @@ class Server {
return $_SERVER['PHP_SELF'];
}
- public function UrlToIndex( ) {
- return $this->Url().$this->PathToIndex();
+ public function UrlToIndex( $port=null ) {
+ return $this->Url($port).$this->PathToIndex();
}
- public function UrlToApi( ) {
- return $this->Url().$this->PathToApi();
+ public function UrlToApi( $port=null ) {
+ return $this->Url($port).$this->PathToApi();
}
public function PathToApi( $new = null ) {
if ( $new != null )
From 6ad54aad930372048b13ca575ffe206939c4a029 Mon Sep 17 00:00:00 2001
From: Isaac Connor
Date: Fri, 30 Nov 2018 14:53:31 -0500
Subject: [PATCH 186/201] add libswscale5 to depends for ubuntu cosmic
---
distros/ubuntu1604/control | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/distros/ubuntu1604/control b/distros/ubuntu1604/control
index e487d17b6..991ed9e54 100644
--- a/distros/ubuntu1604/control
+++ b/distros/ubuntu1604/control
@@ -41,7 +41,7 @@ Package: zoneminder
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}
,javascript-common
- ,libmp4v2-2, libx264-142|libx264-148|libx264-152, libswscale-ffmpeg3|libswscale4|libswscale3
+ ,libmp4v2-2, libx264-142|libx264-148|libx264-152, libswscale-ffmpeg3|libswscale4|libswscale3|libswscale5
,ffmpeg | libav-tools
,libdate-manip-perl, libmime-lite-perl, libmime-tools-perl
,libdbd-mysql-perl
From 76e0782d97f8fde02c152d0c7f8e7abd5296bafa Mon Sep 17 00:00:00 2001
From: Andrew Bauer
Date: Sat, 1 Dec 2018 09:58:12 -0600
Subject: [PATCH 187/201] rpm pkg - update nginx config
---
distros/redhat/CMakeLists.txt | 2 +
distros/redhat/nginx/redirect.nginx.conf | 2 +
distros/redhat/nginx/zoneminder.nginx.conf.in | 90 ++++++++++---------
distros/redhat/readme/README.nginx | 9 +-
distros/redhat/zoneminder.spec | 1 +
5 files changed, 58 insertions(+), 46 deletions(-)
create mode 100644 distros/redhat/nginx/redirect.nginx.conf
diff --git a/distros/redhat/CMakeLists.txt b/distros/redhat/CMakeLists.txt
index 716faea4c..06b0e8cbf 100644
--- a/distros/redhat/CMakeLists.txt
+++ b/distros/redhat/CMakeLists.txt
@@ -32,6 +32,7 @@ configure_file(httpd/com.zoneminder.systemctl.rules.httpd.in ${CMAKE_CURRENT_SOU
# Configure the Nginx zoneminder files
configure_file(nginx/zm-nginx.conf ${CMAKE_CURRENT_SOURCE_DIR}/zm-nginx.conf COPYONLY)
configure_file(nginx/zoneminder.nginx.conf.in ${CMAKE_CURRENT_SOURCE_DIR}/zoneminder.nginx.conf @ONLY)
+configure_file(nginx/redirect.nginx.conf ${CMAKE_CURRENT_SOURCE_DIR}/redirect.nginx.conf COPYONLY)
configure_file(nginx/zoneminder.nginx.tmpfiles.in ${CMAKE_CURRENT_SOURCE_DIR}/zoneminder.nginx.tmpfiles.conf @ONLY)
configure_file(nginx/zm-web-user.conf ${CMAKE_CURRENT_SOURCE_DIR}/zm-web-user.conf COPYONLY)
configure_file(nginx/zoneminder.php-fpm.conf ${CMAKE_CURRENT_SOURCE_DIR}/zoneminder.php-fpm.conf COPYONLY)
@@ -62,6 +63,7 @@ install(FILES com.zoneminder.systemctl.rules.httpd DESTINATION /etc/zm/www PERMI
# Install the Nginx zoneminder files
install(FILES zm-nginx.conf DESTINATION /usr/lib/systemd/system/zoneminder.service.d PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
install(FILES zoneminder.nginx.conf DESTINATION /etc/zm/www PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
+install(FILES redirect.nginx.conf DESTINATION /etc/zm/www PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
install(FILES zoneminder.nginx.tmpfiles.conf DESTINATION /usr/lib/tmpfiles.d PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
install(FILES com.zoneminder.systemctl.rules.nginx DESTINATION /etc/zm/www PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
install(FILES zm-web-user.conf DESTINATION /etc/zm/conf.d PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
diff --git a/distros/redhat/nginx/redirect.nginx.conf b/distros/redhat/nginx/redirect.nginx.conf
new file mode 100644
index 000000000..67ef08124
--- /dev/null
+++ b/distros/redhat/nginx/redirect.nginx.conf
@@ -0,0 +1,2 @@
+# Auto redirect to https
+return 301 https://$host$request_uri;
diff --git a/distros/redhat/nginx/zoneminder.nginx.conf.in b/distros/redhat/nginx/zoneminder.nginx.conf.in
index fb8141c74..c2e3edee7 100644
--- a/distros/redhat/nginx/zoneminder.nginx.conf.in
+++ b/distros/redhat/nginx/zoneminder.nginx.conf.in
@@ -1,53 +1,57 @@
-listen 443 ssl;
-listen [::]:443 ssl;
+server {
+ listen 443 ssl default_server;
+ listen [::]:443 ssl default_server;
+ server_name = localhost $hostname;
-ssl_certificate "/etc/pki/tls/certs/localhost.crt";
-ssl_certificate_key "/etc/pki/tls/private/localhost.key";
-ssl_session_cache shared:SSL:1m;
-ssl_session_timeout 10m;
-ssl_ciphers PROFILE=SYSTEM;
-ssl_prefer_server_ciphers on;
+ ssl_certificate "/etc/pki/tls/certs/localhost.crt";
+ ssl_certificate_key "/etc/pki/tls/private/localhost.key";
+ ssl_session_cache shared:SSL:1m;
+ ssl_session_timeout 10m;
+ ssl_ciphers PROFILE=SYSTEM;
+ ssl_prefer_server_ciphers on;
-# Auto-redirect HTTP requests to HTTPS
-if ($scheme != "https") {
- rewrite ^/?(zm)(.*)$ https://$host/$1$2 permanent;
-}
-
-location /cgi-bin-zm {
- gzip off;
- alias "@ZM_CGIDIR@";
-
- include /etc/nginx/fastcgi_params;
- fastcgi_param SCRIPT_FILENAME $request_filename;
- fastcgi_pass unix:/run/fcgiwrap.sock;
-}
-
-location /zm/cache {
- alias "@ZM_CACHEDIR@";
-}
-
-location /zm {
- gzip off;
- alias "@ZM_WEBDIR@";
- index index.php;
-
- location ~ \.php$ {
- if (!-f $request_filename) { return 404; }
- expires epoch;
- include /etc/nginx/fastcgi_params;
- fastcgi_param SCRIPT_FILENAME $request_filename;
- fastcgi_index index.php;
- fastcgi_pass unix:/run/php-fpm/www.sock;
+ # Auto redirect to server/zm when no url suffix was given
+ location = / {
+ return 301 zm;
}
- location ~ \.(jpg|jpeg|gif|png|ico)$ {
- access_log off;
- expires 33d;
+ location /cgi-bin-zm {
+ gzip off;
+ alias "@ZM_CGIDIR@";
+
+ include /etc/nginx/fastcgi_params;
+ fastcgi_param SCRIPT_FILENAME $request_filename;
+ fastcgi_pass unix:/run/fcgiwrap.sock;
}
- location /zm/api/ {
+ location /zm/cache {
+ alias "@ZM_CACHEDIR@";
+ }
+
+ location /zm {
+ gzip off;
alias "@ZM_WEBDIR@";
- rewrite ^/zm/api(.+)$ /zm/api/app/webroot/index.php?p=$1 last;
+ index index.php;
+
+ location ~ \.php$ {
+ try_files $uri =404;
+ expires epoch;
+ include /etc/nginx/fastcgi_params;
+ fastcgi_param SCRIPT_FILENAME $request_filename;
+ fastcgi_index index.php;
+ fastcgi_pass unix:/run/php-fpm/www.sock;
+ }
+
+ location ~ \.(jpg|jpeg|gif|png|ico)$ {
+ access_log off;
+ expires 33d;
+ }
+
+ location /zm/api/ {
+ alias "@ZM_WEBDIR@";
+ rewrite ^/zm/api(.+)$ /zm/api/app/webroot/index.php?p=$1 last;
+ }
}
+
}
diff --git a/distros/redhat/readme/README.nginx b/distros/redhat/readme/README.nginx
index b55d26428..cca4e72c2 100644
--- a/distros/redhat/readme/README.nginx
+++ b/distros/redhat/readme/README.nginx
@@ -61,8 +61,7 @@ New installs
6. Configure the web server
This package uses the HTTPS protocol by default to access the web portal,
- using the default self signed certificate on your system. Requests using
- HTTP will auto-redirect to HTTPS.
+ using the default self signed certificate on your system.
Inspect the web server configuration file and verify it meets your needs:
@@ -71,9 +70,13 @@ New installs
If you are running other web enabled services then you may need to edit
this file to suite. See README.https to learn about other alternatives.
+ If you wish http requests to auto-redirect to https requests, then link or
+ copy /etc/zm/www/redirect.nginx.conf into /etc/nginx/default.d folder.
+
When in doubt, proceed with the default:
- sudo ln -sf /etc/zm/www/zoneminder.nginx.conf /etc/nginx/default.d/
+ sudo ln -sf /etc/zm/www/zoneminder.nginx.conf /etc/nginx/conf.d/
+ sudo ln -sf /etc/zm/www/redirect.nginx.conf /etc/nginx/default.d/
7. Edit /etc/sysconfig/fcgiwrap and set DAEMON_PROCS to the maximum number of
simulatneous streams the server should support. Generally, a good minimum
diff --git a/distros/redhat/zoneminder.spec b/distros/redhat/zoneminder.spec
index 59fd3dc81..734a70a25 100644
--- a/distros/redhat/zoneminder.spec
+++ b/distros/redhat/zoneminder.spec
@@ -390,6 +390,7 @@ EOF
%config(noreplace) %attr(640,root,nginx) %{_sysconfdir}/zm/conf.d/*.conf
%ghost %attr(640,root,nginx) %{_sysconfdir}/zm/conf.d/zmcustom.conf
%config(noreplace) %{_sysconfdir}/zm/www/zoneminder.nginx.conf
+%config(noreplace) %{_sysconfdir}/zm/www/redirect.nginx.conf
%ghost %{_sysconfdir}/zm/www/zoneminder.conf
%config(noreplace) %{_sysconfdir}/zm/www/com.zoneminder.systemctl.rules.nginx
%ghost %{_datadir}/polkit-1/rules.d/com.zoneminder.systemctl.rules
From cae6ffd5a3c781da5830fe9c8568c6275e6c4def Mon Sep 17 00:00:00 2001
From: Andrew Bauer
Date: Sat, 1 Dec 2018 13:27:08 -0600
Subject: [PATCH 188/201] use HTTP_HOST instead of SERVER_NAME
---
web/includes/Server.php | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/web/includes/Server.php b/web/includes/Server.php
index 3918e9389..dae6cd7c2 100644
--- a/web/includes/Server.php
+++ b/web/includes/Server.php
@@ -51,7 +51,8 @@ class Server {
} else if ( $this->Id() ) {
return $this->{'Name'};
}
- return $_SERVER['SERVER_NAME'];
+ # Use HTTP_HOST instead of SERVER_NAME here for nginx compatiblity
+ return $_SERVER['HTTP_HOST'];
}
public function Protocol( $new = null ) {
@@ -93,7 +94,8 @@ class Server {
if ( $this->Id() ) {
$url .= $this->Hostname();
} else {
- $url .= $_SERVER['SERVER_NAME'];
+ # Use HTTP_HOST instead of SERVER_NAME here for nginx compatiblity
+ $url .= $_SERVER['HTTP_HOST'];
}
if ( $port ) {
$url .= ':'.$port;
From e327ad100eef72662b540f11c31e5b7da57e2fe3 Mon Sep 17 00:00:00 2001
From: Andrew Bauer
Date: Sat, 1 Dec 2018 17:03:50 -0600
Subject: [PATCH 189/201] fix WebSite camera startup issue
---
web/includes/actions.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/web/includes/actions.php b/web/includes/actions.php
index de0861fe0..1e560f694 100644
--- a/web/includes/actions.php
+++ b/web/includes/actions.php
@@ -617,7 +617,7 @@ if ( canEdit('Monitors') ) {
$new_monitor = new Monitor($mid);
//fixDevices();
- if ( $monitor['Type'] != 'WebSite' ) {
+ if ( $new_monitor->Type() != 'WebSite' ) {
$new_monitor->zmcControl('start');
$new_monitor->zmaControl('start');
}
From dbb51e985785062d02a30152c89ac02be2aaf46e Mon Sep 17 00:00:00 2001
From: Andrew Bauer
Date: Sun, 2 Dec 2018 09:40:15 -0600
Subject: [PATCH 190/201] add generic nginx config file
---
misc/CMakeLists.txt | 1 +
misc/nginx.conf.in | 61 +++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 62 insertions(+)
create mode 100644 misc/nginx.conf.in
diff --git a/misc/CMakeLists.txt b/misc/CMakeLists.txt
index 3f92bd5da..990b8ce06 100644
--- a/misc/CMakeLists.txt
+++ b/misc/CMakeLists.txt
@@ -2,6 +2,7 @@
# Create files from the .in files
configure_file(apache.conf.in "${CMAKE_CURRENT_BINARY_DIR}/apache.conf" @ONLY)
+configure_file(nginx.conf.in "${CMAKE_CURRENT_BINARY_DIR}/nginx.conf" @ONLY)
configure_file(logrotate.conf.in "${CMAKE_CURRENT_BINARY_DIR}/logrotate.conf" @ONLY)
configure_file(syslog.conf.in "${CMAKE_CURRENT_BINARY_DIR}/syslog.conf" @ONLY)
configure_file(com.zoneminder.systemctl.policy.in "${CMAKE_CURRENT_BINARY_DIR}/com.zoneminder.systemctl.policy" @ONLY)
diff --git a/misc/nginx.conf.in b/misc/nginx.conf.in
new file mode 100644
index 000000000..47dc3ce68
--- /dev/null
+++ b/misc/nginx.conf.in
@@ -0,0 +1,61 @@
+#
+# PLEASE NOTE THAT THIS FILE IS INTENDED FOR GUIDANCE ONLY AND MAY NOT BE APPROPRIATE FOR YOUR DISTRIBUTION
+#
+
+server {
+ listen 443 ssl default_server;
+ listen [::]:443 ssl default_server;
+ server_name = localhost $hostname;
+
+ ssl_certificate "/etc/pki/tls/certs/localhost.crt";
+ ssl_certificate_key "/etc/pki/tls/private/localhost.key";
+ ssl_session_cache shared:SSL:1m;
+ ssl_session_timeout 10m;
+ ssl_ciphers PROFILE=SYSTEM;
+ ssl_prefer_server_ciphers on;
+
+ # Auto redirect to server/zm when no url suffix was given
+ location = / {
+ return 301 zm;
+ }
+
+ location /cgi-bin-zm {
+ gzip off;
+ alias "@ZM_CGIDIR@";
+
+ include /etc/nginx/fastcgi_params;
+ fastcgi_param SCRIPT_FILENAME $request_filename;
+ fastcgi_pass unix:/run/fcgiwrap.sock;
+ }
+
+ location /zm/cache {
+ alias "@ZM_CACHEDIR@";
+ }
+
+ location /zm {
+ gzip off;
+ alias "@ZM_WEBDIR@";
+ index index.php;
+
+ location ~ \.php$ {
+ try_files $uri =404;
+ expires epoch;
+ include /etc/nginx/fastcgi_params;
+ fastcgi_param SCRIPT_FILENAME $request_filename;
+ fastcgi_index index.php;
+ fastcgi_pass unix:/run/php-fpm/www.sock;
+ }
+
+ location ~ \.(jpg|jpeg|gif|png|ico)$ {
+ access_log off;
+ expires 33d;
+ }
+
+ location /zm/api/ {
+ alias "@ZM_WEBDIR@";
+ rewrite ^/zm/api(.+)$ /zm/api/app/webroot/index.php?p=$1 last;
+ }
+ }
+
+}
+
From d837b4283632aa6c39efaca09561acdfc6abb1b2 Mon Sep 17 00:00:00 2001
From: Isaac Connor
Date: Mon, 3 Dec 2018 10:33:53 -0500
Subject: [PATCH 191/201] fix ffmpeg warnings. We have to copy parameters from
the context to the stream AFTER we open the codec
---
src/zm_videostore.cpp | 124 ++++++++++++++++--------------------------
1 file changed, 48 insertions(+), 76 deletions(-)
diff --git a/src/zm_videostore.cpp b/src/zm_videostore.cpp
index a3b66646b..746036efe 100644
--- a/src/zm_videostore.cpp
+++ b/src/zm_videostore.cpp
@@ -238,7 +238,7 @@ VideoStore::VideoStore(const char *filename_in, const char *format_in,
avformat_new_stream(oc, (AVCodec *)audio_in_ctx->codec);
#endif
if ( !audio_out_stream ) {
- Error("Unable to create audio out stream\n");
+ Error("Unable to create audio out stream");
audio_out_stream = NULL;
} else {
Debug(2, "setting parameters");
@@ -265,7 +265,6 @@ VideoStore::VideoStore(const char *filename_in, const char *format_in,
Debug(2, "Setting audio codec tag to %d",
audio_out_ctx->codec_tag);
}
-
#else
audio_out_ctx = audio_out_stream->codec;
ret = avcodec_copy_context(audio_out_ctx, audio_in_ctx);
@@ -287,7 +286,7 @@ VideoStore::VideoStore(const char *filename_in, const char *format_in,
} // end if is AAC
if ( audio_out_stream ) {
- if (oc->oformat->flags & AVFMT_GLOBALHEADER) {
+ if ( oc->oformat->flags & AVFMT_GLOBALHEADER ) {
#if LIBAVCODEC_VERSION_CHECK(56, 35, 0, 64, 0)
audio_out_ctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
#else
@@ -297,7 +296,6 @@ VideoStore::VideoStore(const char *filename_in, const char *format_in,
}
} // end if audio_in_stream
-
video_last_pts = 0;
video_last_dts = 0;
audio_last_pts = 0;
@@ -310,12 +308,11 @@ VideoStore::VideoStore(const char *filename_in, const char *format_in,
bool VideoStore::open() {
/* open the out file, if needed */
- if (!(out_format->flags & AVFMT_NOFILE)) {
+ if ( !(out_format->flags & AVFMT_NOFILE) ) {
ret = avio_open2(&oc->pb, filename, AVIO_FLAG_WRITE, NULL, NULL);
- if (ret < 0) {
+ if ( ret < 0 ) {
Error("Could not open out file '%s': %s\n", filename,
av_make_error_string(ret).c_str());
-
return false;
}
}
@@ -339,9 +336,9 @@ bool VideoStore::open() {
} else if (av_dict_count(opts) != 0) {
Warning("some options not set\n");
}
- if (opts) av_dict_free(&opts);
- if (ret < 0) {
- Error("Error occurred when writing out file header to %s: %s\n",
+ if ( opts ) av_dict_free(&opts);
+ if ( ret < 0 ) {
+ Error("Error occurred when writing out file header to %s: %s",
filename, av_make_error_string(ret).c_str());
/* free the stream */
avio_closep(&oc->pb);
@@ -506,13 +503,13 @@ bool VideoStore::setup_resampler() {
avcodec_find_decoder(audio_in_ctx->codec_id);
#endif
ret = avcodec_open2(audio_in_ctx, audio_in_codec, NULL);
- if (ret < 0) {
+ if ( ret < 0 ) {
Error("Can't open in codec!");
return false;
}
audio_out_codec = avcodec_find_encoder(AV_CODEC_ID_AAC);
- if (!audio_out_codec) {
+ if ( !audio_out_codec ) {
Error("Could not find codec for AAC");
return false;
}
@@ -521,7 +518,6 @@ bool VideoStore::setup_resampler() {
#if LIBAVCODEC_VERSION_CHECK(57, 64, 0, 64, 0)
// audio_out_ctx = audio_out_stream->codec;
audio_out_ctx = avcodec_alloc_context3(audio_out_codec);
-
if ( !audio_out_ctx ) {
Error("could not allocate codec ctx for AAC");
audio_out_stream = NULL;
@@ -530,7 +526,7 @@ bool VideoStore::setup_resampler() {
Debug(2, "Have audio_out_ctx");
// Now copy them to the out stream
- audio_out_stream = avformat_new_stream(oc, NULL);
+ audio_out_stream = avformat_new_stream(oc, audio_out_codec);
#else
audio_out_stream = avformat_new_stream(oc, NULL);
audio_out_ctx = audio_out_stream->codec;
@@ -554,28 +550,27 @@ bool VideoStore::setup_resampler() {
audio_out_ctx->channel_layout = av_get_default_channel_layout(audio_out_ctx->channels);
}
- if (audio_out_codec->supported_samplerates) {
+ if ( audio_out_codec->supported_samplerates ) {
int found = 0;
- for (unsigned int i = 0; audio_out_codec->supported_samplerates[i];
- i++) {
- if (audio_out_ctx->sample_rate ==
- audio_out_codec->supported_samplerates[i]) {
+ for ( unsigned int i = 0; audio_out_codec->supported_samplerates[i]; i++) {
+ if ( audio_out_ctx->sample_rate ==
+ audio_out_codec->supported_samplerates[i] ) {
found = 1;
break;
}
}
- if (found) {
+ if ( found ) {
Debug(3, "Sample rate is good");
} else {
audio_out_ctx->sample_rate =
audio_out_codec->supported_samplerates[0];
- Debug(1, "Sampel rate is no good, setting to (%d)",
+ Debug(1, "Sample rate is no good, setting to (%d)",
audio_out_codec->supported_samplerates[0]);
}
}
/* check that the encoder supports s16 pcm in */
- if (!check_sample_fmt(audio_out_codec, audio_out_ctx->sample_fmt)) {
+ if ( !check_sample_fmt(audio_out_codec, audio_out_ctx->sample_fmt) ) {
Debug(3, "Encoder does not support sample format %s, setting to FLTP",
av_get_sample_fmt_name(audio_out_ctx->sample_fmt));
audio_out_ctx->sample_fmt = AV_SAMPLE_FMT_FLTP;
@@ -584,16 +579,6 @@ bool VideoStore::setup_resampler() {
audio_out_ctx->time_base =
(AVRational){1, audio_out_ctx->sample_rate};
-
-#if LIBAVCODEC_VERSION_CHECK(57, 64, 0, 64, 0)
- ret = avcodec_parameters_from_context(audio_out_stream->codecpar,
- audio_out_ctx);
- if (ret < 0) {
- Error("Could not initialize stream parameteres");
- return false;
- }
-#endif
-
AVDictionary *opts = NULL;
if ( (ret = av_dict_set(&opts, "strict", "experimental", 0)) < 0 ) {
Error("Couldn't set experimental");
@@ -608,6 +593,15 @@ bool VideoStore::setup_resampler() {
return false;
}
+#if LIBAVCODEC_VERSION_CHECK(57, 64, 0, 64, 0)
+ ret = avcodec_parameters_from_context(
+ audio_out_stream->codecpar, audio_out_ctx);
+ if ( ret < 0 ) {
+ Error("Could not initialize stream parameteres");
+ return false;
+ }
+#endif
+
Debug(1,
"Audio out bit_rate (%d) sample_rate(%d) channels(%d) fmt(%d) "
"layout(%d) frame_size(%d)",
@@ -616,13 +610,13 @@ bool VideoStore::setup_resampler() {
audio_out_ctx->channel_layout, audio_out_ctx->frame_size);
/** Create a new frame to store the audio samples. */
- if (!(in_frame = zm_av_frame_alloc())) {
+ if ( !(in_frame = zm_av_frame_alloc()) ) {
Error("Could not allocate in frame");
return false;
}
/** Create a new frame to store the audio samples. */
- if (!(out_frame = zm_av_frame_alloc())) {
+ if ( !(out_frame = zm_av_frame_alloc()) ) {
Error("Could not allocate out frame");
av_frame_free(&in_frame);
return false;
@@ -630,20 +624,20 @@ bool VideoStore::setup_resampler() {
// Setup the audio resampler
resample_ctx = avresample_alloc_context();
- if (!resample_ctx) {
- Error("Could not allocate resample ctx\n");
+ if ( !resample_ctx ) {
+ Error("Could not allocate resample ctx");
return false;
}
// Some formats (i.e. WAV) do not produce the proper channel layout
- if (audio_in_ctx->channel_layout == 0) {
- uint64_t layout = av_get_channel_layout("mono");
- av_opt_set_int(resample_ctx, "in_channel_layout",
- av_get_channel_layout("mono"), 0);
- Debug(1, "Bad channel layout. Need to set it to mono (%d).", layout);
+ uint64_t layout = av_get_channel_layout("mono");
+ if ( audio_in_ctx->channel_layout == 0 ) {
+ av_opt_set_int(resample_ctx, "in_channel_layout", layout, 0);
+ Debug(1, "Bad in channel layout. Need to set it to mono (%d).", layout);
} else {
av_opt_set_int(resample_ctx, "in_channel_layout",
audio_in_ctx->channel_layout, 0);
+ layout = audio_in_ctx->channel_layout;
}
av_opt_set_int(resample_ctx, "in_sample_fmt",
@@ -655,7 +649,7 @@ bool VideoStore::setup_resampler() {
// av_opt_set_int( resample_ctx, "out_channel_layout",
// audio_out_ctx->channel_layout, 0);
av_opt_set_int(resample_ctx, "out_channel_layout",
- av_get_channel_layout("mono"), 0);
+ layout, 0);
av_opt_set_int(resample_ctx, "out_sample_fmt",
audio_out_ctx->sample_fmt, 0);
av_opt_set_int(resample_ctx, "out_sample_rate",
@@ -664,38 +658,13 @@ bool VideoStore::setup_resampler() {
audio_out_ctx->channels, 0);
ret = avresample_open(resample_ctx);
- if (ret < 0) {
- Error("Could not open resample ctx\n");
+ if ( ret < 0 ) {
+ Error("Could not open resample ctx");
return false;
+ } else {
+ Debug(2, "Success opening resampler");
}
-#if 0
- /**
- * Allocate as many pointers as there are audio channels.
- * Each pointer will later point to the audio samples of the corresponding
- * channels (although it may be NULL for interleaved formats).
- */
- if (!( converted_in_samples = reinterpret_castcalloc( audio_out_ctx->channels, sizeof(*converted_in_samples))) ) {
- Error("Could not allocate converted in sample pointers\n");
- return;
- }
- /**
- * Allocate memory for the samples of all channels in one consecutive
- * block for convenience.
- */
- if ( (ret = av_samples_alloc( &converted_in_samples, NULL,
- audio_out_ctx->channels,
- audio_out_ctx->frame_size,
- audio_out_ctx->sample_fmt, 0)) < 0 ) {
- Error("Could not allocate converted in samples (error '%s')\n",
- av_make_error_string(ret).c_str());
-
- av_freep(converted_in_samples);
- free(converted_in_samples);
- return;
- }
-#endif
-
out_frame->nb_samples = audio_out_ctx->frame_size;
out_frame->format = audio_out_ctx->sample_fmt;
out_frame->channel_layout = audio_out_ctx->channel_layout;
@@ -703,21 +672,24 @@ bool VideoStore::setup_resampler() {
// The codec gives us the frame size, in samples, we calculate the size of the
// samples buffer in bytes
unsigned int audioSampleBuffer_size = av_samples_get_buffer_size(
- NULL, audio_out_ctx->channels, audio_out_ctx->frame_size,
+ NULL, audio_out_ctx->channels,
+ audio_out_ctx->frame_size,
audio_out_ctx->sample_fmt, 0);
converted_in_samples = (uint8_t *)av_malloc(audioSampleBuffer_size);
- if (!converted_in_samples) {
- Error("Could not allocate converted in sample pointers\n");
+ if ( !converted_in_samples ) {
+ Error("Could not allocate converted in sample pointers");
return false;
+ } else {
+ Debug(2, "Frame Size %d, sample buffer size %d", audio_out_ctx->frame_size, audioSampleBuffer_size);
}
// Setup the data pointers in the AVFrame
- if (avcodec_fill_audio_frame(out_frame, audio_out_ctx->channels,
+ if ( avcodec_fill_audio_frame(out_frame, audio_out_ctx->channels,
audio_out_ctx->sample_fmt,
(const uint8_t *)converted_in_samples,
audioSampleBuffer_size, 0) < 0) {
- Error("Could not allocate converted in sample pointers\n");
+ Error("Could not allocate converted in sample pointers");
return false;
}
From f2f1e230d14232e7bc1737d8d109d601e48c2792 Mon Sep 17 00:00:00 2001
From: Isaac Connor
Date: Mon, 3 Dec 2018 16:25:03 -0500
Subject: [PATCH 192/201] put back missing !
---
scripts/ZoneMinder/lib/ZoneMinder/Database.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/ZoneMinder/lib/ZoneMinder/Database.pm b/scripts/ZoneMinder/lib/ZoneMinder/Database.pm
index dcc797bd4..173c0033c 100644
--- a/scripts/ZoneMinder/lib/ZoneMinder/Database.pm
+++ b/scripts/ZoneMinder/lib/ZoneMinder/Database.pm
@@ -208,7 +208,7 @@ sub zmDbGetMonitor {
return undef;
}
my $res = $sth->execute($id);
- if ( $res ) {
+ if ( !$res ) {
Error("Can't execute '$sql': ".$sth->errstr());
return undef;
}
From 9ffd77428afe9a2c5a7d7cd2d7d919f28ff222b6 Mon Sep 17 00:00:00 2001
From: Isaac Connor
Date: Wed, 5 Dec 2018 09:05:10 -0500
Subject: [PATCH 193/201] fix paths to jquery-ui-theme components, thereby
upgrading them to the proper version. This fixes the datetime filters not
being shown on skins that don't specify a custom theme for jquery-ui
---
.../classic/css/base/jquery-ui-theme.css | 410 ------------------
.../classic/css/classic/jquery-ui-theme.css | 410 ------------------
.../classic/css/dark/jquery-ui-theme.css | 410 ------------------
web/skins/classic/includes/functions.php | 8 +-
4 files changed, 4 insertions(+), 1234 deletions(-)
delete mode 100644 web/skins/classic/css/base/jquery-ui-theme.css
delete mode 100644 web/skins/classic/css/classic/jquery-ui-theme.css
delete mode 100644 web/skins/classic/css/dark/jquery-ui-theme.css
diff --git a/web/skins/classic/css/base/jquery-ui-theme.css b/web/skins/classic/css/base/jquery-ui-theme.css
deleted file mode 100644
index c50986c55..000000000
--- a/web/skins/classic/css/base/jquery-ui-theme.css
+++ /dev/null
@@ -1,410 +0,0 @@
-/*!
- * jQuery UI CSS Framework 1.11.3
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/category/theming/
- *
- * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&fwDefault=normal&cornerRadius=3px&bgColorHeader=e9e9e9&bgTextureHeader=flat&borderColorHeader=dddddd&fcHeader=333333&iconColorHeader=444444&bgColorContent=ffffff&bgTextureContent=flat&borderColorContent=dddddd&fcContent=333333&iconColorContent=444444&bgColorDefault=f6f6f6&bgTextureDefault=flat&borderColorDefault=c5c5c5&fcDefault=454545&iconColorDefault=777777&bgColorHover=ededed&bgTextureHover=flat&borderColorHover=cccccc&fcHover=2b2b2b&iconColorHover=555555&bgColorActive=007fff&bgTextureActive=flat&borderColorActive=003eff&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=fffa90&bgTextureHighlight=flat&borderColorHighlight=dad55e&fcHighlight=777620&iconColorHighlight=777620&bgColorError=fddfdf&bgTextureError=flat&borderColorError=f1a899&fcError=5f3f3f&iconColorError=cc0000&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=666666&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=5px&offsetTopShadow=0px&offsetLeftShadow=0px&cornerRadiusShadow=8px
- */
-
-
-/* Component containers
-----------------------------------*/
-.ui-widget {
- font-family: Arial,Helvetica,sans-serif;
- font-size: 1em;
-}
-.ui-widget .ui-widget {
- font-size: 1em;
-}
-.ui-widget input,
-.ui-widget select,
-.ui-widget textarea,
-.ui-widget button {
- font-family: Arial,Helvetica,sans-serif;
- font-size: 1em;
-}
-.ui-widget-content {
- border: 1px solid #dddddd;
- background: #ffffff;
- color: #333333;
-}
-.ui-widget-content a {
- color: #333333;
-}
-.ui-widget-header {
- border: 1px solid #dddddd;
- background: #e9e9e9;
- color: #333333;
- font-weight: bold;
-}
-.ui-widget-header a {
- color: #333333;
-}
-
-/* Interaction states
-----------------------------------*/
-.ui-state-default,
-.ui-widget-content .ui-state-default,
-.ui-widget-header .ui-state-default {
- border: 1px solid #c5c5c5;
- background: #f6f6f6;
- font-weight: normal;
- color: #454545;
-}
-.ui-state-default a,
-.ui-state-default a:link,
-.ui-state-default a:visited {
- color: #454545;
- text-decoration: none;
-}
-.ui-state-hover,
-.ui-widget-content .ui-state-hover,
-.ui-widget-header .ui-state-hover,
-.ui-state-focus,
-.ui-widget-content .ui-state-focus,
-.ui-widget-header .ui-state-focus {
- border: 1px solid #cccccc;
- background: #ededed;
- font-weight: normal;
- color: #2b2b2b;
-}
-.ui-state-hover a,
-.ui-state-hover a:hover,
-.ui-state-hover a:link,
-.ui-state-hover a:visited,
-.ui-state-focus a,
-.ui-state-focus a:hover,
-.ui-state-focus a:link,
-.ui-state-focus a:visited {
- color: #2b2b2b;
- text-decoration: none;
-}
-.ui-state-active,
-.ui-widget-content .ui-state-active,
-.ui-widget-header .ui-state-active {
- border: 1px solid #003eff;
- background: #007fff;
- font-weight: normal;
- color: #ffffff;
-}
-.ui-state-active a,
-.ui-state-active a:link,
-.ui-state-active a:visited {
- color: #ffffff;
- text-decoration: none;
-}
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-highlight,
-.ui-widget-content .ui-state-highlight,
-.ui-widget-header .ui-state-highlight {
- border: 1px solid #dad55e;
- background: #fffa90;
- color: #777620;
-}
-.ui-state-highlight a,
-.ui-widget-content .ui-state-highlight a,
-.ui-widget-header .ui-state-highlight a {
- color: #777620;
-}
-.ui-state-error,
-.ui-widget-content .ui-state-error,
-.ui-widget-header .ui-state-error {
- border: 1px solid #f1a899;
- background: #fddfdf;
- color: #5f3f3f;
-}
-.ui-state-error a,
-.ui-widget-content .ui-state-error a,
-.ui-widget-header .ui-state-error a {
- color: #5f3f3f;
-}
-.ui-state-error-text,
-.ui-widget-content .ui-state-error-text,
-.ui-widget-header .ui-state-error-text {
- color: #5f3f3f;
-}
-.ui-priority-primary,
-.ui-widget-content .ui-priority-primary,
-.ui-widget-header .ui-priority-primary {
- font-weight: bold;
-}
-.ui-priority-secondary,
-.ui-widget-content .ui-priority-secondary,
-.ui-widget-header .ui-priority-secondary {
- opacity: .7;
- filter:Alpha(Opacity=70); /* support: IE8 */
- font-weight: normal;
-}
-.ui-state-disabled,
-.ui-widget-content .ui-state-disabled,
-.ui-widget-header .ui-state-disabled {
- opacity: .35;
- filter:Alpha(Opacity=35); /* support: IE8 */
- background-image: none;
-}
-.ui-state-disabled .ui-icon {
- filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
-}
-
-/* Icons
-----------------------------------*/
-
-/* states and images */
-.ui-icon {
- width: 16px;
- height: 16px;
-}
-.ui-icon,
-.ui-widget-content .ui-icon {
- background-image: url("../skins/classic/graphics/ui-icons_444444_256x240.png");
-}
-.ui-widget-header .ui-icon {
- background-image: url("../skins/classic/graphics/ui-icons_444444_256x240.png");
-}
-.ui-state-default .ui-icon {
- background-image: url("../skins/classic/graphics/ui-icons_777777_256x240.png");
-}
-.ui-state-hover .ui-icon,
-.ui-state-focus .ui-icon {
- background-image: url("../skins/classic/graphics/ui-icons_555555_256x240.png");
-}
-.ui-state-active .ui-icon {
- background-image: url("../skins/classic/graphics/ui-icons_ffffff_256x240.png");
-}
-.ui-state-highlight .ui-icon {
- background-image: url("../skins/classic/graphics/ui-icons_777620_256x240.png");
-}
-.ui-state-error .ui-icon,
-.ui-state-error-text .ui-icon {
- background-image: url("../skins/classic/graphics/ui-icons_cc0000_256x240.png");
-}
-
-/* positioning */
-.ui-icon-blank { background-position: 16px 16px; }
-.ui-icon-carat-1-n { background-position: 0 0; }
-.ui-icon-carat-1-ne { background-position: -16px 0; }
-.ui-icon-carat-1-e { background-position: -32px 0; }
-.ui-icon-carat-1-se { background-position: -48px 0; }
-.ui-icon-carat-1-s { background-position: -64px 0; }
-.ui-icon-carat-1-sw { background-position: -80px 0; }
-.ui-icon-carat-1-w { background-position: -96px 0; }
-.ui-icon-carat-1-nw { background-position: -112px 0; }
-.ui-icon-carat-2-n-s { background-position: -128px 0; }
-.ui-icon-carat-2-e-w { background-position: -144px 0; }
-.ui-icon-triangle-1-n { background-position: 0 -16px; }
-.ui-icon-triangle-1-ne { background-position: -16px -16px; }
-.ui-icon-triangle-1-e { background-position: -32px -16px; }
-.ui-icon-triangle-1-se { background-position: -48px -16px; }
-.ui-icon-triangle-1-s { background-position: -64px -16px; }
-.ui-icon-triangle-1-sw { background-position: -80px -16px; }
-.ui-icon-triangle-1-w { background-position: -96px -16px; }
-.ui-icon-triangle-1-nw { background-position: -112px -16px; }
-.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
-.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
-.ui-icon-arrow-1-n { background-position: 0 -32px; }
-.ui-icon-arrow-1-ne { background-position: -16px -32px; }
-.ui-icon-arrow-1-e { background-position: -32px -32px; }
-.ui-icon-arrow-1-se { background-position: -48px -32px; }
-.ui-icon-arrow-1-s { background-position: -64px -32px; }
-.ui-icon-arrow-1-sw { background-position: -80px -32px; }
-.ui-icon-arrow-1-w { background-position: -96px -32px; }
-.ui-icon-arrow-1-nw { background-position: -112px -32px; }
-.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
-.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
-.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
-.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
-.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
-.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
-.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
-.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
-.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
-.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
-.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
-.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
-.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
-.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
-.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
-.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
-.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
-.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
-.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
-.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
-.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
-.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
-.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
-.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
-.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
-.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
-.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
-.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
-.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
-.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
-.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
-.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
-.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
-.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
-.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
-.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
-.ui-icon-arrow-4 { background-position: 0 -80px; }
-.ui-icon-arrow-4-diag { background-position: -16px -80px; }
-.ui-icon-extlink { background-position: -32px -80px; }
-.ui-icon-newwin { background-position: -48px -80px; }
-.ui-icon-refresh { background-position: -64px -80px; }
-.ui-icon-shuffle { background-position: -80px -80px; }
-.ui-icon-transfer-e-w { background-position: -96px -80px; }
-.ui-icon-transferthick-e-w { background-position: -112px -80px; }
-.ui-icon-folder-collapsed { background-position: 0 -96px; }
-.ui-icon-folder-open { background-position: -16px -96px; }
-.ui-icon-document { background-position: -32px -96px; }
-.ui-icon-document-b { background-position: -48px -96px; }
-.ui-icon-note { background-position: -64px -96px; }
-.ui-icon-mail-closed { background-position: -80px -96px; }
-.ui-icon-mail-open { background-position: -96px -96px; }
-.ui-icon-suitcase { background-position: -112px -96px; }
-.ui-icon-comment { background-position: -128px -96px; }
-.ui-icon-person { background-position: -144px -96px; }
-.ui-icon-print { background-position: -160px -96px; }
-.ui-icon-trash { background-position: -176px -96px; }
-.ui-icon-locked { background-position: -192px -96px; }
-.ui-icon-unlocked { background-position: -208px -96px; }
-.ui-icon-bookmark { background-position: -224px -96px; }
-.ui-icon-tag { background-position: -240px -96px; }
-.ui-icon-home { background-position: 0 -112px; }
-.ui-icon-flag { background-position: -16px -112px; }
-.ui-icon-calendar { background-position: -32px -112px; }
-.ui-icon-cart { background-position: -48px -112px; }
-.ui-icon-pencil { background-position: -64px -112px; }
-.ui-icon-clock { background-position: -80px -112px; }
-.ui-icon-disk { background-position: -96px -112px; }
-.ui-icon-calculator { background-position: -112px -112px; }
-.ui-icon-zoomin { background-position: -128px -112px; }
-.ui-icon-zoomout { background-position: -144px -112px; }
-.ui-icon-search { background-position: -160px -112px; }
-.ui-icon-wrench { background-position: -176px -112px; }
-.ui-icon-gear { background-position: -192px -112px; }
-.ui-icon-heart { background-position: -208px -112px; }
-.ui-icon-star { background-position: -224px -112px; }
-.ui-icon-link { background-position: -240px -112px; }
-.ui-icon-cancel { background-position: 0 -128px; }
-.ui-icon-plus { background-position: -16px -128px; }
-.ui-icon-plusthick { background-position: -32px -128px; }
-.ui-icon-minus { background-position: -48px -128px; }
-.ui-icon-minusthick { background-position: -64px -128px; }
-.ui-icon-close { background-position: -80px -128px; }
-.ui-icon-closethick { background-position: -96px -128px; }
-.ui-icon-key { background-position: -112px -128px; }
-.ui-icon-lightbulb { background-position: -128px -128px; }
-.ui-icon-scissors { background-position: -144px -128px; }
-.ui-icon-clipboard { background-position: -160px -128px; }
-.ui-icon-copy { background-position: -176px -128px; }
-.ui-icon-contact { background-position: -192px -128px; }
-.ui-icon-image { background-position: -208px -128px; }
-.ui-icon-video { background-position: -224px -128px; }
-.ui-icon-script { background-position: -240px -128px; }
-.ui-icon-alert { background-position: 0 -144px; }
-.ui-icon-info { background-position: -16px -144px; }
-.ui-icon-notice { background-position: -32px -144px; }
-.ui-icon-help { background-position: -48px -144px; }
-.ui-icon-check { background-position: -64px -144px; }
-.ui-icon-bullet { background-position: -80px -144px; }
-.ui-icon-radio-on { background-position: -96px -144px; }
-.ui-icon-radio-off { background-position: -112px -144px; }
-.ui-icon-pin-w { background-position: -128px -144px; }
-.ui-icon-pin-s { background-position: -144px -144px; }
-.ui-icon-play { background-position: 0 -160px; }
-.ui-icon-pause { background-position: -16px -160px; }
-.ui-icon-seek-next { background-position: -32px -160px; }
-.ui-icon-seek-prev { background-position: -48px -160px; }
-.ui-icon-seek-end { background-position: -64px -160px; }
-.ui-icon-seek-start { background-position: -80px -160px; }
-/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
-.ui-icon-seek-first { background-position: -80px -160px; }
-.ui-icon-stop { background-position: -96px -160px; }
-.ui-icon-eject { background-position: -112px -160px; }
-.ui-icon-volume-off { background-position: -128px -160px; }
-.ui-icon-volume-on { background-position: -144px -160px; }
-.ui-icon-power { background-position: 0 -176px; }
-.ui-icon-signal-diag { background-position: -16px -176px; }
-.ui-icon-signal { background-position: -32px -176px; }
-.ui-icon-battery-0 { background-position: -48px -176px; }
-.ui-icon-battery-1 { background-position: -64px -176px; }
-.ui-icon-battery-2 { background-position: -80px -176px; }
-.ui-icon-battery-3 { background-position: -96px -176px; }
-.ui-icon-circle-plus { background-position: 0 -192px; }
-.ui-icon-circle-minus { background-position: -16px -192px; }
-.ui-icon-circle-close { background-position: -32px -192px; }
-.ui-icon-circle-triangle-e { background-position: -48px -192px; }
-.ui-icon-circle-triangle-s { background-position: -64px -192px; }
-.ui-icon-circle-triangle-w { background-position: -80px -192px; }
-.ui-icon-circle-triangle-n { background-position: -96px -192px; }
-.ui-icon-circle-arrow-e { background-position: -112px -192px; }
-.ui-icon-circle-arrow-s { background-position: -128px -192px; }
-.ui-icon-circle-arrow-w { background-position: -144px -192px; }
-.ui-icon-circle-arrow-n { background-position: -160px -192px; }
-.ui-icon-circle-zoomin { background-position: -176px -192px; }
-.ui-icon-circle-zoomout { background-position: -192px -192px; }
-.ui-icon-circle-check { background-position: -208px -192px; }
-.ui-icon-circlesmall-plus { background-position: 0 -208px; }
-.ui-icon-circlesmall-minus { background-position: -16px -208px; }
-.ui-icon-circlesmall-close { background-position: -32px -208px; }
-.ui-icon-squaresmall-plus { background-position: -48px -208px; }
-.ui-icon-squaresmall-minus { background-position: -64px -208px; }
-.ui-icon-squaresmall-close { background-position: -80px -208px; }
-.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
-.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
-.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
-.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
-.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
-.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
-
-
-/* Misc visuals
-----------------------------------*/
-
-/* Corner radius */
-.ui-corner-all,
-.ui-corner-top,
-.ui-corner-left,
-.ui-corner-tl {
- border-top-left-radius: 3px;
-}
-.ui-corner-all,
-.ui-corner-top,
-.ui-corner-right,
-.ui-corner-tr {
- border-top-right-radius: 3px;
-}
-.ui-corner-all,
-.ui-corner-bottom,
-.ui-corner-left,
-.ui-corner-bl {
- border-bottom-left-radius: 3px;
-}
-.ui-corner-all,
-.ui-corner-bottom,
-.ui-corner-right,
-.ui-corner-br {
- border-bottom-right-radius: 3px;
-}
-
-/* Overlays */
-.ui-widget-overlay {
- background: #aaaaaa;
- opacity: .3;
- filter: Alpha(Opacity=30); /* support: IE8 */
-}
-.ui-widget-shadow {
- margin: 0px 0 0 0px;
- padding: 5px;
- background: #666666;
- opacity: .3;
- filter: Alpha(Opacity=30); /* support: IE8 */
- border-radius: 8px;
-}
diff --git a/web/skins/classic/css/classic/jquery-ui-theme.css b/web/skins/classic/css/classic/jquery-ui-theme.css
deleted file mode 100644
index c50986c55..000000000
--- a/web/skins/classic/css/classic/jquery-ui-theme.css
+++ /dev/null
@@ -1,410 +0,0 @@
-/*!
- * jQuery UI CSS Framework 1.11.3
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/category/theming/
- *
- * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&fwDefault=normal&cornerRadius=3px&bgColorHeader=e9e9e9&bgTextureHeader=flat&borderColorHeader=dddddd&fcHeader=333333&iconColorHeader=444444&bgColorContent=ffffff&bgTextureContent=flat&borderColorContent=dddddd&fcContent=333333&iconColorContent=444444&bgColorDefault=f6f6f6&bgTextureDefault=flat&borderColorDefault=c5c5c5&fcDefault=454545&iconColorDefault=777777&bgColorHover=ededed&bgTextureHover=flat&borderColorHover=cccccc&fcHover=2b2b2b&iconColorHover=555555&bgColorActive=007fff&bgTextureActive=flat&borderColorActive=003eff&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=fffa90&bgTextureHighlight=flat&borderColorHighlight=dad55e&fcHighlight=777620&iconColorHighlight=777620&bgColorError=fddfdf&bgTextureError=flat&borderColorError=f1a899&fcError=5f3f3f&iconColorError=cc0000&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=666666&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=5px&offsetTopShadow=0px&offsetLeftShadow=0px&cornerRadiusShadow=8px
- */
-
-
-/* Component containers
-----------------------------------*/
-.ui-widget {
- font-family: Arial,Helvetica,sans-serif;
- font-size: 1em;
-}
-.ui-widget .ui-widget {
- font-size: 1em;
-}
-.ui-widget input,
-.ui-widget select,
-.ui-widget textarea,
-.ui-widget button {
- font-family: Arial,Helvetica,sans-serif;
- font-size: 1em;
-}
-.ui-widget-content {
- border: 1px solid #dddddd;
- background: #ffffff;
- color: #333333;
-}
-.ui-widget-content a {
- color: #333333;
-}
-.ui-widget-header {
- border: 1px solid #dddddd;
- background: #e9e9e9;
- color: #333333;
- font-weight: bold;
-}
-.ui-widget-header a {
- color: #333333;
-}
-
-/* Interaction states
-----------------------------------*/
-.ui-state-default,
-.ui-widget-content .ui-state-default,
-.ui-widget-header .ui-state-default {
- border: 1px solid #c5c5c5;
- background: #f6f6f6;
- font-weight: normal;
- color: #454545;
-}
-.ui-state-default a,
-.ui-state-default a:link,
-.ui-state-default a:visited {
- color: #454545;
- text-decoration: none;
-}
-.ui-state-hover,
-.ui-widget-content .ui-state-hover,
-.ui-widget-header .ui-state-hover,
-.ui-state-focus,
-.ui-widget-content .ui-state-focus,
-.ui-widget-header .ui-state-focus {
- border: 1px solid #cccccc;
- background: #ededed;
- font-weight: normal;
- color: #2b2b2b;
-}
-.ui-state-hover a,
-.ui-state-hover a:hover,
-.ui-state-hover a:link,
-.ui-state-hover a:visited,
-.ui-state-focus a,
-.ui-state-focus a:hover,
-.ui-state-focus a:link,
-.ui-state-focus a:visited {
- color: #2b2b2b;
- text-decoration: none;
-}
-.ui-state-active,
-.ui-widget-content .ui-state-active,
-.ui-widget-header .ui-state-active {
- border: 1px solid #003eff;
- background: #007fff;
- font-weight: normal;
- color: #ffffff;
-}
-.ui-state-active a,
-.ui-state-active a:link,
-.ui-state-active a:visited {
- color: #ffffff;
- text-decoration: none;
-}
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-highlight,
-.ui-widget-content .ui-state-highlight,
-.ui-widget-header .ui-state-highlight {
- border: 1px solid #dad55e;
- background: #fffa90;
- color: #777620;
-}
-.ui-state-highlight a,
-.ui-widget-content .ui-state-highlight a,
-.ui-widget-header .ui-state-highlight a {
- color: #777620;
-}
-.ui-state-error,
-.ui-widget-content .ui-state-error,
-.ui-widget-header .ui-state-error {
- border: 1px solid #f1a899;
- background: #fddfdf;
- color: #5f3f3f;
-}
-.ui-state-error a,
-.ui-widget-content .ui-state-error a,
-.ui-widget-header .ui-state-error a {
- color: #5f3f3f;
-}
-.ui-state-error-text,
-.ui-widget-content .ui-state-error-text,
-.ui-widget-header .ui-state-error-text {
- color: #5f3f3f;
-}
-.ui-priority-primary,
-.ui-widget-content .ui-priority-primary,
-.ui-widget-header .ui-priority-primary {
- font-weight: bold;
-}
-.ui-priority-secondary,
-.ui-widget-content .ui-priority-secondary,
-.ui-widget-header .ui-priority-secondary {
- opacity: .7;
- filter:Alpha(Opacity=70); /* support: IE8 */
- font-weight: normal;
-}
-.ui-state-disabled,
-.ui-widget-content .ui-state-disabled,
-.ui-widget-header .ui-state-disabled {
- opacity: .35;
- filter:Alpha(Opacity=35); /* support: IE8 */
- background-image: none;
-}
-.ui-state-disabled .ui-icon {
- filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
-}
-
-/* Icons
-----------------------------------*/
-
-/* states and images */
-.ui-icon {
- width: 16px;
- height: 16px;
-}
-.ui-icon,
-.ui-widget-content .ui-icon {
- background-image: url("../skins/classic/graphics/ui-icons_444444_256x240.png");
-}
-.ui-widget-header .ui-icon {
- background-image: url("../skins/classic/graphics/ui-icons_444444_256x240.png");
-}
-.ui-state-default .ui-icon {
- background-image: url("../skins/classic/graphics/ui-icons_777777_256x240.png");
-}
-.ui-state-hover .ui-icon,
-.ui-state-focus .ui-icon {
- background-image: url("../skins/classic/graphics/ui-icons_555555_256x240.png");
-}
-.ui-state-active .ui-icon {
- background-image: url("../skins/classic/graphics/ui-icons_ffffff_256x240.png");
-}
-.ui-state-highlight .ui-icon {
- background-image: url("../skins/classic/graphics/ui-icons_777620_256x240.png");
-}
-.ui-state-error .ui-icon,
-.ui-state-error-text .ui-icon {
- background-image: url("../skins/classic/graphics/ui-icons_cc0000_256x240.png");
-}
-
-/* positioning */
-.ui-icon-blank { background-position: 16px 16px; }
-.ui-icon-carat-1-n { background-position: 0 0; }
-.ui-icon-carat-1-ne { background-position: -16px 0; }
-.ui-icon-carat-1-e { background-position: -32px 0; }
-.ui-icon-carat-1-se { background-position: -48px 0; }
-.ui-icon-carat-1-s { background-position: -64px 0; }
-.ui-icon-carat-1-sw { background-position: -80px 0; }
-.ui-icon-carat-1-w { background-position: -96px 0; }
-.ui-icon-carat-1-nw { background-position: -112px 0; }
-.ui-icon-carat-2-n-s { background-position: -128px 0; }
-.ui-icon-carat-2-e-w { background-position: -144px 0; }
-.ui-icon-triangle-1-n { background-position: 0 -16px; }
-.ui-icon-triangle-1-ne { background-position: -16px -16px; }
-.ui-icon-triangle-1-e { background-position: -32px -16px; }
-.ui-icon-triangle-1-se { background-position: -48px -16px; }
-.ui-icon-triangle-1-s { background-position: -64px -16px; }
-.ui-icon-triangle-1-sw { background-position: -80px -16px; }
-.ui-icon-triangle-1-w { background-position: -96px -16px; }
-.ui-icon-triangle-1-nw { background-position: -112px -16px; }
-.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
-.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
-.ui-icon-arrow-1-n { background-position: 0 -32px; }
-.ui-icon-arrow-1-ne { background-position: -16px -32px; }
-.ui-icon-arrow-1-e { background-position: -32px -32px; }
-.ui-icon-arrow-1-se { background-position: -48px -32px; }
-.ui-icon-arrow-1-s { background-position: -64px -32px; }
-.ui-icon-arrow-1-sw { background-position: -80px -32px; }
-.ui-icon-arrow-1-w { background-position: -96px -32px; }
-.ui-icon-arrow-1-nw { background-position: -112px -32px; }
-.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
-.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
-.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
-.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
-.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
-.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
-.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
-.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
-.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
-.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
-.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
-.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
-.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
-.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
-.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
-.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
-.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
-.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
-.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
-.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
-.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
-.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
-.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
-.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
-.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
-.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
-.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
-.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
-.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
-.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
-.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
-.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
-.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
-.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
-.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
-.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
-.ui-icon-arrow-4 { background-position: 0 -80px; }
-.ui-icon-arrow-4-diag { background-position: -16px -80px; }
-.ui-icon-extlink { background-position: -32px -80px; }
-.ui-icon-newwin { background-position: -48px -80px; }
-.ui-icon-refresh { background-position: -64px -80px; }
-.ui-icon-shuffle { background-position: -80px -80px; }
-.ui-icon-transfer-e-w { background-position: -96px -80px; }
-.ui-icon-transferthick-e-w { background-position: -112px -80px; }
-.ui-icon-folder-collapsed { background-position: 0 -96px; }
-.ui-icon-folder-open { background-position: -16px -96px; }
-.ui-icon-document { background-position: -32px -96px; }
-.ui-icon-document-b { background-position: -48px -96px; }
-.ui-icon-note { background-position: -64px -96px; }
-.ui-icon-mail-closed { background-position: -80px -96px; }
-.ui-icon-mail-open { background-position: -96px -96px; }
-.ui-icon-suitcase { background-position: -112px -96px; }
-.ui-icon-comment { background-position: -128px -96px; }
-.ui-icon-person { background-position: -144px -96px; }
-.ui-icon-print { background-position: -160px -96px; }
-.ui-icon-trash { background-position: -176px -96px; }
-.ui-icon-locked { background-position: -192px -96px; }
-.ui-icon-unlocked { background-position: -208px -96px; }
-.ui-icon-bookmark { background-position: -224px -96px; }
-.ui-icon-tag { background-position: -240px -96px; }
-.ui-icon-home { background-position: 0 -112px; }
-.ui-icon-flag { background-position: -16px -112px; }
-.ui-icon-calendar { background-position: -32px -112px; }
-.ui-icon-cart { background-position: -48px -112px; }
-.ui-icon-pencil { background-position: -64px -112px; }
-.ui-icon-clock { background-position: -80px -112px; }
-.ui-icon-disk { background-position: -96px -112px; }
-.ui-icon-calculator { background-position: -112px -112px; }
-.ui-icon-zoomin { background-position: -128px -112px; }
-.ui-icon-zoomout { background-position: -144px -112px; }
-.ui-icon-search { background-position: -160px -112px; }
-.ui-icon-wrench { background-position: -176px -112px; }
-.ui-icon-gear { background-position: -192px -112px; }
-.ui-icon-heart { background-position: -208px -112px; }
-.ui-icon-star { background-position: -224px -112px; }
-.ui-icon-link { background-position: -240px -112px; }
-.ui-icon-cancel { background-position: 0 -128px; }
-.ui-icon-plus { background-position: -16px -128px; }
-.ui-icon-plusthick { background-position: -32px -128px; }
-.ui-icon-minus { background-position: -48px -128px; }
-.ui-icon-minusthick { background-position: -64px -128px; }
-.ui-icon-close { background-position: -80px -128px; }
-.ui-icon-closethick { background-position: -96px -128px; }
-.ui-icon-key { background-position: -112px -128px; }
-.ui-icon-lightbulb { background-position: -128px -128px; }
-.ui-icon-scissors { background-position: -144px -128px; }
-.ui-icon-clipboard { background-position: -160px -128px; }
-.ui-icon-copy { background-position: -176px -128px; }
-.ui-icon-contact { background-position: -192px -128px; }
-.ui-icon-image { background-position: -208px -128px; }
-.ui-icon-video { background-position: -224px -128px; }
-.ui-icon-script { background-position: -240px -128px; }
-.ui-icon-alert { background-position: 0 -144px; }
-.ui-icon-info { background-position: -16px -144px; }
-.ui-icon-notice { background-position: -32px -144px; }
-.ui-icon-help { background-position: -48px -144px; }
-.ui-icon-check { background-position: -64px -144px; }
-.ui-icon-bullet { background-position: -80px -144px; }
-.ui-icon-radio-on { background-position: -96px -144px; }
-.ui-icon-radio-off { background-position: -112px -144px; }
-.ui-icon-pin-w { background-position: -128px -144px; }
-.ui-icon-pin-s { background-position: -144px -144px; }
-.ui-icon-play { background-position: 0 -160px; }
-.ui-icon-pause { background-position: -16px -160px; }
-.ui-icon-seek-next { background-position: -32px -160px; }
-.ui-icon-seek-prev { background-position: -48px -160px; }
-.ui-icon-seek-end { background-position: -64px -160px; }
-.ui-icon-seek-start { background-position: -80px -160px; }
-/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
-.ui-icon-seek-first { background-position: -80px -160px; }
-.ui-icon-stop { background-position: -96px -160px; }
-.ui-icon-eject { background-position: -112px -160px; }
-.ui-icon-volume-off { background-position: -128px -160px; }
-.ui-icon-volume-on { background-position: -144px -160px; }
-.ui-icon-power { background-position: 0 -176px; }
-.ui-icon-signal-diag { background-position: -16px -176px; }
-.ui-icon-signal { background-position: -32px -176px; }
-.ui-icon-battery-0 { background-position: -48px -176px; }
-.ui-icon-battery-1 { background-position: -64px -176px; }
-.ui-icon-battery-2 { background-position: -80px -176px; }
-.ui-icon-battery-3 { background-position: -96px -176px; }
-.ui-icon-circle-plus { background-position: 0 -192px; }
-.ui-icon-circle-minus { background-position: -16px -192px; }
-.ui-icon-circle-close { background-position: -32px -192px; }
-.ui-icon-circle-triangle-e { background-position: -48px -192px; }
-.ui-icon-circle-triangle-s { background-position: -64px -192px; }
-.ui-icon-circle-triangle-w { background-position: -80px -192px; }
-.ui-icon-circle-triangle-n { background-position: -96px -192px; }
-.ui-icon-circle-arrow-e { background-position: -112px -192px; }
-.ui-icon-circle-arrow-s { background-position: -128px -192px; }
-.ui-icon-circle-arrow-w { background-position: -144px -192px; }
-.ui-icon-circle-arrow-n { background-position: -160px -192px; }
-.ui-icon-circle-zoomin { background-position: -176px -192px; }
-.ui-icon-circle-zoomout { background-position: -192px -192px; }
-.ui-icon-circle-check { background-position: -208px -192px; }
-.ui-icon-circlesmall-plus { background-position: 0 -208px; }
-.ui-icon-circlesmall-minus { background-position: -16px -208px; }
-.ui-icon-circlesmall-close { background-position: -32px -208px; }
-.ui-icon-squaresmall-plus { background-position: -48px -208px; }
-.ui-icon-squaresmall-minus { background-position: -64px -208px; }
-.ui-icon-squaresmall-close { background-position: -80px -208px; }
-.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
-.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
-.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
-.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
-.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
-.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
-
-
-/* Misc visuals
-----------------------------------*/
-
-/* Corner radius */
-.ui-corner-all,
-.ui-corner-top,
-.ui-corner-left,
-.ui-corner-tl {
- border-top-left-radius: 3px;
-}
-.ui-corner-all,
-.ui-corner-top,
-.ui-corner-right,
-.ui-corner-tr {
- border-top-right-radius: 3px;
-}
-.ui-corner-all,
-.ui-corner-bottom,
-.ui-corner-left,
-.ui-corner-bl {
- border-bottom-left-radius: 3px;
-}
-.ui-corner-all,
-.ui-corner-bottom,
-.ui-corner-right,
-.ui-corner-br {
- border-bottom-right-radius: 3px;
-}
-
-/* Overlays */
-.ui-widget-overlay {
- background: #aaaaaa;
- opacity: .3;
- filter: Alpha(Opacity=30); /* support: IE8 */
-}
-.ui-widget-shadow {
- margin: 0px 0 0 0px;
- padding: 5px;
- background: #666666;
- opacity: .3;
- filter: Alpha(Opacity=30); /* support: IE8 */
- border-radius: 8px;
-}
diff --git a/web/skins/classic/css/dark/jquery-ui-theme.css b/web/skins/classic/css/dark/jquery-ui-theme.css
deleted file mode 100644
index 6288b262e..000000000
--- a/web/skins/classic/css/dark/jquery-ui-theme.css
+++ /dev/null
@@ -1,410 +0,0 @@
-/*!
- * jQuery UI CSS Framework 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/category/theming/
- *
- * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&fwDefault=normal&cornerRadius=2px&bgColorHeader=%23222222&bgTextureHeader=flat&borderColorHeader=%23222222&fcHeader=%23eeeeee&iconColorHeader=%23777777&bgColorContent=%23222222&bgTextureContent=flat&borderColorContent=%23dddddd&fcContent=%23dddddd&iconColorContent=%23444444&bgColorDefault=%23444444&bgTextureDefault=flat&borderColorDefault=%23444444&fcDefault=%23eeeeee&iconColorDefault=%23777777&bgColorHover=%23555555&bgTextureHover=flat&borderColorHover=%23444444&fcHover=%23eeeeee&iconColorHover=%23777777&bgColorActive=%23666666&bgTextureActive=flat&borderColorActive=%23666666&fcActive=%23eeeeee&iconColorActive=%23777777&bgColorHighlight=%23222222&bgTextureHighlight=flat&borderColorHighlight=%23777777&fcHighlight=%23eeeeee&iconColorHighlight=%23777777&bgColorError=%23fddfdf&bgTextureError=flat&borderColorError=%23f1a899&fcError=%235f3f3f&iconColorError=%23cc0000&bgColorOverlay=%23aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=%23666666&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=5px&offsetTopShadow=0px&offsetLeftShadow=0px&cornerRadiusShadow=8px&bgImgOpacityHeader=&bgImgOpacityContent=&bgImgOpacityDefault=&bgImgOpacityHover=&bgImgOpacityActive=&bgImgOpacityHighlight=&bgImgOpacityError=
- */
-
-
-/* Component containers
-----------------------------------*/
-.ui-widget {
- font-family: Arial,Helvetica,sans-serif;
- font-size: 1em;
-}
-.ui-widget .ui-widget {
- font-size: 1em;
-}
-.ui-widget input,
-.ui-widget select,
-.ui-widget textarea,
-.ui-widget button {
- font-family: Arial,Helvetica,sans-serif;
- font-size: 1em;
-}
-.ui-widget-content {
- border: 1px solid #dddddd;
- background: #222222;
- color: #dddddd;
-}
-.ui-widget-content a {
- color: #dddddd;
-}
-.ui-widget-header {
- border: 1px solid #222222;
- background: #222222;
- color: #eeeeee;
- font-weight: bold;
-}
-.ui-widget-header a {
- color: #eeeeee;
-}
-
-/* Interaction states
-----------------------------------*/
-.ui-state-default,
-.ui-widget-content .ui-state-default,
-.ui-widget-header .ui-state-default {
- border: 1px solid #444444;
- background: #444444;
- font-weight: normal;
- color: #eeeeee;
-}
-.ui-state-default a,
-.ui-state-default a:link,
-.ui-state-default a:visited {
- color: #eeeeee;
- text-decoration: none;
-}
-.ui-state-hover,
-.ui-widget-content .ui-state-hover,
-.ui-widget-header .ui-state-hover,
-.ui-state-focus,
-.ui-widget-content .ui-state-focus,
-.ui-widget-header .ui-state-focus {
- border: 1px solid #444444;
- background: #555555;
- font-weight: normal;
- color: #eeeeee;
-}
-.ui-state-hover a,
-.ui-state-hover a:hover,
-.ui-state-hover a:link,
-.ui-state-hover a:visited,
-.ui-state-focus a,
-.ui-state-focus a:hover,
-.ui-state-focus a:link,
-.ui-state-focus a:visited {
- color: #eeeeee;
- text-decoration: none;
-}
-.ui-state-active,
-.ui-widget-content .ui-state-active,
-.ui-widget-header .ui-state-active {
- border: 1px solid #666666;
- background: #666666;
- font-weight: normal;
- color: #eeeeee;
-}
-.ui-state-active a,
-.ui-state-active a:link,
-.ui-state-active a:visited {
- color: #eeeeee;
- text-decoration: none;
-}
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-highlight,
-.ui-widget-content .ui-state-highlight,
-.ui-widget-header .ui-state-highlight {
- border: 1px solid #777777;
- background: #222222;
- color: #eeeeee;
-}
-.ui-state-highlight a,
-.ui-widget-content .ui-state-highlight a,
-.ui-widget-header .ui-state-highlight a {
- color: #eeeeee;
-}
-.ui-state-error,
-.ui-widget-content .ui-state-error,
-.ui-widget-header .ui-state-error {
- border: 1px solid #f1a899;
- background: #fddfdf;
- color: #5f3f3f;
-}
-.ui-state-error a,
-.ui-widget-content .ui-state-error a,
-.ui-widget-header .ui-state-error a {
- color: #5f3f3f;
-}
-.ui-state-error-text,
-.ui-widget-content .ui-state-error-text,
-.ui-widget-header .ui-state-error-text {
- color: #5f3f3f;
-}
-.ui-priority-primary,
-.ui-widget-content .ui-priority-primary,
-.ui-widget-header .ui-priority-primary {
- font-weight: bold;
-}
-.ui-priority-secondary,
-.ui-widget-content .ui-priority-secondary,
-.ui-widget-header .ui-priority-secondary {
- opacity: .7;
- filter:Alpha(Opacity=70); /* support: IE8 */
- font-weight: normal;
-}
-.ui-state-disabled,
-.ui-widget-content .ui-state-disabled,
-.ui-widget-header .ui-state-disabled {
- opacity: .35;
- filter:Alpha(Opacity=35); /* support: IE8 */
- background-image: none;
-}
-.ui-state-disabled .ui-icon {
- filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
-}
-
-/* Icons
-----------------------------------*/
-
-/* states and images */
-.ui-icon {
- width: 16px;
- height: 16px;
-}
-.ui-icon,
-.ui-widget-content .ui-icon {
- background-image: url("../skins/classic/graphics/ui-icons_444444_256x240.png");
-}
-.ui-widget-header .ui-icon {
- background-image: url("../skins/classic/graphics/ui-icons_777777_256x240.png");
-}
-.ui-state-default .ui-icon {
- background-image: url("../skins/classic/graphics/ui-icons_777777_256x240.png");
-}
-.ui-state-hover .ui-icon,
-.ui-state-focus .ui-icon {
- background-image: url("../skins/classic/graphics/ui-icons_777777_256x240.png");
-}
-.ui-state-active .ui-icon {
- background-image: url("../skins/classic/graphics/ui-icons_777777_256x240.png");
-}
-.ui-state-highlight .ui-icon {
- background-image: url("../skins/classic/graphics/ui-icons_777777_256x240.png");
-}
-.ui-state-error .ui-icon,
-.ui-state-error-text .ui-icon {
- background-image: url("../skins/classic/graphics/ui-icons_cc0000_256x240.png");
-}
-
-/* positioning */
-.ui-icon-blank { background-position: 16px 16px; }
-.ui-icon-carat-1-n { background-position: 0 0; }
-.ui-icon-carat-1-ne { background-position: -16px 0; }
-.ui-icon-carat-1-e { background-position: -32px 0; }
-.ui-icon-carat-1-se { background-position: -48px 0; }
-.ui-icon-carat-1-s { background-position: -64px 0; }
-.ui-icon-carat-1-sw { background-position: -80px 0; }
-.ui-icon-carat-1-w { background-position: -96px 0; }
-.ui-icon-carat-1-nw { background-position: -112px 0; }
-.ui-icon-carat-2-n-s { background-position: -128px 0; }
-.ui-icon-carat-2-e-w { background-position: -144px 0; }
-.ui-icon-triangle-1-n { background-position: 0 -16px; }
-.ui-icon-triangle-1-ne { background-position: -16px -16px; }
-.ui-icon-triangle-1-e { background-position: -32px -16px; }
-.ui-icon-triangle-1-se { background-position: -48px -16px; }
-.ui-icon-triangle-1-s { background-position: -64px -16px; }
-.ui-icon-triangle-1-sw { background-position: -80px -16px; }
-.ui-icon-triangle-1-w { background-position: -96px -16px; }
-.ui-icon-triangle-1-nw { background-position: -112px -16px; }
-.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
-.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
-.ui-icon-arrow-1-n { background-position: 0 -32px; }
-.ui-icon-arrow-1-ne { background-position: -16px -32px; }
-.ui-icon-arrow-1-e { background-position: -32px -32px; }
-.ui-icon-arrow-1-se { background-position: -48px -32px; }
-.ui-icon-arrow-1-s { background-position: -64px -32px; }
-.ui-icon-arrow-1-sw { background-position: -80px -32px; }
-.ui-icon-arrow-1-w { background-position: -96px -32px; }
-.ui-icon-arrow-1-nw { background-position: -112px -32px; }
-.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
-.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
-.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
-.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
-.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
-.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
-.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
-.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
-.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
-.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
-.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
-.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
-.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
-.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
-.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
-.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
-.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
-.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
-.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
-.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
-.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
-.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
-.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
-.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
-.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
-.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
-.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
-.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
-.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
-.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
-.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
-.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
-.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
-.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
-.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
-.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
-.ui-icon-arrow-4 { background-position: 0 -80px; }
-.ui-icon-arrow-4-diag { background-position: -16px -80px; }
-.ui-icon-extlink { background-position: -32px -80px; }
-.ui-icon-newwin { background-position: -48px -80px; }
-.ui-icon-refresh { background-position: -64px -80px; }
-.ui-icon-shuffle { background-position: -80px -80px; }
-.ui-icon-transfer-e-w { background-position: -96px -80px; }
-.ui-icon-transferthick-e-w { background-position: -112px -80px; }
-.ui-icon-folder-collapsed { background-position: 0 -96px; }
-.ui-icon-folder-open { background-position: -16px -96px; }
-.ui-icon-document { background-position: -32px -96px; }
-.ui-icon-document-b { background-position: -48px -96px; }
-.ui-icon-note { background-position: -64px -96px; }
-.ui-icon-mail-closed { background-position: -80px -96px; }
-.ui-icon-mail-open { background-position: -96px -96px; }
-.ui-icon-suitcase { background-position: -112px -96px; }
-.ui-icon-comment { background-position: -128px -96px; }
-.ui-icon-person { background-position: -144px -96px; }
-.ui-icon-print { background-position: -160px -96px; }
-.ui-icon-trash { background-position: -176px -96px; }
-.ui-icon-locked { background-position: -192px -96px; }
-.ui-icon-unlocked { background-position: -208px -96px; }
-.ui-icon-bookmark { background-position: -224px -96px; }
-.ui-icon-tag { background-position: -240px -96px; }
-.ui-icon-home { background-position: 0 -112px; }
-.ui-icon-flag { background-position: -16px -112px; }
-.ui-icon-calendar { background-position: -32px -112px; }
-.ui-icon-cart { background-position: -48px -112px; }
-.ui-icon-pencil { background-position: -64px -112px; }
-.ui-icon-clock { background-position: -80px -112px; }
-.ui-icon-disk { background-position: -96px -112px; }
-.ui-icon-calculator { background-position: -112px -112px; }
-.ui-icon-zoomin { background-position: -128px -112px; }
-.ui-icon-zoomout { background-position: -144px -112px; }
-.ui-icon-search { background-position: -160px -112px; }
-.ui-icon-wrench { background-position: -176px -112px; }
-.ui-icon-gear { background-position: -192px -112px; }
-.ui-icon-heart { background-position: -208px -112px; }
-.ui-icon-star { background-position: -224px -112px; }
-.ui-icon-link { background-position: -240px -112px; }
-.ui-icon-cancel { background-position: 0 -128px; }
-.ui-icon-plus { background-position: -16px -128px; }
-.ui-icon-plusthick { background-position: -32px -128px; }
-.ui-icon-minus { background-position: -48px -128px; }
-.ui-icon-minusthick { background-position: -64px -128px; }
-.ui-icon-close { background-position: -80px -128px; }
-.ui-icon-closethick { background-position: -96px -128px; }
-.ui-icon-key { background-position: -112px -128px; }
-.ui-icon-lightbulb { background-position: -128px -128px; }
-.ui-icon-scissors { background-position: -144px -128px; }
-.ui-icon-clipboard { background-position: -160px -128px; }
-.ui-icon-copy { background-position: -176px -128px; }
-.ui-icon-contact { background-position: -192px -128px; }
-.ui-icon-image { background-position: -208px -128px; }
-.ui-icon-video { background-position: -224px -128px; }
-.ui-icon-script { background-position: -240px -128px; }
-.ui-icon-alert { background-position: 0 -144px; }
-.ui-icon-info { background-position: -16px -144px; }
-.ui-icon-notice { background-position: -32px -144px; }
-.ui-icon-help { background-position: -48px -144px; }
-.ui-icon-check { background-position: -64px -144px; }
-.ui-icon-bullet { background-position: -80px -144px; }
-.ui-icon-radio-on { background-position: -96px -144px; }
-.ui-icon-radio-off { background-position: -112px -144px; }
-.ui-icon-pin-w { background-position: -128px -144px; }
-.ui-icon-pin-s { background-position: -144px -144px; }
-.ui-icon-play { background-position: 0 -160px; }
-.ui-icon-pause { background-position: -16px -160px; }
-.ui-icon-seek-next { background-position: -32px -160px; }
-.ui-icon-seek-prev { background-position: -48px -160px; }
-.ui-icon-seek-end { background-position: -64px -160px; }
-.ui-icon-seek-start { background-position: -80px -160px; }
-/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
-.ui-icon-seek-first { background-position: -80px -160px; }
-.ui-icon-stop { background-position: -96px -160px; }
-.ui-icon-eject { background-position: -112px -160px; }
-.ui-icon-volume-off { background-position: -128px -160px; }
-.ui-icon-volume-on { background-position: -144px -160px; }
-.ui-icon-power { background-position: 0 -176px; }
-.ui-icon-signal-diag { background-position: -16px -176px; }
-.ui-icon-signal { background-position: -32px -176px; }
-.ui-icon-battery-0 { background-position: -48px -176px; }
-.ui-icon-battery-1 { background-position: -64px -176px; }
-.ui-icon-battery-2 { background-position: -80px -176px; }
-.ui-icon-battery-3 { background-position: -96px -176px; }
-.ui-icon-circle-plus { background-position: 0 -192px; }
-.ui-icon-circle-minus { background-position: -16px -192px; }
-.ui-icon-circle-close { background-position: -32px -192px; }
-.ui-icon-circle-triangle-e { background-position: -48px -192px; }
-.ui-icon-circle-triangle-s { background-position: -64px -192px; }
-.ui-icon-circle-triangle-w { background-position: -80px -192px; }
-.ui-icon-circle-triangle-n { background-position: -96px -192px; }
-.ui-icon-circle-arrow-e { background-position: -112px -192px; }
-.ui-icon-circle-arrow-s { background-position: -128px -192px; }
-.ui-icon-circle-arrow-w { background-position: -144px -192px; }
-.ui-icon-circle-arrow-n { background-position: -160px -192px; }
-.ui-icon-circle-zoomin { background-position: -176px -192px; }
-.ui-icon-circle-zoomout { background-position: -192px -192px; }
-.ui-icon-circle-check { background-position: -208px -192px; }
-.ui-icon-circlesmall-plus { background-position: 0 -208px; }
-.ui-icon-circlesmall-minus { background-position: -16px -208px; }
-.ui-icon-circlesmall-close { background-position: -32px -208px; }
-.ui-icon-squaresmall-plus { background-position: -48px -208px; }
-.ui-icon-squaresmall-minus { background-position: -64px -208px; }
-.ui-icon-squaresmall-close { background-position: -80px -208px; }
-.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
-.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
-.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
-.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
-.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
-.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
-
-
-/* Misc visuals
-----------------------------------*/
-
-/* Corner radius */
-.ui-corner-all,
-.ui-corner-top,
-.ui-corner-left,
-.ui-corner-tl {
- border-top-left-radius: 2px;
-}
-.ui-corner-all,
-.ui-corner-top,
-.ui-corner-right,
-.ui-corner-tr {
- border-top-right-radius: 2px;
-}
-.ui-corner-all,
-.ui-corner-bottom,
-.ui-corner-left,
-.ui-corner-bl {
- border-bottom-left-radius: 2px;
-}
-.ui-corner-all,
-.ui-corner-bottom,
-.ui-corner-right,
-.ui-corner-br {
- border-bottom-right-radius: 2px;
-}
-
-/* Overlays */
-.ui-widget-overlay {
- background: #aaaaaa;
- opacity: .3;
- filter: Alpha(Opacity=30); /* support: IE8 */
-}
-.ui-widget-shadow {
- margin: 0px 0 0 0px;
- padding: 5px;
- background: #666666;
- opacity: .3;
- filter: Alpha(Opacity=30); /* support: IE8 */
- border-radius: 8px;
-}
diff --git a/web/skins/classic/includes/functions.php b/web/skins/classic/includes/functions.php
index 50dd19f7c..91ff87073 100644
--- a/web/skins/classic/includes/functions.php
+++ b/web/skins/classic/includes/functions.php
@@ -81,10 +81,10 @@ echo output_link_if_exists( array(
'css/'.$css.'/skin.css',
'css/base/views/'.$basename.'.css',
'css/'.$css.'/views/'.$basename.'.css',
- '/js/dateTimePicker/jquery-ui-timepicker-addon.css',
- '/js/jquery-ui-1.12.1/jquery-ui.structure.min.css',
- '/css/jquery-ui-1.12.1/jquery-ui.theme.min.css',
- '/css/'.$css.'/jquery-ui-theme.css',
+ 'js/dateTimePicker/jquery-ui-timepicker-addon.css',
+ 'js/jquery-ui-1.12.1/jquery-ui.structure.min.css',
+ 'js/jquery-ui-1.12.1/jquery-ui.theme.min.css',
+ 'css/'.$css.'/jquery-ui-theme.css',
)
);
?>
From 757e5385502474dcfa669a789fb7010bba553f04 Mon Sep 17 00:00:00 2001
From: Isaac Connor
Date: Thu, 6 Dec 2018 17:12:03 -0500
Subject: [PATCH 194/201] strip port from HTTP_HOST
---
web/includes/Server.php | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/web/includes/Server.php b/web/includes/Server.php
index dae6cd7c2..502d0efa5 100644
--- a/web/includes/Server.php
+++ b/web/includes/Server.php
@@ -52,7 +52,12 @@ class Server {
return $this->{'Name'};
}
# Use HTTP_HOST instead of SERVER_NAME here for nginx compatiblity
- return $_SERVER['HTTP_HOST'];
+ # ICON: Hi, I just met you, and this is crazy, but I need to strip port.
+ $host_with_port_maybe = $_SERVER['HTTP_HOST'];
+ $heres_my_host = preg_replace('/([^:]+)(:\d+)?/','${1}', $host_with_port_maybe);
+ #Just use it baby
+
+ return $heres_my_host;
}
public function Protocol( $new = null ) {
From a1141d2dc43edd5bd89b79db6241c4258dc0faf2 Mon Sep 17 00:00:00 2001
From: Isaac Connor
Date: Fri, 7 Dec 2018 08:39:23 -0500
Subject: [PATCH 195/201] remove second use of HTTP_HOST and use a better
method of stripping off port from HTTP_HOST
---
web/includes/Server.php | 16 +++-------------
1 file changed, 3 insertions(+), 13 deletions(-)
diff --git a/web/includes/Server.php b/web/includes/Server.php
index 502d0efa5..aba82e79e 100644
--- a/web/includes/Server.php
+++ b/web/includes/Server.php
@@ -51,13 +51,8 @@ class Server {
} else if ( $this->Id() ) {
return $this->{'Name'};
}
- # Use HTTP_HOST instead of SERVER_NAME here for nginx compatiblity
- # ICON: Hi, I just met you, and this is crazy, but I need to strip port.
- $host_with_port_maybe = $_SERVER['HTTP_HOST'];
- $heres_my_host = preg_replace('/([^:]+)(:\d+)?/','${1}', $host_with_port_maybe);
- #Just use it baby
-
- return $heres_my_host;
+ $result = explode(':',$_SERVER['HTTP_HOST']);
+ return $result[0];
}
public function Protocol( $new = null ) {
@@ -96,12 +91,7 @@ class Server {
public function Url( $port = null ) {
$url = $this->Protocol().'://';
- if ( $this->Id() ) {
- $url .= $this->Hostname();
- } else {
- # Use HTTP_HOST instead of SERVER_NAME here for nginx compatiblity
- $url .= $_SERVER['HTTP_HOST'];
- }
+ $url .= $this->Hostname();
if ( $port ) {
$url .= ':'.$port;
} else {
From 16318ca3ef876f6baef1211bbb0cf7e71d720097 Mon Sep 17 00:00:00 2001
From: Andrew Bauer
Date: Fri, 7 Dec 2018 09:59:28 -0600
Subject: [PATCH 196/201] Update zoneminder.spec
---
distros/redhat/zoneminder.spec | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/distros/redhat/zoneminder.spec b/distros/redhat/zoneminder.spec
index 734a70a25..d42fa6477 100644
--- a/distros/redhat/zoneminder.spec
+++ b/distros/redhat/zoneminder.spec
@@ -42,7 +42,7 @@ BuildRequires: systemd-devel
BuildRequires: mariadb-devel
BuildRequires: perl-podlators
BuildRequires: polkit-devel
-BuildRequires: cmake >= 2.8.7
+BuildRequires: cmake3
BuildRequires: gnutls-devel
BuildRequires: bzip2-devel
BuildRequires: pcre-devel
@@ -200,7 +200,7 @@ mv -f CakePHP-Enum-Behavior-%{ceb_version} ./web/api/app/Plugin/CakePHP-Enum-Beh
./utils/zmeditconfigdata.sh ZM_OPT_FAST_DELETE no
%build
-%cmake \
+%cmake3 \
-DZM_WEB_USER="%{zmuid_final}" \
-DZM_WEB_GROUP="%{zmgid_final}" \
-DZM_TARGET_DISTRO="%{zmtargetdistro}" \
@@ -411,9 +411,14 @@ EOF
%dir %attr(755,nginx,nginx) %{_localstatedir}/spool/zoneminder-upload
%changelog
-* Wed Nov 14 2018 Andrew Bauer - 1.32.2-2
+* Fri Dec 07 2018 Andrew Bauer - 1.32.3-1
+- 1.32.3 Release
- Break into sub-packages
+* Tue Nov 13 2018 Antonio Trande - 1.32.2-2
+- Rebuild for ffmpeg-3.4.5 on el7
+- Use CMake3
+
* Sat Oct 13 2018 Andrew Bauer - 1.32.2-1
- 1.32.2 release
- Bug fix release
From c3620672b308934eedc72a9e798e6879ec0e0a45 Mon Sep 17 00:00:00 2001
From: Andrew Bauer
Date: Sat, 8 Dec 2018 08:19:55 -0600
Subject: [PATCH 197/201] 1.32.3 release
---
distros/redhat/zoneminder.spec | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/distros/redhat/zoneminder.spec b/distros/redhat/zoneminder.spec
index d42fa6477..941bad900 100644
--- a/distros/redhat/zoneminder.spec
+++ b/distros/redhat/zoneminder.spec
@@ -23,8 +23,8 @@
%global _hardened_build 1
Name: zoneminder
-Version: 1.32.2
-Release: 2%{?dist}
+Version: 1.32.3
+Release: 1%{?dist}
Summary: A camera monitoring and analysis tool
Group: System Environment/Daemons
# Mootools is inder the MIT license: http://mootools.net/
@@ -411,7 +411,7 @@ EOF
%dir %attr(755,nginx,nginx) %{_localstatedir}/spool/zoneminder-upload
%changelog
-* Fri Dec 07 2018 Andrew Bauer - 1.32.3-1
+* Sat Dec 08 2018 Andrew Bauer - 1.32.3-1
- 1.32.3 Release
- Break into sub-packages
From 077c643da0975a75a46255d5be1a1a2aeae62069 Mon Sep 17 00:00:00 2001
From: Andrew Bauer
Date: Sat, 8 Dec 2018 08:22:36 -0600
Subject: [PATCH 198/201] 1.32.3 release
---
version | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/version b/version
index c78d39b8e..00b225209 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-1.32.2
+1.32.3
From 1e8c4276bb86ec480e7ea1564c8a49b9fac53112 Mon Sep 17 00:00:00 2001
From: Isaac Connor
Date: Mon, 10 Dec 2018 17:32:17 -0500
Subject: [PATCH 199/201] fix #2319 some more. This is fixing rate sticking
across gapless events and reload
---
web/skins/classic/views/js/event.js | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/web/skins/classic/views/js/event.js b/web/skins/classic/views/js/event.js
index 9981b1458..37de97f69 100644
--- a/web/skins/classic/views/js/event.js
+++ b/web/skins/classic/views/js/event.js
@@ -275,7 +275,8 @@ function pauseClicked() {
}
function vjsPause() {
- stopFastRev();
+ if ( intervalRewind )
+ stopFastRev();
streamPause();
}
@@ -307,7 +308,7 @@ function vjsPlay() { //catches if we change mode programatically
if ( intervalRewind )
stopFastRev();
$j('#rateValue').html(vid.playbackRate());
- Cookie.write('zmEventRate', vid.playbackRate(), {duration: 10*365});
+ Cookie.write('zmEventRate', vid.playbackRate()*100, {duration: 10*365});
streamPlay();
}
@@ -575,7 +576,7 @@ function getEventResponse( respObj, respText ) {
drawProgressBar();
}
nearEventsQuery( eventData.Id );
-}
+} // end function getEventResponse
var eventReq = new Request.JSON( { url: thisUrl, method: 'get', timeout: AJAX_TIMEOUT, link: 'cancel', onSuccess: getEventResponse } );
From e1ecd47bffdc15a34d54a748938ac6af5c48812b Mon Sep 17 00:00:00 2001
From: Isaac Connor
Date: Tue, 11 Dec 2018 09:40:40 -0500
Subject: [PATCH 200/201] Fix missing use of UrlToApi
---
web/includes/Monitor.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/web/includes/Monitor.php b/web/includes/Monitor.php
index c1a6a47df..cc1d8eed7 100644
--- a/web/includes/Monitor.php
+++ b/web/includes/Monitor.php
@@ -451,7 +451,7 @@ private $control_fields = array(
} else if ( $this->ServerId() ) {
$Server = $this->Server();
- $url = ZM_BASE_PROTOCOL . '://'.$Server->Hostname().'/zm/api/monitors/'.$this->{'Id'}.'.json';
+ $url = $Server->UrlToApi().'/monitors/'.$this->{'Id'}.'.json';
if ( ZM_OPT_USE_AUTH ) {
if ( ZM_AUTH_RELAY == 'hashed' ) {
$url .= '?auth='.generateAuthHash( ZM_AUTH_HASH_IPS );
From b3bed9a28ab6190120603dc041a52efbab7a67f8 Mon Sep 17 00:00:00 2001
From: Isaac Connor
Date: Tue, 11 Dec 2018 10:20:02 -0500
Subject: [PATCH 201/201] fix whitespace
---
web/api/app/Model/Event.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/web/api/app/Model/Event.php b/web/api/app/Model/Event.php
index a59393d9a..14dbd377e 100644
--- a/web/api/app/Model/Event.php
+++ b/web/api/app/Model/Event.php
@@ -100,7 +100,7 @@ class Event extends AppModel {
),
);
- public function Relative_Path($event) {
+ public function Relative_Path($event) {
$event_path = '';
if ( $event['Scheme'] == 'Deep' ) {
|