Merge master

pull/338/head
m-bene 2014-03-20 10:26:12 +01:00
commit 2784b3d1f5
64 changed files with 1878 additions and 150 deletions

View File

@ -10,7 +10,7 @@
#
cmake_minimum_required (VERSION 2.6)
project (zoneminder)
set(zoneminder_VERSION "1.26.5")
set(zoneminder_VERSION "1.27")
# CMake does not allow out-of-source build if CMakeCache.exists in the source folder. Abort and notify the user to save him from headache why it doesn't work.
if((NOT (CMAKE_BINARY_DIR STREQUAL CMAKE_SOURCE_DIR)) AND (EXISTS "${CMAKE_SOURCE_DIR}/CMakeCache.txt"))

View File

@ -12,14 +12,17 @@ RUN apt-get update
RUN apt-get upgrade -y
# Install the prerequisites
RUN apt-get install -y build-essential libmysqlclient-dev libssl-dev libbz2-dev libpcre3-dev libdbi-perl libarchive-zip-perl libdate-manip-perl libdevice-serialport-perl libmime-perl libpcre3 libwww-perl libdbd-mysql-perl libsys-mmap-perl yasm subversion automake autoconf libjpeg-turbo8-dev libjpeg-turbo8 libtheora-dev libvorbis-dev libvpx-dev libx264-dev libmp4v2-dev ffmpeg git wget mysql-client apache2 php5 php5-mysql apache2-mpm-prefork libapache2-mod-php5 php5-cli openssh-server mysql-server
RUN apt-get install -y build-essential libmysqlclient-dev libssl-dev libbz2-dev libpcre3-dev libdbi-perl libarchive-zip-perl libdate-manip-perl libdevice-serialport-perl libmime-perl libpcre3 libwww-perl libdbd-mysql-perl libsys-mmap-perl yasm subversion automake autoconf libjpeg-turbo8-dev libjpeg-turbo8 libtheora-dev libvorbis-dev libvpx-dev libx264-dev libmp4v2-dev ffmpeg git wget mysql-client apache2 php5 php5-mysql apache2-mpm-prefork libapache2-mod-php5 php5-cli openssh-server mysql-server libvlc-dev libvlc5 libvlccore-dev libvlccore5 vlc-data vlc libcurl4-openssl-dev
# Grab the latest ZoneMinder code
RUN git clone https://github.com/ZoneMinder/ZoneMinder.git
# Grab the latest ZoneMinder code in master
RUN git clone https://github.com/kylejohnson/ZoneMinder.git
# Change into the ZoneMinder directory
WORKDIR ZoneMinder
# Check out the release-1.27 branch
RUN git checkout release-1.27
# Setup the ZoneMinder build environment
RUN aclocal && autoheader && automake --force-missing --add-missing && autoconf

View File

@ -103,17 +103,29 @@ root@host:~# gdebi /root/zoneminder_1.26.4-1_amd64.deb;
#### CentOS / RHEL
Two additional repositories must be added before one can build zoneminder on CentOS or RHEL:
Additional repositories must be added before one can build zoneminder on CentOS or RHEL:
1. RepoForge (formerly RPMForge) http://repoforge.org/use/
2. EPEL https://fedoraproject.org/wiki/EPEL
3. Optional RPMFusion: http://rpmfusion.org/ [SEE NOTE]
Once those are added, install the following:
[NOTE]<br>
The RPMFusion repo contains significantly newer versions of ffmpeg and vlc. This leads to significantly better camera support. However, the RPMFusion repo contains packages that conflict with the other two repos. In order to resolve this, one must also install the yum priorities pacakge and use that to prioritize your repos in the following order:
1. Base
2. RPMFusion
3. EPEL
4. RPMForge
For instructions on yum priorities, visit this page:
http://wiki.centos.org/PackageManagement/Yum/Priorities
Once your repos are in order, install the following:
```bash
sudo yum install automake bzip2-devel ffmpeg ffmpeg-devel gnutls-devel httpd libjpeg-turbo libjpeg-turbo-devel mysql-devel mysql-server pcre-devel \
perl-Archive-Tar perl-Archive-Zip perl-Convert-BinHex perl-Date-Manip perl-DBD-MySQL perl-DBI perl-Device-SerialPort perl-Email-Date-Format perl-IO-stringy \
perl-IO-Zlib perl-MailTools perl-MIME-Lite perl-MIME-tools perl-MIME-Types perl-Module-Load perl-Package-Constants perl-Sys-Mmap perl-Time-HiRes \
perl-TimeDate perl-YAML-Syck php php-cli php-mysql subversion x264
perl-TimeDate perl-YAML-Syck php php-cli php-mysql subversion x264 vlc-devel vlc-core libcurl libcurl-devel
```
### ffmpeg

View File

@ -1,5 +1,5 @@
AC_PREREQ(2.59)
AC_INIT(zm,1.26.5,[http://www.zoneminder.com/forums/ - Please check FAQ first],zoneminder,http://www.zoneminder.com/downloads.html)
AC_INIT(zm,1.27,[http://www.zoneminder.com/forums/ - Please check FAQ first],zoneminder,http://www.zoneminder.com/downloads.html)
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR(src/zm.h)
AC_CONFIG_HEADERS(config.h)
@ -385,7 +385,7 @@ fi
AC_SUBST(PERL_MM_PARMS)
AC_SUBST(EXTRA_PERL_LIB)
AC_CONFIG_FILES([Makefile zm.conf zmconfgen.pl db/Makefile db/zm_create.sql misc/Makefile misc/apache.conf misc/logrotate.conf misc/syslog.conf scripts/Makefile scripts/zm scripts/zmaudit.pl scripts/zmcontrol.pl scripts/zmdc.pl scripts/zmfilter.pl scripts/zmpkg.pl scripts/zmtrack.pl scripts/zmtrigger.pl scripts/zmupdate.pl scripts/zmvideo.pl scripts/zmwatch.pl scripts/zmx10.pl scripts/zmdbbackup scripts/zmdbrestore scripts/zmeventdump scripts/zmlogrotate.conf scripts/ZoneMinder/lib/ZoneMinder/Base.pm scripts/ZoneMinder/lib/ZoneMinder/Config.pm scripts/ZoneMinder/lib/ZoneMinder/Memory.pm scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm src/Makefile src/zm_config.h web/Makefile web/ajax/Makefile web/css/Makefile web/graphics/Makefile web/includes/Makefile web/includes/config.php web/js/Makefile web/lang/Makefile web/skins/Makefile web/skins/classic/Makefile web/skins/classic/ajax/Makefile web/skins/classic/css/Makefile web/skins/classic/graphics/Makefile web/skins/classic/includes/Makefile web/skins/classic/js/Makefile web/skins/classic/lang/Makefile web/skins/classic/views/Makefile web/skins/classic/views/css/Makefile web/skins/classic/views/js/Makefile web/skins/mobile/Makefile web/skins/mobile/ajax/Makefile web/skins/mobile/css/Makefile web/skins/mobile/graphics/Makefile web/skins/mobile/includes/Makefile web/skins/mobile/lang/Makefile web/skins/mobile/views/Makefile web/skins/mobile/views/css/Makefile web/tools/Makefile web/tools/mootools/Makefile web/views/Makefile web/skins/xml/Makefile web/skins/xml/views/Makefile web/skins/xml/includes/Makefile web/skins/flat/Makefile web/skins/flat/ajax/Makefile web/skins/flat/css/Makefile web/skins/flat/graphics/Makefile web/skins/flat/includes/Makefile web/skins/flat/js/Makefile web/skins/flat/lang/Makefile web/skins/flat/views/Makefile web/skins/flat/views/css/Makefile web/skins/flat/views/js/Makefile])
AC_CONFIG_FILES([Makefile zm.conf zmconfgen.pl db/Makefile db/zm_create.sql misc/Makefile misc/apache.conf misc/logrotate.conf misc/syslog.conf scripts/Makefile scripts/zm scripts/zmaudit.pl scripts/zmcontrol.pl scripts/zmdc.pl scripts/zmfilter.pl scripts/zmpkg.pl scripts/zmtrack.pl scripts/zmcamtool.pl scripts/zmtrigger.pl scripts/zmupdate.pl scripts/zmvideo.pl scripts/zmwatch.pl scripts/zmx10.pl scripts/zmdbbackup scripts/zmdbrestore scripts/zmeventdump scripts/zmlogrotate.conf scripts/ZoneMinder/lib/ZoneMinder/Base.pm scripts/ZoneMinder/lib/ZoneMinder/Config.pm scripts/ZoneMinder/lib/ZoneMinder/Memory.pm scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm src/Makefile src/zm_config.h web/Makefile web/ajax/Makefile web/css/Makefile web/graphics/Makefile web/includes/Makefile web/includes/config.php web/js/Makefile web/lang/Makefile web/skins/Makefile web/skins/classic/Makefile web/skins/classic/ajax/Makefile web/skins/classic/css/Makefile web/skins/classic/graphics/Makefile web/skins/classic/includes/Makefile web/skins/classic/js/Makefile web/skins/classic/lang/Makefile web/skins/classic/views/Makefile web/skins/classic/views/css/Makefile web/skins/classic/views/js/Makefile web/skins/mobile/Makefile web/skins/mobile/ajax/Makefile web/skins/mobile/css/Makefile web/skins/mobile/graphics/Makefile web/skins/mobile/includes/Makefile web/skins/mobile/lang/Makefile web/skins/mobile/views/Makefile web/skins/mobile/views/css/Makefile web/tools/Makefile web/tools/mootools/Makefile web/views/Makefile web/skins/xml/Makefile web/skins/xml/views/Makefile web/skins/xml/includes/Makefile web/skins/flat/Makefile web/skins/flat/ajax/Makefile web/skins/flat/css/Makefile web/skins/flat/graphics/Makefile web/skins/flat/includes/Makefile web/skins/flat/js/Makefile web/skins/flat/lang/Makefile web/skins/flat/views/Makefile web/skins/flat/views/css/Makefile web/skins/flat/views/js/Makefile])
# Create the definitions for compilation and defaults for the database
AC_CONFIG_COMMANDS([src/zm_config_defines.h],[perl ./zmconfgen.pl])

View File

@ -528,9 +528,9 @@ CREATE TABLE `Zones` (
insert into Users VALUES (NULL,'admin',password('admin'),'',1,'View','Edit','Edit','Edit','Edit','Edit','','');
--
-- Add a sample filter to purge the oldest 5 events when the disk is 95% full, delete is disabled though
-- Add a sample filter to purge the oldest 100 events when the disk is 95% full
--
insert into Filters values ('PurgeWhenFull','{"sort_field":"Id","terms":[{"val":0,"attr":"Archived","op":"="},{"cnj":"and","val":95,"attr":"DiskPercent","op":">="}],"limit":5,"sort_asc":1}',0,0,0,0,0,0,'',1,0);
insert into Filters values ('PurgeWhenFull','{"sort_field":"Id","terms":[{"val":0,"attr":"Archived","op":"="},{"cnj":"and","val":95,"attr":"DiskPercent","op":">="}],"limit":100,"sort_asc":1}',0,0,0,0,0,0,'',1,1);
--
-- Add in some sample control protocol definitions
@ -550,6 +550,7 @@ INSERT INTO Controls VALUES (NULL,'Foscam FI8908W','Remote','FI8908W',0,0,0,0,0,
INSERT INTO Controls VALUES (NULL,'Foscam FI9821W','Ffmpeg','FI9821W_Y2k',1,0,1,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,1,0,100,1,1,0,0,1,0,100,0,100,1,0,100,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,100,0,100,1,0,100,1,16,0,1,1,1,0,0,0,1,1,0,360,0,360,1,0,4,0,0,1,0,90,0,90,1,0,4,0,0,0,0);
INSERT INTO Controls VALUES (NULL,'Loftek Sentinel','Remote','LoftekSentinel',0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,255,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,6,1,1,0,0,0,1,10,0,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0);
INSERT INTO Controls VALUES (NULL,'Toshiba IK-WB11A','Remote','Toshiba_IK_WB11A',0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,10,0,1,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0);
INSERT INTO Controls VALUES (NULL,'WanscamPT','Remote','Wanscam',1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,16,0,0,0,0,0,1,16,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0);
--
-- Add some monitor preset values
@ -625,12 +626,13 @@ INSERT INTO MonitorPresets VALUES (NULL,'Airlink 777W PTZ, 640x480, mjpeg','Remo
--
-- Add some zone preset values
--
INSERT INTO ZonePresets VALUES (1,'Fast, low sensitivity','Active','Percent','AlarmedPixels',60,NULL,20,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO ZonePresets VALUES (2,'Fast, medium sensitivity','Active','Percent','AlarmedPixels',40,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO ZonePresets VALUES (3,'Fast, high sensitivity','Active','Percent','AlarmedPixels',20,NULL,5,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO ZonePresets VALUES (4,'Best, low sensitivity','Active','Percent','Blobs',60,NULL,36,NULL,7,7,24,NULL,20,NULL,1,NULL,0);
INSERT INTO ZonePresets VALUES (5,'Best, medium sensitivity','Active','Percent','Blobs',40,NULL,16,NULL,5,5,12,NULL,10,NULL,1,NULL,0);
INSERT INTO ZonePresets VALUES (6,'Best, high sensitivity','Active','Percent','Blobs',20,NULL,8,NULL,3,3,6,NULL,5,NULL,1,NULL,0);
INSERT INTO ZonePresets VALUES (1,'Default','Active','Percent','Blobs',25,NULL,3,75,3,3,3,75,2,NULL,1,NULL,0);
INSERT INTO ZonePresets VALUES (2,'Fast, low sensitivity','Active','Percent','AlarmedPixels',60,NULL,20,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO ZonePresets VALUES (3,'Fast, medium sensitivity','Active','Percent','AlarmedPixels',40,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO ZonePresets VALUES (4,'Fast, high sensitivity','Active','Percent','AlarmedPixels',20,NULL,5,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO ZonePresets VALUES (5,'Best, low sensitivity','Active','Percent','Blobs',60,NULL,36,NULL,7,7,24,NULL,20,NULL,1,NULL,0);
INSERT INTO ZonePresets VALUES (6,'Best, medium sensitivity','Active','Percent','Blobs',40,NULL,16,NULL,5,5,12,NULL,10,NULL,1,NULL,0);
INSERT INTO ZonePresets VALUES (7,'Best, high sensitivity','Active','Percent','Blobs',20,NULL,8,NULL,3,3,6,NULL,5,NULL,1,NULL,0);
--
-- Apply the initial configuration

View File

@ -16,6 +16,8 @@ ALTER TABLE Monitors modify column Type enum('Local','Remote','File','Ffmpeg','L
ALTER TABLE `Monitors` ADD `User` VARCHAR(32) NOT NULL AFTER `SubPath`;
ALTER TABLE `Monitors` ADD `Pass` VARCHAR(32) NOT NULL AFTER `User`;
-- Add extend alarm frame count to zone definition and Presets
ALTER TABLE `Zones` ADD `ExtendAlarmFrames` smallint(5) unsigned not null default 0 AFTER `OverloadFrames`;
ALTER TABLE `ZonePresets` ADD `ExtendAlarmFrames` smallint(5) unsigned not null default 0 AFTER `OverloadFrames`;
--
-- Add default zone preset
--
INSERT INTO ZonePresets VALUES (NULL,'Default','Active','Percent','Blobs',25,NULL,3,75,3,3,3,75,2,NULL,1,NULL,0);

9
db/zm_update-1.27.1.sql Normal file
View File

@ -0,0 +1,9 @@
--
-- This updates a 1.27.0 database to 1.27.1
--
--
-- Add Controls definition for Wanscam
--
INSERT INTO Controls VALUES (NULL,'WanscamPT','Remote','Wanscam',1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,16,0,0,0,0,0,1,16,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0);

View File

@ -3,6 +3,8 @@
%define zmuid_final apache
%define zmgid_final apache
%global _hardened_build 1
### Delete the lines below to build with ffmpeg and/or x10
%define _without_ffmpeg 1
%define _without_x10 1
@ -34,6 +36,9 @@ BuildRequires: perl(Expect) perl(Sys::Syslog)
BuildRequires: gcc gcc-c++ vlc-devel libcurl-devel
%{!?_without_ffmpeg:BuildRequires: ffmpeg-devel}
%{!?_without_x10:BuildRequires: perl(X10::ActiveHome) perl(Astro::SunTime)}
# cmake needs the following installed at build time due to the way it auto-detects certain parameters
BuildRequires: httpd
%{!?_without_ffmpeg:BuildRequires: ffmpeg}
Requires: httpd php php-mysql cambozola
Requires: libjpeg-turbo vlc-core libcurl
@ -168,6 +173,9 @@ fi
%changelog
* Fri Mar 14 2014 Andrew Bauer <knnniggett@users.sourceforge.net> - 1.27
- Tweak build requirements for cmake
* Sat Feb 01 2014 Andrew Bauer <knnniggett@users.sourceforge.net> - 1.27
- Add zmcamtool.pl. Bump version for 1.27 release.

View File

@ -7,6 +7,8 @@
%define zmuid_final apache
%define zmgid_final apache
%global _hardened_build 1
### Delete the lines below to build with ffmpeg and/or x10
%define _without_ffmpeg 1
%define _without_x10 1

View File

@ -0,0 +1,43 @@
# CMakeLists.txt for the OpenSuse Target Distro.
# Download jscalendar & move files into position
file(DOWNLOAD http://downloads.sourceforge.net/jscalendar/jscalendar-1.0.zip ${CMAKE_CURRENT_SOURCE_DIR}/jscalendar-1.0.zip STATUS download_jsc)
if(download_jsc EQUAL 0)
message(STATUS "Jscalander successfully downloaded. Installing...")
execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/jscalendar.sh WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ERROR_VARIABLE unzip_jsc)
message(STATUS "Status of jscalender script was: ${unzip_jsc}")
else(download_jsc EQUAL 0)
message(STATUS "Unable to download optional jscalander. Skipping...")
endif(download_jsc EQUAL 0)
# Create several empty folders
file(MAKE_DIRECTORY sock swap zoneminder zoneminder-upload events images temp)
# Install the empty folders
#install(DIRECTORY run DESTINATION /var DIRECTORY_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_WRITE GROUP_READ GROUP_EXECUTE WORLD_WRITE WORLD_READ WORLD_EXECUTE)
#install(DIRECTORY sock swap DESTINATION /var/lib/zoneminder DIRECTORY_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
install(DIRECTORY zoneminder DESTINATION /var/log DIRECTORY_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
install(DIRECTORY zoneminder DESTINATION /var/run DIRECTORY_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
install(DIRECTORY zoneminder-upload DESTINATION /var/spool DIRECTORY_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
install(DIRECTORY zoneminder DESTINATION /srv/www/htdocs DIRECTORY_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
install(DIRECTORY events images DESTINATION /srv/www/htdocs/zoneminder DIRECTORY_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
# Create symlinks
install(CODE "execute_process(COMMAND ln -sf ../../../../srv/www/htdocs/zoneminder/events \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/zoneminder/events\")")
install(CODE "execute_process(COMMAND ln -sf ../../../../srv/www/htdocs/zoneminder/images \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/zoneminder/images\")")
install(CODE "execute_process(COMMAND ln -sf ../../../../srv/www/htdocs/zoneminder/temp \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/zoneminder/temp\")")
# Opensuse cambazola? requires cambozola as a separate package so just link to it
#install(CODE "execute_process(COMMAND ln -sf ../../java/cambozola.jar \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/zoneminder/www/cambozola.jar\")")
# Install auxillary files required to run zoneminder on OpenSuse
install(FILES zoneminder.conf DESTINATION /etc/apache2/conf.d PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
install(FILES zoneminder.logrotate DESTINATION /etc/logrotate.d RENAME zoneminder PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
install(FILES zoneminder.tmpfiles DESTINATION /etc/tmpfiles.d RENAME zoneminder.conf PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
install(FILES redalert.wav DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/zoneminder/www/sounds PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
install(FILES zoneminder.service DESTINATION /usr/lib/systemd/system PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
# Install jscalendar
if(unzip_jsc STREQUAL "")
install(DIRECTORY jscalendar-1.0/ DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/zoneminder/www/tools/jscalendar)
endif(unzip_jsc STREQUAL "")

View File

@ -0,0 +1,159 @@
New installs
============
This needs to be updated for OpenSuse
1. Unless you are already using the MySQL server or you are running it
remotely you will need to ensure that the server is installed and secured:
NOTE: the default database for OpenSuse is mariadb, which is a direct
replacement for mysql
IMPORTANT: mariadb defaults to strict mode of operation which will cause
some zoneminder database writes to fail.
In order to turn this off - which will be for the whole database you will
need to edit /etc/my.cnf and comment out the record
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES .
To install the database issue the following commands as root:
zypper in mariadb
systemctl enable mysql
systemctl start mysql.service
mysql_secure_installation
2. Using the password for the root account set during the previous step, you
will need to create the ZoneMinder database, assuming your database server
is local:
mysql -uroot -p < /opt/zoneminder/share/zoneminder/db/zm_create.sql
mysqladmin -uroot -p reload
3. The database needs a user. One is not created by default because this would
introduce an obvious security issue. The following should set this up:
mysqladmin -uroot -p reload
grant select,insert,update,delete,alter on zm.* to
'zmuser'@localhost identified by 'zmpass';
Obviously, change at least zmpass to an actual, secure password or
passphrase. You can change zmuser as well if you like.
4. Edit /etc/zm.conf and, at the bottom, change ZM_DB_PASS and perhaps
ZM_DB_USER to match.
5. Edit /etc/php5/apache2/php.ini, uncomment the date.timezone line, and add
your local timezone. For whatever reason, PHP will complain loudly if
this is not set, or if it is set incorrectly, and these complaints will
show up in the zoneminder logging system as errors.
If you are not sure of the proper timezone specification to use, look at
http://php.net/date.timezone
6. This package probably does not work with SELinux enabled at the moment. It
may be necessary to disable SELinux for httpd, or even completely for
ZoneMinder to function. This will be addressed in a later release. Run
setenforce 0
for testing, and edit /etc/sysconfig/selinux to disable it at boot time.
7. IMPORTANT: Edit /etc/httpd/conf.d/zoneminder.conf and/or /etc/httpd/conf.
*********** This needs checking for OpenSuse
The httpd.conf file included with this version of Fedora processes the conf.d
folder after the default ScriptAlias directive in the httpd.conf file.
Previously, the conf.d folder was processed before the default ScriptAlias
directive. This causes a ScriptAlias overlap and breaks Zoneminder's
streaming abilities.
Reference: http://httpd.apache.org/docs/2.4/mod/mod_alias.html#order
Bug Report: https://bugzilla.redhat.com/show_bug.cgi?id=973067
WORKAROUND #1
If you are running zoneminder on a dedicated server then the simplest
solution may be to simply comment out the line in httpd.conf that reads:
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
WORKAROUND #2
If you need both the default cgi-bin folder & the zoneminder cgi-bin folder
then a solution might be to move the following line before the default
ScriptAlias directive in the httpd.conf file:
IncludeOptional conf.d/*.conf
8. Now start the web server:
sudo systemctl enable apache2.service
sudo systemctl start apache2.service
9. You should immediately visit http://localhost/zm and secure the system if
it is network facing. To do this:
a) click Options, then System.
b) check OPT_USE_AUTH.
c) set AUTH_HASH_SECRET to a random string.
d) click Save and refresh the main browser window.
e) You should be prompted to log in;
the default username/password is admin/admin.
f) Open Options again, choose the newly visible Users tab.
g) click the admin user and set a password.
h) enable OPT_CONTROL on the Ssytem tab to enable ptz camera control.
10. ************ Check for OpenSuse
The zoneminder.service file fails at present but the zmpkg.pl script
can be run as root to start zoneminder.
sudo zmpkg.pl start
To start zoneminder automatically, create /etc/rc.d/rc.local and place the
following inside it:
#!/bin/sh
/usr/bin/zmpkg.pl start
The rc.local file must be made executable.
Upgrades
========
1. Update /etc/zm.conf. Check for any new settings and update the version
information. Comparing /etc/zm.conf and /etc/zm.conf.rpmnew should help to
do this.
2. Add the mysql ALTER permission to the zmuser account:
mysql -u root -p
grant alter on zm.* to
'zmuser'@localhost identified by 'zmpass';
Since this is an upgrade, the assumption is that the zmuser account already
has select, insert, update, and delete permission.
3. You will need to upgrade the ZoneMinder database as described in the
manual. Only if the previous step was succesful, may you run zmupdate like
so:
sudo /opt/zoneminder/bin/zmupdate.pl --version=<from version>
If unsure then run it this way:
sudo zmupdate.pl --user=root --pass=<mysql_root_pwd> --version=<from version>
4. To overcome a problem when applications my use private /tmp space when systemd is used
the OpenSuse rpm has changed the default directory for temporary files from /tmp to
/var/run/zoneminder. Whilst this change is directly inside the scripts, it does not,
at present, change the values held in the database.
You must therefore manually modify the database as follows:
**** needs more information

7
distros/opensuse/jscalendar.sh Executable file
View File

@ -0,0 +1,7 @@
#!/bin/bash
unzip -o jscalendar-1.0.zip
mkdir -v jscalendar-doc
cd jscalendar-1.0
mv -v *html *php doc/* README ../jscalendar-doc
rmdir -v doc

View File

@ -0,0 +1 @@
../redhat/redalert.wav

View File

@ -0,0 +1,49 @@
--- CMakeLists.txt.orig 2014-03-06 20:29:40.041817163 +0000
+++ CMakeLists.txt 2014-03-10 16:03:05.169663558 +0000
@@ -65,7 +65,23 @@
set(ZM_NO_X10 "OFF" CACHE BOOL "Set to ON to build ZoneMinder without X10 support. default: OFF")
set(ZM_PERL_SUBPREFIX "${CMAKE_INSTALL_LIBDIR}/perl5" CACHE PATH "Use a different directory for the zm perl modules. NOTE: This is a subprefix, e.g. lib will be turned into <prefix>/lib, default: <libdir>/perl5")
set(ZM_PERL_USE_PATH "${CMAKE_INSTALL_PREFIX}/${ZM_PERL_SUBPREFIX}" CACHE PATH "Override the include path for zm perl modules. Useful if you are moving the perl modules without using the ZM_PERL_SUBPREFIX option. default: <prefix>/<zmperlsubprefix>")
-set(ZM_TARGET_DISTRO "" CACHE STRING "Build ZoneMinder for a specific distribution. Currently, valid names are: f19, el6")
+set(ZM_TARGET_DISTRO "" CACHE STRING "Build ZoneMinder for a specific distribution. Currently, valid names are: f19, el6, OS13")
+
+# Reassign some variables if a target distro has been specified
+if((ZM_TARGET_DISTRO STREQUAL "f19") OR (ZM_TARGET_DISTRO STREQUAL "el6"))
+ set(ZM_RUNDIR "/var/run/zoneminder")
+ set(ZM_TMPDIR "/var/lib/zoneminder/temp")
+ set(ZM_LOGDIR "/var/log/zoneminder")
+elseif(ZM_TARGET_DISTRO STREQUAL "OS13")
+ set(ZM_RUNDIR "/var/run/zoneminder")
+ set(ZM_TMPDIR "/var/run/zoneminder")
+ set(ZM_CONTENTDIR "/var/run/zoneminder")
+ set(ZM_LOGDIR "/var/log/zoneminder")
+ set(ZM_WEB_USER "wwwrun")
+ set(ZM_WEB_GROUP "www")
+ set(ZM_WEBDIR "/srv/www/htdocs/zoneminder")
+ set(ZM_CGIDIR "/srv/www/cgi-bin")
+endif((ZM_TARGET_DISTRO STREQUAL "f19") OR (ZM_TARGET_DISTRO STREQUAL "el6"))
# Required for certain checks to work
set(CMAKE_EXTRA_INCLUDE_FILES ${CMAKE_EXTRA_INCLUDE_FILES} stdio.h stdlib.h math.h signal.h)
@@ -437,12 +453,6 @@
set(ZM_DB_TYPE "mysql")
set(EXTRA_PERL_LIB "use lib '${ZM_PERL_USE_PATH}';")
-# Reassign some variables if a target distro has been specified
-if((ZM_TARGET_DISTRO STREQUAL "f19") OR (ZM_TARGET_DISTRO STREQUAL "el6"))
- set(ZM_RUNDIR "/var/run/zoneminder")
- set(ZM_TMPDIR "/var/lib/zoneminder/temp")
- set(ZM_LOGDIR "/var/log/zoneminder")
-endif((ZM_TARGET_DISTRO STREQUAL "f19") OR (ZM_TARGET_DISTRO STREQUAL "el6"))
# Generate files from the .in files
configure_file(zm.conf.in "${CMAKE_CURRENT_BINARY_DIR}/zm.conf" @ONLY)
@@ -461,6 +471,8 @@
add_subdirectory(distros/fedora)
elseif(ZM_TARGET_DISTRO STREQUAL "el6")
add_subdirectory(distros/redhat)
+elseif(ZM_TARGET_DISTRO STREQUAL "OS13")
+ add_subdirectory(distros/opensuse)
else(ZM_TARGET_DISTRO STREQUAL "el6")
add_subdirectory(misc)
endif(ZM_TARGET_DISTRO STREQUAL "f19")

View File

@ -0,0 +1,365 @@
%define zmuid $(id -un)
%define zmgid $(id -gn)
%define zmuid_final wwwrun
%define zmgid_final www
# definitions for OpenSuse
%define zm_tmpdir /var/run/zoneminder
%define zm_instdir /opt/zoneminder
%define zm_rundir %{zm_instdir}/bin
# OpenSuse seems to have its web services in a different
# directory structure to some other distros
%define webroot /srv/www/htdocs
%define webcgi /srv/www/cgi-bin
Name: zoneminder
Version: 1.26.5
Release: 1%{?dist}
Summary: A camera monitoring and analysis tool
Group: System Environment/Daemons
# jscalendar is LGPL (any version): http://www.dynarch.com/projects/calendar/
# Mootools is inder the MIT license: http://mootools.net/
License: GPLv2+ and LGPLv2+ and MIT
URL: http://www.zoneminder.com/
Source: ZoneMinder-%{version}.tar.gz
Patch1: zoneminder-1.26.5-opensuse.patch
BuildRequires: cmake
BuildRequires: perl-DBI perl-DBD-mysql perl-Date-Manip perl-Sys-Mmap
BuildRequires: libjpeg62 libjpeg62-devel libmysqld-devel libSDL-devel libgcrypt-devel libgnutls-devel
BuildRequires: libffmpeg-devel x264
BuildRequires: pcre-devel w32codec-all
Requires: apache2 apache2-mod_php5 mysql
Requires: ffmpeg libavformat55
Requires: php php-mysql
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
Requires: perl-Sys-Mmap perl-Date-Manip perl-DBD-mysql
Requires: perl-Archive-Tar perl-Archive-Zip
# Can't find suitable package for OpenSuse and not sure if needed
#Requires: perl-MIME-Entity perl-Net-SMTP perl-Net-FTP
Requires: perl-MIME-Lite
Requires: perl-LWP-Protocol-https
# can't find systemd-units or systemd-sysv in OpenSuse
#Requires(post): systemd-units systemd-sysv
Requires(post): /usr/bin/gpasswd
Requires(post): /usr/bin/more
#Requires(preun): systemd-units
#Requires(postun): systemd-units
%description
ZoneMinder is a set of applications which is intended to provide a complete
solution allowing you to capture, analyse, record and monitor any cameras you
have attached to a Linux based machine. It is designed to run on kernels which
support the Video For Linux (V4L) interface and has been tested with cameras
attached to BTTV cards, various USB cameras and IP network cameras. It is
designed to support as many cameras as you can attach to your computer without
too much degradation of performance.
%prep
%setup -q -n ZoneMinder-%{version}
cp -R /home/makerpm/rpmbuild/SOURCES/opensuse distros
%patch1 -p0 -b .opensuse
%build
# For OpenSuse 13.1 we need to set DENABLE_MMAP to yes to vercome a problem
# where tthe perl modules don't have shared memory enabled
%cmake \
-DCMAKE_INSTALL_PREFIX=/opt/zoneminder \
-DZM_TARGET_DISTRO="OS13" \
-DZM_NO_X10=ON \
-DENABLE_MMAP=yes
make
# There doesn't seem to be any point in using the next make as the
# makefiles for cmake don't seem to support multiple streams
#make %{?_smp_mflags}
%install
export DESTDIR=%{buildroot}
# don't understand why but the built system appears in build under BUILDROOT
cd build
make install prefix=\${RPM_BUILD_ROOT}
cd ..
%post
if [ $1 -eq 1 ] ; then
# Initial installation
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
fi
# Allow zoneminder access to local video sources
/usr/bin/gpasswd -a %zmuid_final video
# Make sure that the temporary directory exists
#mkdir -p %{zm_tmpdir}
# Display the README for post installation instructions
#/usr/bin/less %{_docdir}/%{name}-%{version}/README.OpenSuse
# both less and more scroll straight off the end of the file
/usr/bin/more %{_docdir}/%{name}/README.OpenSuse
%preun
if [ $1 -eq 0 ] ; then
# Package removal, not upgrade
/bin/systemctl --no-reload disable zoneminder.service > /dev/null 2>&1 || :
/bin/systemctl stop zoneminder.service > /dev/null 2>&1 || :
fi
%postun
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
if [ $1 -ge 1 ] ; then
# Package upgrade, not uninstall
/bin/systemctl try-restart zoneminder.service >/dev/null 2>&1 || :
fi
# Next section removed for OpenSuse as the install starts
# at 1.26.5 for this rpm
# %triggerun -- zoneminder < 1.25.0-4
# Save the current service runlevel info
# User must manually run systemd-sysv-convert --apply zoneminder
# to migrate them to systemd targets
# /usr/bin/systemd-sysv-convert --save zoneminder >/dev/null 2>&1 ||:
# Run these because the SysV package being removed won't do them
# /sbin/chkconfig --del zoneminder >/dev/null 2>&1 || :
# /bin/systemctl try-restart zoneminder.service >/dev/null 2>&1 || :
%files
%defattr(-,root,root,-)
%doc AUTHORS COPYING README.md distros/opensuse/README.OpenSuse distros/opensuse/jscalendar-doc
%docdir /opt/zoneminder/share/man
%config %attr(640,root,%{zmgid_final}) /etc/zm.conf
%config(noreplace) %attr(644,root,root) /etc/apache2/conf.d/zoneminder.conf
%config(noreplace) %attr(644,root,root) /etc/tmpfiles.d/zoneminder.conf
%config(noreplace) %attr(644,root,root) /etc/logrotate.d/zoneminder
%{_unitdir}/zoneminder.service
# not sure why this is necessary but leaving in for compatibility
%attr(4755,root,root) %{zm_rundir}/zmfix
%{zm_instdir}
%{webcgi}/nph-zms
%{webcgi}/zms
%{webroot}/zoneminder
%dir %attr(755,%{zmuid_final},%{zmgid_final}) %{webcgi}
%dir %attr(755,%{zmuid_final},%{zmgid_final}) %{zm_tmpdir}
%dir %attr(755,%{zmuid_final},%{zmgid_final}) /var/log/zoneminder
%dir %attr(755,%{zmuid_final},%{zmgid_final}) /var/spool/zoneminder-upload
%changelog
* Tue Mar 18 2014 David Wilcox <david.wilcox@cloverbeen.com> - 1.26.5
- Latest update for Opensuse 13.1 - work is still in progress
* Thu Feb 06 2014 David Wilcox <david.wilcox@cloverbeen.com> - 1.26.5
- Initial build for OpenSuse 13.1 - based on Fedora 19 build
* Mon Oct 07 2013 Andrew Bauer <knnniggett@users.sourceforge.net> - 1.26.4
- Initial cmake build.
* Sat Oct 05 2013 Andrew Bauer <knnniggett@users.sourceforge.net> - 1.26.4
- Fedora specific path changes have been moved to zoneminder-1.26.0-defaults.patch
- All files are now part of the zoneminder source tree. Update specfile accordingly.
* Sat Sep 21 2013 Andrew Bauer <knnniggett@users.sourceforge.net> - 1.26.3
- Initial rebuild for ZoneMinder 1.26.3 release.
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.25.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Mon Jan 21 2013 Adam Tkac <atkac redhat com> - 1.25.0-12
- rebuild due to "jpeg8-ABI" feature drop
* Mon Jan 7 2013 Remi Collet <rcollet@redhat.com> - 1.25.0-11
- fix configuration file for httpd 2.4, #871502
* Fri Dec 21 2012 Adam Tkac <atkac redhat com> - 1.25.0-10
- rebuild against new libjpeg
* Thu Aug 09 2012 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.25.0-9
- Add patch to work around v4l2 api breakage in 3.5 kernel.
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.25.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Sat Jun 23 2012 Petr Pisar <ppisar@redhat.com> - 1.25.0-7
- Perl 5.16 rebuild
* Wed Mar 21 2012 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.25.0-6
- Fix stupid thinko in sql modifications.
* Sat Feb 25 2012 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.25.0-5
- Clean up macro usage.
* Sat Feb 25 2012 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.25.0-4
- Convert to systemd.
- Add tmpfiles.d configuration since the initscript isn't around to create
/run/zoneminder.
- Remove some pointless executable permissions.
- Add logrotate file.
* Wed Feb 22 2012 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.25.0-3
- Update README.Fedora to reference systemctl and mention timezone info in
php.ini.
- Add proper default for EYEZM_LOG_TO_FILE.
* Thu Feb 09 2012 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.25.0-2
- Rebuild for new pcre.
* Thu Jan 19 2012 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.25.0-1
- Update to 1.25.0
- Fix gcc4.7 build problems.
- Drop gcc4.4 build fixes; for whatever reason they now break the build.
- Clean up old patches.
- Force setting of ZM_TMPDIR and ZM_RUNDIR.
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.24.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Thu Sep 15 2011 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.24.4-3
- Re-add the dist-tag that somehow got lost.
* Thu Sep 15 2011 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.24.4-2
- Add patch for bug 711780 - fix syntax issue in Mapped.pm.
- Undo that patch, and undo another which was the cause of the whole mess.
- Fix up other patches so ZM_PATH_BUILD is both defined and useful.
- Make sure database creation mods actually take.
- Update Fedora-specific docs with some additional info.
- Use bundled mootools (javascript, so no guideline violation).
- Update download location.
- Update the gcrypt patch to actually work.
- Upstream changed the tarball without changing the version to patch a
vulnerability, so redownload.
* Sun Aug 14 2011 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.24.4-1
- Initial attempt to upgrade to 1.24.4.
- Add patch from BZ 460310 to build against libgcrypt instead of requiring the
gnutls openssl libs.
* Thu Jul 21 2011 Petr Sabata <contyk@redhat.com> - 1.24.3-7.20110324svn3310
- Perl mass rebuild
* Wed Jul 20 2011 Petr Sabata <contyk@redhat.com> - 1.24.3-6.20110324svn3310
- Perl mass rebuild
* Mon May 09 2011 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.24.3-5.20110324svn3310
- Bump for gnutls update.
* Thu Mar 24 2011 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.24.3-4.20110324svn3310
- Update to latest 1.24.3 subversion. Turns out that what upstream was calling
1.24.3 is really just an occasionally updated devel snapshot.
- Rebase various patches.
* Wed Mar 23 2011 Dan Horák <dan@danny.cz> - 1.24.3-3
- rebuilt for mysql 5.5.10 (soname bump in libmysqlclient)
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.24.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Tue Jan 25 2011 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.24.3-1
- Update to latest upstream version.
- Rebase patches.
- Initial incomplete attempt to disable v4l1 support.
* Fri Jan 21 2011 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.24.2-6
- Unbundle cambozola; instead link to the separately pacakged copy.
- Remove BuildRoot:, %%clean and buildroot cleaning in %%install.
- Git rid of mixed space/tab usage by removing all tabs.
- Remove unnecessary Conflicts: line.
- Attempt to force short_open_tag on for the code directories.
- Move default location of sockets, swaps, logfiles and some temporary files to
make more sense and allow things to work better with a future selinux policy.
- Fix errors in README.Fedora.
* Wed Jun 02 2010 Marcela Maslanova <mmaslano@redhat.com> - 1.24.2-5
- Mass rebuild with perl-5.12.0
* Fri Dec 4 2009 Stepan Kasal <skasal@redhat.com> - 1.24.2-4
- rebuild against perl 5.10.1
- use Perl vendorarch and archlib variables correctly
* Mon Jul 27 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.24.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Wed Jul 22 2009 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.24.2-2
- Bump release since 1.24.2-1 was mistakenly tagged a few months ago.
* Wed Jul 22 2009 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.24.2-1
- Initial update to 1.24.2.
- Rebase patches.
- Update mootools download location.
- Update to mootools 1.2.3.
- Add additional dependencies for some optional features.
* Sat Apr 11 2009 Martin Ebourne <martin@zepler.org> - 1.24.1-3
- Remove unused Sys::Mmap perl dependency RPM is finding
* Sat Apr 11 2009 Martin Ebourne <martin@zepler.org> - 1.24.1-2
- Update gcc44 patch to disable -frepo, seems to be broken with gcc44
- Added noffmpeg patch to make building outside mock easier
* Sat Mar 21 2009 Martin Ebourne <martin@zepler.org> - 1.24.1-1
- Patch for gcc 4.4 compilation errors
- Upgrade to 1.24.1
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.23.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Sat Jan 24 2009 Caolán McNamara <caolanm@redhat.com> - 1.23.3-3
- rebuild for dependencies
* Mon Dec 15 2008 Martin Ebourne <martin@zepler.org> - 1.23.3-2
- Fix permissions on zm.conf
* Fri Jul 11 2008 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.23.3-1
- Initial attempt at packaging 1.23.
* Tue Jul 1 2008 Martin Ebourne <martin@zepler.org> - 1.22.3-15
- Add perl module compat dependency, bz #453590
* Tue May 6 2008 Martin Ebourne <martin@zepler.org> - 1.22.3-14
- Remove default runlevel, bz #441315
* Mon Apr 28 2008 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.22.3-13
- Backport patch for CVE-2008-1381 from 1.23.3 to 1.22.3.
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.22.3-12
- Autorebuild for GCC 4.3
* Thu Jan 3 2008 Martin Ebourne <martin@zepler.org> - 1.22.3-11
- Fix compilation on gcc 4.3
* Thu Dec 6 2007 Martin Ebourne <martin@zepler.org> - 1.22.3-10
- Rebuild for new openssl
* Thu Aug 2 2007 Martin Ebourne <martin@zepler.org> - 1.22.3-8
- Fix licence tag
* Thu Jul 12 2007 Martin Ebourne <martin@zepler.org> - 1.22.3-7
- Fixes from testing by Jitz including missing dependencies and database creation
* Sat Jun 30 2007 Martin Ebourne <martin@zepler.org> - 1.22.3-6
- Disable crashtrace on ppc
* Sat Jun 30 2007 Martin Ebourne <martin@zepler.org> - 1.22.3-5
- Fix uid for directories in /var/lib/zoneminder
* Tue Jun 26 2007 Martin Ebourne <martin@zepler.org> - 1.22.3-4
- Added perl Archive::Tar dependency
- Disabled web interface due to lack of access control on the event images
* Sun Jun 10 2007 Martin Ebourne <martin@zepler.org> - 1.22.3-3
- Changes recommended in review by Jason Tibbitts
* Mon Apr 2 2007 Martin Ebourne <martin@zepler.org> - 1.22.3-2
- Standardised on package name of zoneminder
* Thu Dec 28 2006 Martin Ebourne <martin@zepler.org> - 1.22.3-1
- First version. Uses some parts from zm-1.20.1 by Corey DeLasaux and Serg Oskin

View File

@ -0,0 +1,45 @@
# The Zoneminder web interface has been disabled by default due to a small
# security issue in the default install.
#
# When using Zoneminder's own authentication, recorded CCTV images are
# accessible from the web directly without passing the authentication. This
# means any attacker could see your CCTV images without a password. In order
# to avoid this you can disable Zoneminder's authentication and configure
# standard Apache authentication (see the Apache documentation for details on
# this).
#
# If you still wish to use Zoneminder's own authentication, or have an
# internal site which needs no authentication, you need to delete the line
# marked below and restart Apache.
Alias /zm "/srv/www/htdocs/zoneminder"
<Directory "srv/www/htdocs/zoneminder">
Options -Indexes +MultiViews +FollowSymLinks
AllowOverride All
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order deny,allow
Allow from all
</IfModule>
# The code unfortunately uses short tags in many places
php_value short_open_tag 1
</Directory>
ScriptAlias /cgi-bin/zm "/srv/www/cgi-bin"
<Directory "/srv/www/cgi-bin">
AllowOverride All
Options ExecCGI
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order deny,allow
Allow from all
</IfModule>
</Directory>

View File

@ -0,0 +1,8 @@
/var/log/zoneminder/*.log {
missingok
notifempty
sharedscripts
postrotate
/opt/zoneminder/bin/zmpkg.pl logrot 2> /dev/null > /dev/null || :
endscript
}

View File

@ -0,0 +1,13 @@
[Unit]
Description=Video security and surveillance system
After=mysqld.service
[Service]
Type=forking
ExecStart=/opt/zoneminder/bin/zmpkg.pl start
ExecStop=/opt/zoneminder/bin/zmpkg.pl stop
ExecReload=/opt/zoneminder/bin/zmpkg.pl reload
PIDFile=/var/run/zoneminder/zm.pid
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1 @@
d /var/run/zmtmp 0755 wwwrun www

View File

@ -1,7 +1,33 @@
module local_zoneminder 1.0;
module local_zoneminder 1.1;
require {
type afs_ka_port_t;
type netsupport_port_t;
type port_t;
type presence_port_t;
type postfix_pickup_t;
type httpd_t;
type var_lib_t;
type ionixnetmon_port_t;
type glance_port_t;
type mmcc_port_t;
type postfix_master_t;
type commplex_port_t;
type syslogd_port_t;
type dcc_port_t;
type sip_port_t;
type amqp_port_t;
type condor_port_t;
type afs_fs_port_t;
type nodejs_debug_port_t;
type httpd_var_lib_t;
type websm_port_t;
type afs_pt_port_t;
type postfix_qmgr_t;
type git_port_t;
type ipp_port_t;
type aol_port_t;
type unconfined_t;
type kernel_t;
type init_t;
@ -24,10 +50,11 @@ require {
type dhcpc_t;
type v4l_device_t;
type file_t;
class sock_file write;
class sock_file { write create unlink };
class unix_stream_socket { read connectto };
class lnk_file { write getattr read lock unlink };
class lnk_file { write create getattr read lock unlink };
class dir search;
class udp_socket name_bind;
class file { write getattr read lock unlink open };
class shm { unix_read unix_write associate read write getattr };
class chr_file getattr;
@ -70,3 +97,27 @@ allow httpd_t unconfined_t:dir search;
allow httpd_t unconfined_t:file { read getattr open };
allow httpd_t var_lib_t:lnk_file { write getattr read lock unlink };
allow httpd_t v4l_device_t:chr_file getattr;
allow httpd_t afs_fs_port_t:udp_socket name_bind;
allow httpd_t afs_ka_port_t:udp_socket name_bind;
allow httpd_t afs_pt_port_t:udp_socket name_bind;
allow httpd_t amqp_port_t:udp_socket name_bind;
allow httpd_t aol_port_t:udp_socket name_bind;
allow httpd_t commplex_port_t:udp_socket name_bind;
allow httpd_t condor_port_t:udp_socket name_bind;
allow httpd_t dcc_port_t:udp_socket name_bind;
allow httpd_t git_port_t:udp_socket name_bind;
allow httpd_t glance_port_t:udp_socket name_bind;
allow httpd_t httpd_var_lib_t:lnk_file create;
allow httpd_t ionixnetmon_port_t:udp_socket name_bind;
allow httpd_t ipp_port_t:udp_socket name_bind;
allow httpd_t mmcc_port_t:udp_socket name_bind;
allow httpd_t netsupport_port_t:udp_socket name_bind;
allow httpd_t nodejs_debug_port_t:udp_socket name_bind;
allow httpd_t port_t:udp_socket name_bind;
allow httpd_t postfix_master_t:dir search;
allow httpd_t postfix_master_t:file { read getattr open };
allow httpd_t postfix_pickup_t:dir search;
allow httpd_t postfix_pickup_t:file { read getattr open };
allow httpd_t postfix_qmgr_t:dir search;
allow httpd_t postfix_qmgr_t:file { read getattr open };
allow httpd_t presence_port_t:udp_socket name_bind;

View File

@ -28,13 +28,15 @@ BuildRequires: perl(MIME::Entity) perl(MIME::Lite)
BuildRequires: perl(PHP::Serialization) perl(Sys::Mmap)
BuildRequires: perl(Time::HiRes) perl(Net::SFTP::Foreign)
BuildRequires: perl(Expect) perl(X10::ActiveHome) perl(Astro::SunTime)
BuildRequires: libcurl-devel vlc-devel ffmpeg-devel >= 0.4.9
BuildRequires: libcurl-devel vlc-devel ffmpeg-devel
# cmake needs the following installed at build time due to the way it auto-detects certain parameters
BuildRequires: httpd ffmpeg
Requires: httpd php php-mysql mysql-server libjpeg-turbo
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
Requires: perl(DBD::mysql) perl(Archive::Tar) perl(Archive::Zip)
Requires: perl(MIME::Entity) perl(MIME::Lite) perl(Net::SMTP) perl(Net::FTP)
Requires: libcurl vlc-core ffmpeg >= 0.4.9
Requires: libcurl vlc-core ffmpeg
Requires(post): /sbin/chkconfig
Requires(post): /usr/bin/checkmodule
@ -158,6 +160,9 @@ rm -rf %{_docdir}/%{name}-%{version}
%changelog
* Fri Mar 14 2014 Andrew Bauer <knnniggett@users.sourceforge.net> - 1.27
- Tweak build requirements for cmake
* Sat Feb 01 2014 Andrew Bauer <knnniggett@users.sourceforge.net> - 1.27
- Add zmcamtool.pl. Bump version for 1.27 release.

View File

@ -17,7 +17,8 @@ bin_SCRIPTS = \
zmupdate.pl \
zmvideo.pl \
zmcontrol.pl \
zmtrack.pl
zmtrack.pl \
zmcamtool.pl
SUBDIRS = \
. \

View File

@ -1208,7 +1208,7 @@ body = "ZM alarm detected - %EL% secs, %EF%/%EFA% frames, t%EST%/m%ESM%/a%ESA% s
},
{
name => "ZM_EVENT_IMAGE_DIGITS",
default => "3",
default => "5",
description => "How many significant digits are used in event image numbering",
help => "As event images are captured they are stored to the filesystem with a numerical index. By default this index has three digits so the numbers start 001, 002 etc. This works works for most scenarios as events with more than 999 frames are rarely captured. However if you have extremely long events and use external applications then you may wish to increase this to ensure correct sorting of images in listings etc. Warning, increasing this value on a live system may render existing events unviewable as the event will have been saved with the previous scheme. Decreasing this value should have no ill effects.",
type => $types{integer},
@ -1357,7 +1357,7 @@ body = "ZM alarm detected - %EL% secs, %EF%/%EFA% frames, t%EST%/m%ESM%/a%ESA% s
},
{
name => "ZM_WEB_H_REFRESH_MAIN",
default => "300",
default => "60",
introduction => "There are now a number of options that are grouped into bandwidth categories, this allows you to configure the ZoneMinder client to work optimally over the various access methods you might to access the client.\n\nThe next few options control what happens when the client is running in 'high' bandwidth mode. You should set these options for when accessing the ZoneMinder client over a local network or high speed link. In most cases the default values will be suitable as a starting point.",
description => "How often (in seconds) the main console window should refresh itself",
help => "The main console window lists a general status and the event totals for all monitors. This is not a trivial task and should not be repeated too frequently or it may affect the performance of the rest of the system.",
@ -1374,7 +1374,7 @@ body = "ZM alarm detected - %EL% secs, %EF%/%EFA% frames, t%EST%/m%ESM%/a%ESA% s
},
{
name => "ZM_WEB_H_REFRESH_IMAGE",
default => "5",
default => "3",
description => "How often (in seconds) the watched image is refreshed (if not streaming)",
help => "The live images from a monitor can be viewed in either streamed or stills mode. This option determines how often a stills image is refreshed, it has no effect if streaming is selected.",
type => $types{integer},
@ -1382,7 +1382,7 @@ body = "ZM alarm detected - %EL% secs, %EF%/%EFA% frames, t%EST%/m%ESM%/a%ESA% s
},
{
name => "ZM_WEB_H_REFRESH_STATUS",
default => "3",
default => "1",
description => "How often (in seconds) the status refreshes itself in the watch window",
help => "The monitor window is actually made from several frames. The one in the middle merely contains a monitor status which needs to refresh fairly frequently to give a true indication. This option determines that frequency.",
type => $types{integer},
@ -1390,7 +1390,7 @@ body = "ZM alarm detected - %EL% secs, %EF%/%EFA% frames, t%EST%/m%ESM%/a%ESA% s
},
{
name => "ZM_WEB_H_REFRESH_EVENTS",
default => "30",
default => "5",
description => "How often (in seconds) the event listing is refreshed in the watch window",
help => "The monitor window is actually made from several frames. The lower framme contains a listing of the last few events for easy access. This option determines how often this is refreshed.",
type => $types{integer},
@ -1438,7 +1438,7 @@ body = "ZM alarm detected - %EL% secs, %EF%/%EFA% frames, t%EST%/m%ESM%/a%ESA% s
},
{
name => "ZM_WEB_H_VIDEO_MAXFPS",
default => "15",
default => "30",
description => "What the maximum frame rate for streamed video should be",
help => "When using streamed video the main control is the bitrate which determines how much data can be transmitted. However a lower bitrate at high frame rates results in a lower quality image. This option allows you to limit the maximum frame rate to ensure that video quality is maintained. An additional advantage is that encoding video at high frame rates is a processor intensive task when for the most part a very high frame rate offers little perceptible improvement over one that has a more manageable resource requirement. Note, this option is implemented as a cap beyond which binary reduction takes place. So if you have a device capturing at 15fps and set this option to 10fps then the video is not produced at 10fps, but rather at 7.5fps (15 divided by 2) as the final frame rate must be the original divided by a power of 2.",
type => $types{integer},

View File

@ -0,0 +1,502 @@
# ==========================================================================
#
# ZoneMinder Wanscam Control Protocol Module, $Date: 2009-11-25 09:20:00 +0000 (Wed, 04 Nov 2009) $, $Revision: 0001 $
# Copyright (C) 2001-2008 Philip Coombes
# Modified for use with Foscam FI8918W IP Camera by Dave Harris
# Modified Feb 2011 by Howard Durdle (http://durdl.es/x) to:
# fix horizontal panning, add presets and IR on/off
# use Control Device field to pass username and password
# Modified June 5th, 2012 by Chris Bagwell to:
# Rename to IPCAM since its common protocol with wide range of cameras.
# Work with Logger module instead of Debug module.
# Fix off-by-1 preset bug.
# Support optional autostop timeout.
# Add Zoom, Brightness, and Contrast support.
# Modified July 7th, 2012 by Patrik Brander to:
# Rename to Wanscam
# Pan Left/Right switched
# IR On/Off switched
# Brightness Increase/Decrease in 16 steps
#
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# ==========================================================================
#
# This module contains the implementation of the Wanscam camera control
# protocol.
#
# This is a protocol shared by a wide range of affordable cameras that
# appear to share similar reference design and software. Examples
# include Foscam, Agasio, Wansview, etc.
#
# The basis for CGI based API can be found on internet by searching for
# "IPCAM CGI SDK 2.1". Here is sample site that also developes replacement
# firmware for some hardware versions.
#
# http://www.openipcam.com/files/Manuals/IPCAM%20CGI%20SDK%202.1.pdf
#
package ZoneMinder::Control::Wanscam;
use 5.006;
use strict;
use warnings;
require ZoneMinder::Base;
require ZoneMinder::Control;
our @ISA = qw(ZoneMinder::Control);
# ==========================================================================
#
# Wanscam Control Protocol
#
# ==========================================================================
use ZoneMinder::Logger qw(:all);
use ZoneMinder::Config qw(:all);
use Time::HiRes qw( usleep );
sub new
{
my $class = shift;
my $id = shift;
my $self = ZoneMinder::Control->new( $id );
my $logindetails = "";
bless( $self, $class );
srand( time() );
return $self;
}
our $AUTOLOAD;
sub AUTOLOAD
{
my $self = shift;
my $class = ref($self) || croak( "$self not object" );
my $name = $AUTOLOAD;
$name =~ s/.*://;
if ( exists($self->{$name}) )
{
return( $self->{$name} );
}
Fatal( "Can't access $name member of object of class $class" );
}
sub open
{
my $self = shift;
$self->loadMonitor();
use LWP::UserAgent;
$self->{ua} = LWP::UserAgent->new;
$self->{ua}->agent( "ZoneMinder Control Agent/".ZoneMinder::Base::ZM_VERSION );
$self->{state} = 'open';
}
sub close
{
my $self = shift;
$self->{state} = 'closed';
}
sub printMsg
{
my $self = shift;
my $msg = shift;
my $msg_len = length($msg);
Debug( $msg."[".$msg_len."]" );
}
sub sendCmd
{
my $self = shift;
my $cmd = shift;
my $result = undef;
printMsg( $cmd, "Tx" );
my $req = HTTP::Request->new( GET=>"http://".$self->{Monitor}->{ControlAddress}."/$cmd".$self->{Monitor}->{ControlDevice} );
my $res = $self->{ua}->request($req);
if ( $res->is_success )
{
$result = $res->decoded_content;
}
else
{
Error( "Error check failed:'".$res->status_line()."'" );
}
return( $result );
}
# Turn IO on (can be internally wired to IR's)
sub wake
{
my $self = shift;
Debug( "Wake - IO on" );
my $cmd = "decoder_control.cgi?command=94&";
$self->sendCmd( $cmd );
}
# Turn IO off (can be internally wired to IR's)
sub sleep
{
my $self = shift;
Debug( "Sleep - IO off" );
my $cmd = "decoder_control.cgi?command=95&";
$self->sendCmd( $cmd );
}
sub reset
{
my $self = shift;
Debug( "Camera Reset" );
my $cmd = "reboot.cgi?";
$self->sendCmd( $cmd );
}
sub moveConUp
{
my $self = shift;
my $params = shift;
Debug( "Move Up" );
my $cmd = "decoder_control.cgi?command=0&";
$self->sendCmd( $cmd );
my $autostop = $self->getParam( $params, 'autostop', 0 );
if ( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->moveStop( $params );
}
}
sub moveConDown
{
my $self = shift;
my $params = shift;
Debug( "Move Down" );
my $cmd = "decoder_control.cgi?command=2&";
$self->sendCmd( $cmd );
my $autostop = $self->getParam( $params, 'autostop', 0 );
if ( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->moveStop( $params );
}
}
sub moveConRight
{
my $self = shift;
my $params = shift;
Debug( "Move Right" );
my $cmd = "decoder_control.cgi?command=4&";
$self->sendCmd( $cmd );
my $autostop = $self->getParam( $params, 'autostop', 0 );
if ( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->moveStop( $params );
}
}
sub moveConLeft
{
my $self = shift;
my $params = shift;
Debug( "Move Left" );
my $cmd = "decoder_control.cgi?command=6&";
$self->sendCmd( $cmd );
my $autostop = $self->getParam( $params, 'autostop', 0 );
if ( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->moveStop( $params );
}
}
sub moveConUpLeft
{
my $self = shift;
my $params = shift;
Debug( "Move Diagonally Up Left" );
my $cmd = "decoder_control.cgi?command=91&";
$self->sendCmd( $cmd );
my $autostop = $self->getParam( $params, 'autostop', 0 );
if ( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->moveStop( $params );
}
}
sub moveConDownLeft
{
my $self = shift;
my $params = shift;
Debug( "Move Diagonally Down Left" );
my $cmd = "decoder_control.cgi?command=93&";
$self->sendCmd( $cmd );
my $autostop = $self->getParam( $params, 'autostop', 0 );
if ( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->moveStop( $params );
}
}
sub moveConUpRight
{
my $self = shift;
my $params = shift;
Debug( "Move Diagonally Up Right" );
my $cmd = "decoder_control.cgi?command=90&";
$self->sendCmd( $cmd );
my $autostop = $self->getParam( $params, 'autostop', 0 );
if ( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->moveStop( $params );
}
}
sub moveConDownRight
{
my $self = shift;
my $params = shift;
Debug( "Move Diagonally Down Right" );
my $cmd = "decoder_control.cgi?command=92&";
$self->sendCmd( $cmd );
my $autostop = $self->getParam( $params, 'autostop', 0 );
if ( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$self->moveStop( $params );
}
}
# command=1 is technically Up Stop but seems to work for all stops.
sub moveStop
{
my $self = shift;
Debug( "Move Stop" );
print("autostop\n");
my $cmd = "decoder_control.cgi?command=1&";
$self->sendCmd( $cmd );
}
sub zoomConTele
{
my $self = shift;
my $params = shift;
Debug( "Zoom Tele" );
my $cmd = "decoder_control.cgi?command=16&";
$self->sendCmd( $cmd );
my $autostop = $self->getParam( $params, 'autostop', 0 );
if ( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$cmd = "decoder_control.cgi?command=17&";
$self->sendCmd( $cmd );
}
}
sub zoomConWide
{
my $self = shift;
my $params = shift;
Debug( "Zoom Wide" );
my $cmd = "decoder_control.cgi?command=18&";
$self->sendCmd( $cmd );
my $autostop = $self->getParam( $params, 'autostop', 0 );
if ( $autostop && $self->{Monitor}->{AutoStopTimeout} )
{
usleep( $self->{Monitor}->{AutoStopTimeout} );
$cmd = "decoder_control.cgi?command=19&";
$self->sendCmd( $cmd );
}
}
sub zoomConStop
{
my $self = shift;
my $params = shift;
Debug( "Zoom Stop" );
my $cmd = "decoder_control.cgi?command=17&";
$self->sendCmd( $cmd );
}
# Increase Brightness
sub irisAbsOpen
{
my $self = shift;
my $params = shift;
my $step = $self->getParam( $params, 'step' );
my $brightness = 100;
my $cmd = "get_camera_params.cgi?";
my $resp = $self->sendCmd( $cmd );
$brightness = int($1) if ( $resp =~ m/var brightness=([0-9]*);/ );
$brightness += $step * 16;
$brightness = 255 if ($brightness > 255);
Debug( "Iris Open $brightness" );
$cmd = "camera_control.cgi?param=1&value=".$brightness."&";
$self->sendCmd( $cmd );
}
# Decrease Brightness
sub irisAbsClose
{
my $self = shift;
my $params = shift;
my $step = $self->getParam( $params, 'step' );
my $brightness = 100;
my $cmd = "get_camera_params.cgi?";
my $resp = $self->sendCmd( $cmd );
$brightness = int($1) if ( $resp =~ m/var brightness=([0-9]*);/ );
$brightness -= $step * 16;
$brightness = 0 if ($brightness < 0);
Debug( "Iris Close $brightness" );
$cmd = "camera_control.cgi?param=1&value=".$brightness."&";
$self->sendCmd( $cmd );
}
# Increase Contrast
sub whiteAbsIn
{
my $self = shift;
my $params = shift;
my $step = $self->getParam( $params, 'step' );
my $contrast = 5;
my $cmd = "get_camera_params.cgi?";
my $resp = $self->sendCmd( $cmd );
$contrast = int($1) if ( $resp =~ m/var contrast=([0-9]*);/ );
$contrast += $step;
$contrast = 6 if ($contrast > 6);
Debug( "White In $contrast" );
$cmd = "camera_control.cgi?param=2&value=".$contrast."&";
$self->sendCmd( $cmd );
}
# Decrease Contrast
sub whiteAbsOut
{
my $self = shift;
my $params = shift;
my $step = $self->getParam( $params, 'step' );
my $contrast = 5;
my $cmd = "get_camera_params.cgi?";
my $resp = $self->sendCmd( $cmd );
$contrast = int($1) if ( $resp =~ m/var contrast=([0-9]*);/ );
$contrast -= $step;
$contrast = 0 if ($contrast < 0);
Debug( "White Out $contrast" );
$cmd = "camera_control.cgi?param=2&value=".$contrast."&";
$self->sendCmd( $cmd );
}
sub presetHome
{
my $self = shift;
Debug( "Home Preset" );
my $cmd = "decoder_control.cgi?command=25&";
$self->sendCmd( $cmd );
}
sub presetSet
{
my $self = shift;
my $params = shift;
my $preset = $self->getParam( $params, 'preset' );
my $presetCmd = 30 + (($preset-1)*2);
Debug( "Set Preset $preset with cmd $presetCmd" );
my $cmd = "decoder_control.cgi?command=$presetCmd&";
$self->sendCmd( $cmd );
}
sub presetGoto
{
my $self = shift;
my $params = shift;
my $preset = $self->getParam( $params, 'preset' );
my $presetCmd = 31 + (($preset-1)*2);
Debug( "Goto Preset $preset with cmd $presetCmd" );
my $cmd = "decoder_control.cgi?command=$presetCmd&";
$self->sendCmd( $cmd );
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
ZoneMinder::Database - Perl extension for blah blah blah
=head1 SYNOPSIS
use ZoneMinder::Control::Wanscam
blah blah blah
=head1 DESCRIPTION
Stub documentation for ZoneMinder, created by h2xs. It looks like the
author of the extension was negligent enough to leave the stub
unedited.
Blah blah blah.
=head2 EXPORT
None by default.
=head1 SEE ALSO
Mention other useful documentation such as the documentation of
related modules or operating system documentation (such as man pages
in UNIX), or any relevant external documentation such as RFCs or
standards.
If you have a mailing list set up for your module, mention it here.
If you have a web site set up for your module, mention it here.
=head1 AUTHOR
Philip Coombes, <philip.coombes@zoneminder.com>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2001-2008 Philip Coombes
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.3 or,
at your option, any later version of Perl 5 you may have available.
=cut

View File

@ -2988,7 +2988,10 @@ void Image::Deinterlace_4Field(const Image* next_image, unsigned int threshold)
/************************************************* BLEND FUNCTIONS *************************************************/
__attribute__((noinline,__target__("sse2"))) void sse2_fastblend(const uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count, double blendpercent) {
#if defined(__i386__) || defined(__x86_64__)
__attribute__((noinline,__target__("sse2")))
#endif
void sse2_fastblend(const uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count, double blendpercent) {
#if ((defined(__i386__) || defined(__x86_64__) || defined(ZM_KEEP_SSE)) && !defined(ZM_STRIP_SSE))
static uint32_t divider = 0;
static uint32_t clearmask = 0;
@ -3330,7 +3333,10 @@ __attribute__((noinline)) void std_delta8_abgr(const uint8_t* col1, const uint8_
}
/* Grayscale SSE2 */
__attribute__((noinline,__target__("sse2"))) void sse2_delta8_gray8(const uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count) {
#if defined(__i386__) || defined(__x86_64__)
__attribute__((noinline,__target__("sse2")))
#endif
void sse2_delta8_gray8(const uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count) {
#if ((defined(__i386__) || defined(__x86_64__) || defined(ZM_KEEP_SSE)) && !defined(ZM_STRIP_SSE))
__asm__ __volatile__ (
@ -3358,7 +3364,10 @@ __attribute__((noinline,__target__("sse2"))) void sse2_delta8_gray8(const uint8_
}
/* RGB32: RGBA SSE2 */
__attribute__((noinline,__target__("sse2"))) void sse2_delta8_rgba(const uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count) {
#if defined(__i386__) || defined(__x86_64__)
__attribute__((noinline,__target__("sse2")))
#endif
void sse2_delta8_rgba(const uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count) {
#if ((defined(__i386__) || defined(__x86_64__) || defined(ZM_KEEP_SSE)) && !defined(ZM_STRIP_SSE))
__asm__ __volatile__ (
@ -3413,7 +3422,10 @@ __attribute__((noinline,__target__("sse2"))) void sse2_delta8_rgba(const uint8_t
}
/* RGB32: BGRA SSE2 */
__attribute__((noinline,__target__("sse2"))) void sse2_delta8_bgra(const uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count) {
#if defined(__i386__) || defined(__x86_64__)
__attribute__((noinline,__target__("sse2")))
#endif
void sse2_delta8_bgra(const uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count) {
#if ((defined(__i386__) || defined(__x86_64__) || defined(ZM_KEEP_SSE)) && !defined(ZM_STRIP_SSE))
__asm__ __volatile__ (
@ -3468,7 +3480,10 @@ __attribute__((noinline,__target__("sse2"))) void sse2_delta8_bgra(const uint8_t
}
/* RGB32: ARGB SSE2 */
__attribute__((noinline,__target__("sse2"))) void sse2_delta8_argb(const uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count) {
#if defined(__i386__) || defined(__x86_64__)
__attribute__((noinline,__target__("sse2")))
#endif
void sse2_delta8_argb(const uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count) {
#if ((defined(__i386__) || defined(__x86_64__) || defined(ZM_KEEP_SSE)) && !defined(ZM_STRIP_SSE))
__asm__ __volatile__ (
@ -3524,7 +3539,10 @@ __attribute__((noinline,__target__("sse2"))) void sse2_delta8_argb(const uint8_t
}
/* RGB32: ABGR SSE2 */
__attribute__((noinline,__target__("sse2"))) void sse2_delta8_abgr(const uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count) {
#if defined(__i386__) || defined(__x86_64__)
__attribute__((noinline,__target__("sse2")))
#endif
void sse2_delta8_abgr(const uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count) {
#if ((defined(__i386__) || defined(__x86_64__) || defined(ZM_KEEP_SSE)) && !defined(ZM_STRIP_SSE))
__asm__ __volatile__ (
@ -3580,7 +3598,10 @@ __attribute__((noinline,__target__("sse2"))) void sse2_delta8_abgr(const uint8_t
}
/* RGB32: RGBA SSSE3 */
__attribute__((noinline,__target__("ssse3"))) void ssse3_delta8_rgba(const uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count) {
#if defined(__i386__) || defined(__x86_64__)
__attribute__((noinline,__target__("ssse3")))
#endif
void ssse3_delta8_rgba(const uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count) {
#if ((defined(__i386__) || defined(__x86_64__) || defined(ZM_KEEP_SSE)) && !defined(ZM_STRIP_SSE))
__asm__ __volatile__ (
@ -3632,7 +3653,10 @@ __attribute__((noinline,__target__("ssse3"))) void ssse3_delta8_rgba(const uint8
}
/* RGB32: BGRA SSSE3 */
__attribute__((noinline,__target__("ssse3"))) void ssse3_delta8_bgra(const uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count) {
#if defined(__i386__) || defined(__x86_64__)
__attribute__((noinline,__target__("ssse3")))
#endif
void ssse3_delta8_bgra(const uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count) {
#if ((defined(__i386__) || defined(__x86_64__) || defined(ZM_KEEP_SSE)) && !defined(ZM_STRIP_SSE))
__asm__ __volatile__ (
@ -3684,7 +3708,10 @@ __attribute__((noinline,__target__("ssse3"))) void ssse3_delta8_bgra(const uint8
}
/* RGB32: ARGB SSSE3 */
__attribute__((noinline,__target__("ssse3"))) void ssse3_delta8_argb(const uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count) {
#if defined(__i386__) || defined(__x86_64__)
__attribute__((noinline,__target__("ssse3")))
#endif
void ssse3_delta8_argb(const uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count) {
#if ((defined(__i386__) || defined(__x86_64__) || defined(ZM_KEEP_SSE)) && !defined(ZM_STRIP_SSE))
__asm__ __volatile__ (
@ -3737,7 +3764,10 @@ __attribute__((noinline,__target__("ssse3"))) void ssse3_delta8_argb(const uint8
}
/* RGB32: ABGR SSSE3 */
__attribute__((noinline,__target__("ssse3"))) void ssse3_delta8_abgr(const uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count) {
#if defined(__i386__) || defined(__x86_64__)
__attribute__((noinline,__target__("ssse3")))
#endif
void ssse3_delta8_abgr(const uint8_t* col1, const uint8_t* col2, uint8_t* result, unsigned long count) {
#if ((defined(__i386__) || defined(__x86_64__) || defined(ZM_KEEP_SSE)) && !defined(ZM_STRIP_SSE))
__asm__ __volatile__ (
@ -3989,7 +4019,10 @@ __attribute__((noinline)) void std_convert_yuyv_gray8(const uint8_t* col1, uint8
}
/* RGBA to grayscale SSSE3 */
__attribute__((noinline,__target__("ssse3"))) void ssse3_convert_rgba_gray8(const uint8_t* col1, uint8_t* result, unsigned long count) {
#if defined(__i386__) || defined(__x86_64__)
__attribute__((noinline,__target__("ssse3")))
#endif
void ssse3_convert_rgba_gray8(const uint8_t* col1, uint8_t* result, unsigned long count) {
#if ((defined(__i386__) || defined(__x86_64__) || defined(ZM_KEEP_SSE)) && !defined(ZM_STRIP_SSE))
__asm__ __volatile__ (
@ -4035,7 +4068,10 @@ __attribute__((noinline,__target__("ssse3"))) void ssse3_convert_rgba_gray8(cons
}
/* Converts a YUYV image into grayscale by extracting the Y channel */
__attribute__((noinline,__target__("ssse3"))) void ssse3_convert_yuyv_gray8(const uint8_t* col1, uint8_t* result, unsigned long count) {
#if defined(__i386__) || defined(__x86_64__)
__attribute__((noinline,__target__("ssse3")))
#endif
void ssse3_convert_yuyv_gray8(const uint8_t* col1, uint8_t* result, unsigned long count) {
#if ((defined(__i386__) || defined(__x86_64__) || defined(ZM_KEEP_SSE)) && !defined(ZM_STRIP_SSE))
unsigned long i = 0;
@ -4652,7 +4688,10 @@ __attribute__((noinline)) void std_deinterlace_4field_abgr(uint8_t* col1, uint8_
}
/* Grayscale SSSE3 */
__attribute__((noinline,__target__("ssse3"))) void ssse3_deinterlace_4field_gray8(uint8_t* col1, uint8_t* col2, unsigned int threshold, unsigned int width, unsigned int height) {
#if defined(__i386__) || defined(__x86_64__)
__attribute__((noinline,__target__("ssse3")))
#endif
void ssse3_deinterlace_4field_gray8(uint8_t* col1, uint8_t* col2, unsigned int threshold, unsigned int width, unsigned int height) {
#if ((defined(__i386__) || defined(__x86_64__) || defined(ZM_KEEP_SSE)) && !defined(ZM_STRIP_SSE))
union {
@ -4785,7 +4824,10 @@ __attribute__((noinline,__target__("ssse3"))) void ssse3_deinterlace_4field_gray
}
/* RGBA SSSE3 */
__attribute__((noinline,__target__("ssse3"))) void ssse3_deinterlace_4field_rgba(uint8_t* col1, uint8_t* col2, unsigned int threshold, unsigned int width, unsigned int height) {
#if defined(__i386__) || defined(__x86_64__)
__attribute__((noinline,__target__("ssse3")))
#endif
void ssse3_deinterlace_4field_rgba(uint8_t* col1, uint8_t* col2, unsigned int threshold, unsigned int width, unsigned int height) {
#if ((defined(__i386__) || defined(__x86_64__) || defined(ZM_KEEP_SSE)) && !defined(ZM_STRIP_SSE))
__attribute__((aligned(16))) static const uint8_t movemask2[16] = {1,1,1,1,1,0,0,2,9,9,9,9,9,8,8,10};
@ -4965,7 +5007,10 @@ __attribute__((noinline,__target__("ssse3"))) void ssse3_deinterlace_4field_rgba
}
/* BGRA SSSE3 */
__attribute__((noinline,__target__("ssse3"))) void ssse3_deinterlace_4field_bgra(uint8_t* col1, uint8_t* col2, unsigned int threshold, unsigned int width, unsigned int height) {
#if defined(__i386__) || defined(__x86_64__)
__attribute__((noinline,__target__("ssse3")))
#endif
void ssse3_deinterlace_4field_bgra(uint8_t* col1, uint8_t* col2, unsigned int threshold, unsigned int width, unsigned int height) {
#if ((defined(__i386__) || defined(__x86_64__) || defined(ZM_KEEP_SSE)) && !defined(ZM_STRIP_SSE))
__attribute__((aligned(16))) static const uint8_t movemask2[16] = {1,1,1,1,1,2,2,0,9,9,9,9,9,10,10,8};
@ -5145,7 +5190,10 @@ __attribute__((noinline,__target__("ssse3"))) void ssse3_deinterlace_4field_bgra
}
/* ARGB SSSE3 */
__attribute__((noinline,__target__("ssse3"))) void ssse3_deinterlace_4field_argb(uint8_t* col1, uint8_t* col2, unsigned int threshold, unsigned int width, unsigned int height) {
#if defined(__i386__) || defined(__x86_64__)
__attribute__((noinline,__target__("ssse3")))
#endif
void ssse3_deinterlace_4field_argb(uint8_t* col1, uint8_t* col2, unsigned int threshold, unsigned int width, unsigned int height) {
#if ((defined(__i386__) || defined(__x86_64__) || defined(ZM_KEEP_SSE)) && !defined(ZM_STRIP_SSE))
__attribute__((aligned(16))) static const uint8_t movemask2[16] = {2,2,2,2,2,1,1,3,10,10,10,10,10,9,9,11};
@ -5325,7 +5373,10 @@ __attribute__((noinline,__target__("ssse3"))) void ssse3_deinterlace_4field_argb
}
/* ABGR SSSE3 */
__attribute__((noinline,__target__("ssse3"))) void ssse3_deinterlace_4field_abgr(uint8_t* col1, uint8_t* col2, unsigned int threshold, unsigned int width, unsigned int height) {
#if defined(__i386__) || defined(__x86_64__)
__attribute__((noinline,__target__("ssse3")))
#endif
void ssse3_deinterlace_4field_abgr(uint8_t* col1, uint8_t* col2, unsigned int threshold, unsigned int width, unsigned int height) {
#if ((defined(__i386__) || defined(__x86_64__) || defined(ZM_KEEP_SSE)) && !defined(ZM_STRIP_SSE))
__attribute__((aligned(16))) static const uint8_t movemask2[16] = {2,2,2,2,2,3,3,1,10,10,10,10,10,11,11,9};

View File

@ -200,11 +200,20 @@ void ssedetect() {
uint32_t r_edx, r_ecx;
__asm__ __volatile__(
#if defined(__i386__)
"pushl %%ebx;\n\t"
#endif
"mov $0x1,%%eax\n\t"
"cpuid\n\t"
#if defined(__i386__)
"popl %%ebx;\n\t"
#endif
: "=d" (r_edx), "=c" (r_ecx)
:
: "%eax", "%ebx"
: "%eax"
#if !defined(__i386__)
, "%ebx"
#endif
);
if (r_ecx & 0x00000200) {
@ -233,7 +242,10 @@ void ssedetect() {
/* SSE2 aligned memory copy. Useful for big copying of aligned memory like image buffers in ZM */
/* For platforms without SSE2 we will use standard x86 asm memcpy or glibc's memcpy() */
__attribute__((noinline,__target__("sse2"))) void* sse2_aligned_memcpy(void* dest, const void* src, size_t bytes) {
#if defined(__i386__) || defined(__x86_64__)
__attribute__((noinline,__target__("sse2")))
#endif
void* sse2_aligned_memcpy(void* dest, const void* src, size_t bytes) {
#if ((defined(__i386__) || defined(__x86_64__) || defined(ZM_KEEP_SSE)) && !defined(ZM_STRIP_SSE))
if(bytes > 128) {
unsigned int remainder = bytes % 128;

39
utils/bump-version.pl Executable file
View File

@ -0,0 +1,39 @@
#!/usr/bin/env perl
# This script will bump the version number in any files listed in the below
# @files array. It can only bump versions up, and does so by use of sed.
use strict;
use warnings;
use Getopt::Long;
my @files = (
"../version",
"../configure.ac",
"../CMakeLists.txt"
);
my ($new, $current);
open my $file, "../version" or die $!;
chomp($current = <$file>);
close $file;
sub usage {
print "Usage: bump-version.sh -n <new-version>\n";
exit 1;
}
sub bump_version {
foreach my $file (@files) {
system("sed -i \"s/$current/$new/g\" $file");
}
}
GetOptions ("n=s" => \$new) or usage;
usage if ! $new;
die("New version ($new) is not greater than old version ($current)!") if ( $new le $current);
bump_version;

View File

@ -1 +1 @@
1.26.5
1.27

View File

@ -109,20 +109,9 @@ define( "RATE_BASE", 100 ); // The additional scalin
define( "SCALE_BASE", 100 ); // The additional scaling factor used to help get fractional scales in integer format
//
// Date and time formats, eventually some of these may end up in the language files
// Date and time formats, not to be modified by language files
//
define( "DATE_FMT_CONSOLE_LONG", "D jS M, g:ia" ); // This is the main console date/time, date() or strftime() format
define( "DATE_FMT_CONSOLE_SHORT", "%H:%M" ); // This is the xHTML console date/time, date() or strftime() format
define( "STRF_FMT_DATETIME_DB", "%Y-%m-%d %H:%M:%S" ); // Strftime format for database queries, don't change
define( "STRF_FMT_DATETIME", "%c" ); // Strftime locale aware format for dates with times
define( "STRF_FMT_DATE", "%x" ); // Strftime locale aware format for dates without times
define( "STRF_FMT_TIME", "%X" ); // Strftime locale aware format for times without dates
define( "STRF_FMT_DATETIME_SHORT", "%y/%m/%d %H:%M:%S" ); // Strftime shorter format for dates with time, not locale aware
define( "STRF_FMT_DATETIME_SHORTER", "%m/%d %H:%M:%S" ); // Strftime shorter format for dates with time, not locale aware, used where space is tight
define( "MYSQL_FMT_DATETIME_SHORT", "%y/%m/%d %H:%i:%S" ); // MySQL date_format shorter format for dates with time
require_once( 'database.php' );

View File

@ -43,4 +43,18 @@ function loadLanguage( $prefix="" )
if ( $langFile = loadLanguage() )
require_once( $langFile );
//
// Date and time formats fallback, if not set up by the language file already
//
defined("DATE_FMT_CONSOLE_LONG") or define("DATE_FMT_CONSOLE_LONG", "D jS M, g:ia"); // This is the main console date/time, date() or strftime() format
defined("DATE_FMT_CONSOLE_SHORT") or define( "DATE_FMT_CONSOLE_SHORT", "%H:%M" ); // This is the xHTML console date/time, date() or strftime() format
defined("STRF_FMT_DATETIME") or define( "STRF_FMT_DATETIME", "%c" ); // Strftime locale aware format for dates with times
defined("STRF_FMT_DATE") or define( "STRF_FMT_DATE", "%x" ); // Strftime locale aware format for dates without times
defined("STRF_FMT_TIME") or define( "STRF_FMT_TIME", "%X" ); // Strftime locale aware format for times without dates
defined("STRF_FMT_DATETIME_SHORT") or define( "STRF_FMT_DATETIME_SHORT", "%y/%m/%d %H:%M:%S" ); // Strftime shorter format for dates with time, not locale aware
defined("STRF_FMT_DATETIME_SHORTER") or define( "STRF_FMT_DATETIME_SHORTER", "%m/%d %H:%M:%S" );// Strftime shorter format for dates with time, not locale aware, used where space is tight
?>

View File

@ -156,6 +156,7 @@ $SLANG = array(
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => '頻寬',
'BandwidthHead' => 'Bandwidth', // This is the end of the bandwidth status on the top of the console, different in many language due to phrasing
'BlobPx' => 'Blob Px',
'BlobSizes' => 'Blob Sizes',
'Blobs' => 'Blobs',
@ -324,6 +325,12 @@ $SLANG = array(
'First' => 'First',
'FlippedHori' => '水平反轉',
'FlippedVert' => '垂直反轉',
'FnNone' => 'None', // Added 2013.08.16.
'FnMonitor' => 'Monitor', // Added 2013.08.16.
'FnModect' => 'Modect', // Added 2013.08.16.
'FnRecord' => 'Record', // Added 2013.08.16.
'FnMocord' => 'Mocord', // Added 2013.08.16.
'FnNodect' => 'Nodect', // Added 2013.08.16.
'Focus' => 'Focus',
'ForceAlarm' => 'Force Alarm',
'Format' => '格式',
@ -467,6 +474,11 @@ $SLANG = array(
'Month' => '月',
'More' => 'More', // Added - 2011-06-16
'Move' => '移動',
'MtgDefault' => 'Default', // Added 2013.08.15.
'Mtg2widgrd' => '2-wide grid', // Added 2013.08.15.
'Mtg3widgrd' => '3-wide grid', // Added 2013.08.15.
'Mtg4widgrd' => '4-wide grid', // Added 2013.08.15.
'Mtg3widgrx' => '3-wide grid, scaled, enlarge on alarm', // Added 2013.08.15.
'MustBeGe' => '需大於或等於',
'MustBeLe' => '需小於或等於',
'MustConfirmPassword' => '您必需確認密碼',
@ -635,6 +647,10 @@ $SLANG = array(
'TimeDelta' => 'Time Delta',
'TimeStamp' => 'Time Stamp', // Added - 2009-02-08
'Timeline' => 'Timeline', // Added - 2009-02-08
'TimelineTip1' => 'Pass your mouse over the graph to view a snapshot image and event details.', // Added 2013.08.15.
'TimelineTip2' => 'Click on the coloured sections of the graph, or the image, to view the event.', // Added 2013.08.15.
'TimelineTip3' => 'Click on the background to zoom in to a smaller time period based around your click.', // Added 2013.08.15.
'TimelineTip4' => 'Use the controls below to zoom out or navigate back and forward through the time range.', // Added 2013.08.15.
'Timestamp' => '時間格式',
'TimestampLabelFormat' => '時間標示格式',
'TimestampLabelX' => '時間標示 X',

View File

@ -152,6 +152,7 @@ $SLANG = array(
'BadWebColour' => 'Web颜色必须设为有效Web颜色字符',
'BadWidth' => '宽度必须设为有效值',
'Bandwidth' => '带宽',
'BandwidthHead' => 'Bandwidth', // This is the end of the bandwidth status on the top of the console, different in many language due to phrasing
'BlobPx' => 'Blob像素',
'BlobSizes' => 'Blob大小',
'Blobs' => 'Blobs',
@ -320,6 +321,12 @@ $SLANG = array(
'First' => '首先',
'FlippedHori' => '水平翻转',
'FlippedVert' => '垂直翻转',
'FnNone' => 'None', // Added 2013.08.16.
'FnMonitor' => 'Monitor', // Added 2013.08.16.
'FnModect' => 'Modect', // Added 2013.08.16.
'FnRecord' => 'Record', // Added 2013.08.16.
'FnMocord' => 'Mocord', // Added 2013.08.16.
'FnNodect' => 'Nodect', // Added 2013.08.16.
'Focus' => '聚焦',
'ForceAlarm' => '强制报警',
'Format' => '格式',
@ -463,6 +470,11 @@ $SLANG = array(
'Month' => '月',
'More' => 'More', // Added - 2011-06-16
'Move' => '移动',
'MtgDefault' => 'Default', // Added 2013.08.15.
'Mtg2widgrd' => '2-wide grid', // Added 2013.08.15.
'Mtg3widgrd' => '3-wide grid', // Added 2013.08.15.
'Mtg4widgrd' => '4-wide grid', // Added 2013.08.15.
'Mtg3widgrx' => '3-wide grid, scaled, enlarge on alarm', // Added 2013.08.15.
'MustBeGe' => '必须大于等于',
'MustBeLe' => '必须小于等于',
'MustConfirmPassword' => '您必须确认密码',
@ -631,6 +643,10 @@ $SLANG = array(
'TimeDelta' => '相对时间',
'TimeStamp' => '时间戳',
'Timeline' => '时间轴',
'TimelineTip1' => 'Pass your mouse over the graph to view a snapshot image and event details.', // Added 2013.08.15.
'TimelineTip2' => 'Click on the coloured sections of the graph, or the image, to view the event.', // Added 2013.08.15.
'TimelineTip3' => 'Click on the background to zoom in to a smaller time period based around your click.', // Added 2013.08.15.
'TimelineTip4' => 'Use the controls below to zoom out or navigate back and forward through the time range.', // Added 2013.08.15.
'Timestamp' => '时间戳',
'TimestampLabelFormat' => '时间戳标签格式',
'TimestampLabelX' => '时间戳标签 X',

View File

@ -152,6 +152,7 @@ $SLANG = array(
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => 'Rychlost sítì',
'BandwidthHead' => 'Bandwidth', // This is the end of the bandwidth status on the top of the console, different in many language due to phrasing
'BlobPx' => 'Znaèka Px',
'BlobSizes' => 'Velikost znaèky',
'Blobs' => 'Znaèky',
@ -320,6 +321,12 @@ $SLANG = array(
'First' => 'První',
'FlippedHori' => 'Pøeklopený vodorovnì',
'FlippedVert' => 'Pøeklopený svisle',
'FnNone' => 'None', // Added 2013.08.16.
'FnMonitor' => 'Monitor', // Added 2013.08.16.
'FnModect' => 'Modect', // Added 2013.08.16.
'FnRecord' => 'Record', // Added 2013.08.16.
'FnMocord' => 'Mocord', // Added 2013.08.16.
'FnNodect' => 'Nodect', // Added 2013.08.16.
'Focus' => 'Zaostøení',
'ForceAlarm' => 'Spustit alarm',
'Format' => 'Formát',
@ -463,6 +470,11 @@ $SLANG = array(
'Month' => 'Mìsíc',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Pohyb',
'MtgDefault' => 'Default', // Added 2013.08.15.
'Mtg2widgrd' => '2-wide grid', // Added 2013.08.15.
'Mtg3widgrd' => '3-wide grid', // Added 2013.08.15.
'Mtg4widgrd' => '4-wide grid', // Added 2013.08.15.
'Mtg3widgrx' => '3-wide grid, scaled, enlarge on alarm', // Added 2013.08.15.
'MustBeGe' => 'musí být vìt¹í nebo rovno ne¾',
'MustBeLe' => 'musí být men¹í nebo rovno ne¾',
'MustConfirmPassword' => 'Musíte potvrdit heslo',
@ -631,6 +643,10 @@ $SLANG = array(
'TimeDelta' => 'Delta èasu',
'TimeStamp' => 'Èasové razítko',
'Timeline' => 'Èasová linie',
'TimelineTip1' => 'Pass your mouse over the graph to view a snapshot image and event details.', // Added 2013.08.15.
'TimelineTip2' => 'Click on the coloured sections of the graph, or the image, to view the event.', // Added 2013.08.15.
'TimelineTip3' => 'Click on the background to zoom in to a smaller time period based around your click.', // Added 2013.08.15.
'TimelineTip4' => 'Use the controls below to zoom out or navigate back and forward through the time range.', // Added 2013.08.15.
'Timestamp' => 'Razítko',
'TimestampLabelFormat' => 'Formát èasového razítka',
'TimestampLabelX' => 'Èasové razítko X',

View File

@ -152,6 +152,7 @@ $SLANG = array(
'BadWebColour' => 'Die Webfarbe muss auf einen g&uuml;ltigen Farbwert eingestellt sein',
'BadWidth' => 'Die Breite muss auf einen g&uuml;ltigen Wert eingestellt sein',
'Bandwidth' => 'Bandbreite',
'BandwidthHead' => 'Bandwidth', // This is the end of the bandwidth status on the top of the console, different in many language due to phrasing
'BlobPx' => 'Blob-Pixel',
'BlobSizes' => 'Blobgr&ouml;&szlig;e',
'Blobs' => 'Blobs',
@ -320,6 +321,12 @@ $SLANG = array(
'First' => 'Erstes',
'FlippedHori' => 'Horizontal gespiegelt',
'FlippedVert' => 'Vertikal gespiegelt',
'FnNone' => 'None', // Added 2013.08.16.
'FnMonitor' => 'Monitor', // Added 2013.08.16.
'FnModect' => 'Modect', // Added 2013.08.16.
'FnRecord' => 'Record', // Added 2013.08.16.
'FnMocord' => 'Mocord', // Added 2013.08.16.
'FnNodect' => 'Nodect', // Added 2013.08.16.
'Focus' => 'Fokus',
'ForceAlarm' => 'Unbedingter Alarm',
'Format' => 'Format',
@ -463,6 +470,11 @@ $SLANG = array(
'Month' => 'Monat',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Bewegung',
'MtgDefault' => 'Default', // Added 2013.08.15.
'Mtg2widgrd' => '2-wide grid', // Added 2013.08.15.
'Mtg3widgrd' => '3-wide grid', // Added 2013.08.15.
'Mtg4widgrd' => '4-wide grid', // Added 2013.08.15.
'Mtg3widgrx' => '3-wide grid, scaled, enlarge on alarm', // Added 2013.08.15.
'MustBeGe' => 'muss groesser oder gleich sein wie',
'MustBeLe' => 'muss kleiner oder gleich sein wie',
'MustConfirmPassword' => 'Sie m&uuml;ssen das Passwort best&auml;tigen.',
@ -631,6 +643,10 @@ $SLANG = array(
'TimeDelta' => 'Zeitdifferenz',
'TimeStamp' => 'Zeitstempel',
'Timeline' => 'Zeitlinie',
'TimelineTip1' => 'Pass your mouse over the graph to view a snapshot image and event details.', // Added 2013.08.15.
'TimelineTip2' => 'Click on the coloured sections of the graph, or the image, to view the event.', // Added 2013.08.15.
'TimelineTip3' => 'Click on the background to zoom in to a smaller time period based around your click.', // Added 2013.08.15.
'TimelineTip4' => 'Use the controls below to zoom out or navigate back and forward through the time range.', // Added 2013.08.15.
'Timestamp' => 'Zeitstempel',
'TimestampLabelFormat' => 'Format des Zeitstempels',
'TimestampLabelX' => 'Zeitstempel-X',

View File

@ -153,6 +153,7 @@ $SLANG = array(
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => 'Båndbrede',
'BandwidthHead' => 'Bandwidth', // This is the end of the bandwidth status on the top of the console, different in many language due to phrasing
'BlobPx' => 'Blob Px',
'BlobSizes' => 'Blob Størelse',
'Blobs' => 'Blobs',
@ -321,6 +322,12 @@ $SLANG = array(
'First' => 'Første',
'FlippedHori' => 'Flipped Horizontally',
'FlippedVert' => 'Flipped Vertically',
'FnNone' => 'None', // Added 2013.08.16.
'FnMonitor' => 'Monitor', // Added 2013.08.16.
'FnModect' => 'Modect', // Added 2013.08.16.
'FnRecord' => 'Record', // Added 2013.08.16.
'FnMocord' => 'Mocord', // Added 2013.08.16.
'FnNodect' => 'Nodect', // Added 2013.08.16.
'Focus' => 'Fokus',
'ForceAlarm' => 'Tving Alarm',
'Format' => 'Format',
@ -464,6 +471,11 @@ $SLANG = array(
'Month' => 'Måned',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Flyt',
'MtgDefault' => 'Default', // Added 2013.08.15.
'Mtg2widgrd' => '2-wide grid', // Added 2013.08.15.
'Mtg3widgrd' => '3-wide grid', // Added 2013.08.15.
'Mtg4widgrd' => '4-wide grid', // Added 2013.08.15.
'Mtg3widgrx' => '3-wide grid, scaled, enlarge on alarm', // Added 2013.08.15.
'MustBeGe' => 'skal være støre end eller ligmed',
'MustBeLe' => 'Skal være mindre end eller ligmed',
'MustConfirmPassword' => 'Du skal konfimere password',
@ -632,6 +644,10 @@ $SLANG = array(
'TimeDelta' => 'Time Delta',
'TimeStamp' => 'Tids Stempel',
'Timeline' => 'Timeline',
'TimelineTip1' => 'Pass your mouse over the graph to view a snapshot image and event details.', // Added 2013.08.15.
'TimelineTip2' => 'Click on the coloured sections of the graph, or the image, to view the event.', // Added 2013.08.15.
'TimelineTip3' => 'Click on the background to zoom in to a smaller time period based around your click.', // Added 2013.08.15.
'TimelineTip4' => 'Use the controls below to zoom out or navigate back and forward through the time range.', // Added 2013.08.15.
'Timestamp' => 'Tidsstempel',
'TimestampLabelFormat' => 'Tidsstempel Mærkning´s Format',
'TimestampLabelX' => 'Tidsstempel Mærkning X',

View File

@ -162,6 +162,7 @@ $SLANG = array(
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => 'Bandwidth',
'BandwidthHead' => 'Bandwidth', // This is the end of the bandwidth status on the top of the console, different in many language due to phrasing
'BlobPx' => 'Blob Px',
'Blobs' => 'Blobs',
'BlobSizes' => 'Blob Sizes',
@ -324,6 +325,12 @@ $SLANG = array(
'First' => 'First',
'FlippedHori' => 'Flipped Horizontally',
'FlippedVert' => 'Flipped Vertically',
'FnNone' => 'None', // Added 2013.08.16.
'FnMonitor' => 'Monitor', // Added 2013.08.16.
'FnModect' => 'Modect', // Added 2013.08.16.
'FnRecord' => 'Record', // Added 2013.08.16.
'FnMocord' => 'Mocord', // Added 2013.08.16.
'FnNodect' => 'Nodect', // Added 2013.08.16.
'Focus' => 'Focus',
'ForceAlarm' => 'Force Alarm',
'Format' => 'Format',
@ -467,6 +474,11 @@ $SLANG = array(
'Montage' => 'Montage',
'Month' => 'Month',
'Move' => 'Move',
'MtgDefault' => 'Default', // Added 2013.08.15.
'Mtg2widgrd' => '2-wide grid', // Added 2013.08.15.
'Mtg3widgrd' => '3-wide grid', // Added 2013.08.15.
'Mtg4widgrd' => '4-wide grid', // Added 2013.08.15.
'Mtg3widgrx' => '3-wide grid, scaled, enlarge on alarm', // Added 2013.08.15.
'MustBeGe' => 'must be greater than or equal to',
'MustBeLe' => 'must be less than or equal to',
'MustConfirmPassword' => 'You must confirm the password',
@ -631,6 +643,10 @@ $SLANG = array(
'Tilt' => 'Tilt',
'TimeDelta' => 'Time Delta',
'Timeline' => 'Timeline',
'TimelineTip1' => 'Pass your mouse over the graph to view a snapshot image and event details.', // Added 2013.08.15.
'TimelineTip2' => 'Click on the coloured sections of the graph, or the image, to view the event.', // Added 2013.08.15.
'TimelineTip3' => 'Click on the background to zoom in to a smaller time period based around your click.', // Added 2013.08.15.
'TimelineTip4' => 'Use the controls below to zoom out or navigate back and forward through the time range.', // Added 2013.08.15.
'TimestampLabelFormat' => 'Timestamp Label Format',
'TimestampLabelX' => 'Timestamp Label X',
'TimestampLabelY' => 'Timestamp Label Y',

View File

@ -103,6 +103,7 @@ $SLANG = array(
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => 'Velocidad',
'BandwidthHead' => 'Bandwidth', // This is the end of the bandwidth status on the top of the console, different in many language due to phrasing
'BlobPx' => 'Blob Px',
'BlobSizes' => 'Blob Sizes',
'Blobs' => 'Blobs',
@ -271,6 +272,12 @@ $SLANG = array(
'First' => 'Primero',
'FlippedHori' => 'Flipped Horizontally',
'FlippedVert' => 'Flipped Vertically',
'FnNone' => 'None', // Added 2013.08.16.
'FnMonitor' => 'Monitor', // Added 2013.08.16.
'FnModect' => 'Modect', // Added 2013.08.16.
'FnRecord' => 'Record', // Added 2013.08.16.
'FnMocord' => 'Mocord', // Added 2013.08.16.
'FnNodect' => 'Nodect', // Added 2013.08.16.
'Focus' => 'Focus',
'ForceAlarm' => 'Forzar Alarma',
'Format' => 'Format',
@ -414,6 +421,11 @@ $SLANG = array(
'Month' => 'Mes',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Move',
'MtgDefault' => 'Default', // Added 2013.08.15.
'Mtg2widgrd' => '2-wide grid', // Added 2013.08.15.
'Mtg3widgrd' => '3-wide grid', // Added 2013.08.15.
'Mtg4widgrd' => '4-wide grid', // Added 2013.08.15.
'Mtg3widgrx' => '3-wide grid, scaled, enlarge on alarm', // Added 2013.08.15.
'MustBeGe' => 'Debe ser mayor o igual que',
'MustBeLe' => 'Debe ser menor o igual que',
'MustConfirmPassword' => 'Debe confirmar la contraseña',
@ -582,6 +594,10 @@ $SLANG = array(
'TimeDelta' => 'Hora Delta',
'TimeStamp' => 'Etiqueta Hora',
'Timeline' => 'Timeline',
'TimelineTip1' => 'Pass your mouse over the graph to view a snapshot image and event details.', // Added 2013.08.15.
'TimelineTip2' => 'Click on the coloured sections of the graph, or the image, to view the event.', // Added 2013.08.15.
'TimelineTip3' => 'Click on the background to zoom in to a smaller time period based around your click.', // Added 2013.08.15.
'TimelineTip4' => 'Use the controls below to zoom out or navigate back and forward through the time range.', // Added 2013.08.15.
'Timestamp' => 'Etiqueta Hora',
'TimestampLabelFormat' => 'Formato Etiqueta Hora',
'TimestampLabelX' => 'Eje X Etiqueta Hora',

View File

@ -150,6 +150,7 @@ $SLANG = array(
'BadWebColour' => 'El color web debe ser una cadena de color web válida',
'BadWidth' => 'El ancho debe tener un valor válido',
'Bandwidth' => 'Ancho de banda',
'BandwidthHead' => 'Bandwidth', // This is the end of the bandwidth status on the top of the console, different in many language due to phrasing
'BlobPx' => 'Px gota',
'BlobSizes' => 'Tamaño gotas',
'Blobs' => 'Gotas',
@ -317,6 +318,12 @@ $SLANG = array(
'First' => 'Primero',
'FlippedHori' => 'Girado horizontalmente',
'FlippedVert' => 'Girado verticalmente',
'FnNone' => 'None', // Added 2013.08.16.
'FnMonitor' => 'Monitor', // Added 2013.08.16.
'FnModect' => 'Modect', // Added 2013.08.16.
'FnRecord' => 'Record', // Added 2013.08.16.
'FnMocord' => 'Mocord', // Added 2013.08.16.
'FnNodect' => 'Nodect', // Added 2013.08.16.
'Focus' => 'Enfoque',
'ForceAlarm' => 'Forzar alama',
'Format' => 'Formato',
@ -460,6 +467,11 @@ $SLANG = array(
'Month' => 'Mes',
'More' => 'Más',
'Move' => 'Mover',
'MtgDefault' => 'Default', // Added 2013.08.15.
'Mtg2widgrd' => '2-wide grid', // Added 2013.08.15.
'Mtg3widgrd' => '3-wide grid', // Added 2013.08.15.
'Mtg4widgrd' => '4-wide grid', // Added 2013.08.15.
'Mtg3widgrx' => '3-wide grid, scaled, enlarge on alarm', // Added 2013.08.15.
'MustBeGe' => 'debe ser mayor o igual que',
'MustBeLe' => 'debe ser menor o igual que',
'MustConfirmPassword' => 'Debe confirmar la contraseña',
@ -627,6 +639,10 @@ $SLANG = array(
'TimeDelta' => 'Delta del tiempo',
'TimeStamp' => 'Marca de tiempo',
'Timeline' => 'Línea de tiempo',
'TimelineTip1' => 'Pass your mouse over the graph to view a snapshot image and event details.', // Added 2013.08.15.
'TimelineTip2' => 'Click on the coloured sections of the graph, or the image, to view the event.', // Added 2013.08.15.
'TimelineTip3' => 'Click on the background to zoom in to a smaller time period based around your click.', // Added 2013.08.15.
'TimelineTip4' => 'Use the controls below to zoom out or navigate back and forward through the time range.', // Added 2013.08.15.
'Timestamp' => 'Marca de tiempo',
'TimestampLabelFormat' => 'Formato de hora multinacional',
'TimestampLabelX' => 'Etiqueta de tiempo X',

View File

@ -148,6 +148,7 @@ $SLANG = array(
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => 'Ribalaius',
'BandwidthHead' => 'Bandwidth', // This is the end of the bandwidth status on the top of the console, different in many language due to phrasing
'BlobPx' => 'Blob Px',
'BlobSizes' => 'Blob Sizes',
'Blobs' => 'Blobs',
@ -315,6 +316,12 @@ $SLANG = array(
'First' => 'Esimene',
'FlippedHori' => 'Flipped Horizontally',
'FlippedVert' => 'Flipped Vertically',
'FnNone' => 'None', // Added 2013.08.16.
'FnMonitor' => 'Monitor', // Added 2013.08.16.
'FnModect' => 'Modect', // Added 2013.08.16.
'FnRecord' => 'Record', // Added 2013.08.16.
'FnMocord' => 'Mocord', // Added 2013.08.16.
'FnNodect' => 'Nodect', // Added 2013.08.16.
'Focus' => 'Fookus',
'ForceAlarm' => 'Force Alarm',
'Format' => 'Format',
@ -458,6 +465,11 @@ $SLANG = array(
'Month' => 'Kuus',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Move',
'MtgDefault' => 'Default', // Added 2013.08.15.
'Mtg2widgrd' => '2-wide grid', // Added 2013.08.15.
'Mtg3widgrd' => '3-wide grid', // Added 2013.08.15.
'Mtg4widgrd' => '4-wide grid', // Added 2013.08.15.
'Mtg3widgrx' => '3-wide grid, scaled, enlarge on alarm', // Added 2013.08.15.
'MustBeGe' => 'must be greater than or equal to',
'MustBeLe' => 'must be less than or equal to',
'MustConfirmPassword' => 'You must confirm the password',
@ -626,6 +638,10 @@ $SLANG = array(
'TimeDelta' => 'Time Delta',
'TimeStamp' => 'Time Stamp',
'Timeline' => 'Timeline',
'TimelineTip1' => 'Pass your mouse over the graph to view a snapshot image and event details.', // Added 2013.08.15.
'TimelineTip2' => 'Click on the coloured sections of the graph, or the image, to view the event.', // Added 2013.08.15.
'TimelineTip3' => 'Click on the background to zoom in to a smaller time period based around your click.', // Added 2013.08.15.
'TimelineTip4' => 'Use the controls below to zoom out or navigate back and forward through the time range.', // Added 2013.08.15.
'Timestamp' => 'Timestamp',
'TimestampLabelFormat' => 'Timestamp Label Format',
'TimestampLabelX' => 'Timestamp Label X',

View File

@ -152,6 +152,7 @@ $SLANG = array(
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => 'Bande-pass.',
'BandwidthHead' => 'Bandwidth', // This is the end of the bandwidth status on the top of the console, different in many language due to phrasing
'BlobPx' => 'Px forme',
'BlobSizes' => 'Taille forme',
'Blobs' => 'Formes',
@ -320,6 +321,12 @@ $SLANG = array(
'First' => 'Prem.',
'FlippedHori' => 'Flipped Horizontally',
'FlippedVert' => 'Flipped Vertically',
'FnNone' => 'None', // Added 2013.08.16.
'FnMonitor' => 'Monitor', // Added 2013.08.16.
'FnModect' => 'Modect', // Added 2013.08.16.
'FnRecord' => 'Record', // Added 2013.08.16.
'FnMocord' => 'Mocord', // Added 2013.08.16.
'FnNodect' => 'Nodect', // Added 2013.08.16.
'Focus' => 'Focus',
'ForceAlarm' => 'Force Alarme',
'Format' => 'Format',
@ -463,6 +470,11 @@ $SLANG = array(
'Month' => 'Mois',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Move',
'MtgDefault' => 'Default', // Added 2013.08.15.
'Mtg2widgrd' => '2-wide grid', // Added 2013.08.15.
'Mtg3widgrd' => '3-wide grid', // Added 2013.08.15.
'Mtg4widgrd' => '4-wide grid', // Added 2013.08.15.
'Mtg3widgrx' => '3-wide grid, scaled, enlarge on alarm', // Added 2013.08.15.
'MustBeGe' => 'doit être sup. ou égal à',
'MustBeLe' => 'doit être inf. ou égal à',
'MustConfirmPassword' => 'Confirmez le mot de passe',
@ -631,6 +643,10 @@ $SLANG = array(
'TimeDelta' => 'Time Delta',
'TimeStamp' => 'Time Stamp',
'Timeline' => 'Timeline',
'TimelineTip1' => 'Pass your mouse over the graph to view a snapshot image and event details.', // Added 2013.08.15.
'TimelineTip2' => 'Click on the coloured sections of the graph, or the image, to view the event.', // Added 2013.08.15.
'TimelineTip3' => 'Click on the background to zoom in to a smaller time period based around your click.', // Added 2013.08.15.
'TimelineTip4' => 'Use the controls below to zoom out or navigate back and forward through the time range.', // Added 2013.08.15.
'Timestamp' => 'Timestamp',
'TimestampLabelFormat' => 'Timestamp Label Format',
'TimestampLabelX' => 'Timestamp Label X',

View File

@ -152,6 +152,7 @@ $SLANG = array(
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => 'øåçá ôñ',
'BandwidthHead' => 'Bandwidth', // This is the end of the bandwidth status on the top of the console, different in many language due to phrasing
'BlobPx' => 'Blob Px',
'BlobSizes' => 'Blob Sizes',
'Blobs' => 'Blobs',
@ -320,6 +321,12 @@ $SLANG = array(
'First' => 'äøàùåï',
'FlippedHori' => 'Flipped Horizontally',
'FlippedVert' => 'Flipped Vertically',
'FnNone' => 'None', // Added 2013.08.16.
'FnMonitor' => 'Monitor', // Added 2013.08.16.
'FnModect' => 'Modect', // Added 2013.08.16.
'FnRecord' => 'Record', // Added 2013.08.16.
'FnMocord' => 'Mocord', // Added 2013.08.16.
'FnNodect' => 'Nodect', // Added 2013.08.16.
'Focus' => 'äúî÷ã',
'ForceAlarm' => 'äëøç àæò÷ä',
'Format' => 'úáðéú',
@ -463,6 +470,11 @@ $SLANG = array(
'Month' => 'çåãù',
'More' => 'More', // Added - 2011-06-16
'Move' => 'äææ',
'MtgDefault' => 'Default', // Added 2013.08.15.
'Mtg2widgrd' => '2-wide grid', // Added 2013.08.15.
'Mtg3widgrd' => '3-wide grid', // Added 2013.08.15.
'Mtg4widgrd' => '4-wide grid', // Added 2013.08.15.
'Mtg3widgrx' => '3-wide grid, scaled, enlarge on alarm', // Added 2013.08.15.
'MustBeGe' => 'must be greater than or equal to',
'MustBeLe' => 'must be less than or equal to',
'MustConfirmPassword' => 'You must confirm the password',
@ -631,6 +643,10 @@ $SLANG = array(
'TimeDelta' => 'ùéðåé áæîï',
'TimeStamp' => 'çåúîú æîï',
'Timeline' => '÷å æîï',
'TimelineTip1' => 'Pass your mouse over the graph to view a snapshot image and event details.', // Added 2013.08.15.
'TimelineTip2' => 'Click on the coloured sections of the graph, or the image, to view the event.', // Added 2013.08.15.
'TimelineTip3' => 'Click on the background to zoom in to a smaller time period based around your click.', // Added 2013.08.15.
'TimelineTip4' => 'Use the controls below to zoom out or navigate back and forward through the time range.', // Added 2013.08.15.
'Timestamp' => 'çåúîú æîï',
'TimestampLabelFormat' => 'Timestamp Label Format',
'TimestampLabelX' => 'Timestamp Label X',

View File

@ -17,9 +17,9 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
//
// ZoneMinder Hungarian Translation by szimszon at oregpreshaz dot eu, robi
// version: 0.8 - 2013.08.15. - frissítés 1.26.0-hoz (robi)
// version: 0.8 - 2013.08.16. - frissítés 1.26.0-hoz (robi)
// version: 0.7 - 2013.05.12. - frissítés 1.25.0-hoz (robi)
// version: 0.6 - 2009.06.21. - frissítés 1.24.2-höz (robi)
// version: 0.5 - 2007.12.30. - frissítés 1.23.1-hez (robi)
@ -27,7 +27,25 @@
// version: 0.3 - 2006.04.27. - fordítás befejezése, elrendezése elféréshez (robi)
// version: 0.2 - 2006.12.05. - par javitas
// version: 0.1 - 2006.11.27. - sok typoval es par leforditatlan resszel
//
// To enable correct Hungarian locales, make sure to install hu_HU locale on your system.
//
// On Ubuntu 12.04 do it like this:
//
// locale -a
// - to see what's installed
//
// cat /usr/share/i18n/SUPPORTED | grep hu
// - to check the possibility of installation
//
// sudo locale-gen hu_HU
// sudo locale-gen hu_HU.utf8
// - to install
//
// sudo service apache2 restart
// - to make PHP aware of it
//
//
// Notes for Translators
// 0. Get some credit, put your name in the line above (optional)
// 1. When composing the language tokens in your language you should try and keep to roughly the
@ -78,8 +96,21 @@ header( "Content-Type: text/html; charset=utf-8" );
//setlocale( LC_CTYPE, 'hu_HU'); //Character class settings 4.3.0 and after
//setlocale( LC_TIME, 'hu_HU'); //Date and time formatting 4.3.0 and after
setlocale( LC_CTYPE, 'hu_HU');
setlocale( LC_TIME, 'hu_HU' );
setlocale( LC_CTYPE, 'hu_HU.UTF-8');
setlocale( LC_TIME, 'hu_HU.UTF-8' );
//
// Date and time formats, specific to this language
//
define( "DATE_FMT_CONSOLE_LONG", "%Y. %b. %e. %A, %H:%M" ); // This is the main console date/time, date() or strftime() format
define( "DATE_FMT_CONSOLE_SHORT", "%H:%M" ); // This is the xHTML console date/time, date() or strftime() format
define( "STRF_FMT_DATETIME", "%Y. %b. %e., %H:%M" ); // Strftime locale aware format for dates with times
define( "STRF_FMT_DATE", "%Y. %b. %e." ); // Strftime locale aware format for dates without times
define( "STRF_FMT_TIME", "%H:%M:%S" ); // Strftime locale aware format for times without dates
define( "STRF_FMT_DATETIME_SHORT", "%y/%m/%d %H:%M:%S" ); // Strftime shorter format for dates with time
define( "STRF_FMT_DATETIME_SHORTER", "%m.%d. %H:%M:%S" ); // Strftime shorter format for dates with time, used where space is tight (events list)
// Simple String Replacements
$SLANG = array(
@ -133,7 +164,7 @@ $SLANG = array(
'AutoStopTimeout' => 'Auto megállási idő túllépés',
'Available' => 'Elérhető',
'AvgBrScore' => 'Átlag<br/>érték',
'Background' => 'Háttérben',
'Background' => 'Háttérben futó',
'BackgroundFilter' => 'Szűrő automatikus futtatása a háttérben',
'BadAlarmFrameCount' => 'Riasztáshoz szükséges képkockák száma legyen legalább 1',
'BadAlarmMaxFPS' => 'Maximális FPS riasztott állapotban legyen megadva',
@ -161,7 +192,8 @@ $SLANG = array(
'BadWarmupCount' => 'Bemelegítő képkockák száma legyen legalább 0',
'BadWebColour' => 'Szín az idővonal ablakban legyen egy érvényes HTML szín-kód',
'BadWidth' => 'A képszélesség legyen érvényes érték képpontban megadva',
'Bandwidth' => 'sávszélességre',
'Bandwidth' => 'Sávszélesség',
'BandwidthHead' => 'sávszélességre',
'BlobPx' => 'Blob képpont',
'BlobSizes' => 'Blob méretek',
'Blobs' => 'Blob-ok',
@ -329,6 +361,12 @@ $SLANG = array(
'First' => 'Első',
'FlippedHori' => 'Vízszintes tükrözés',
'FlippedVert' => 'Függőleges tükrözés',
'FnNone' => 'Letiltva',
'FnMonitor' => 'Csak monitorozás',
'FnModect' => 'Mozgásérzékelő',
'FnRecord' => 'Folyamatos felvétel',
'FnMocord' => 'Folyamatos mozgással',
'FnNodect' => 'Külső érzékelő',
'Focus' => 'Fókusz',
'ForceAlarm' => 'Kézi riasztás',
'Format' => 'Formátum',
@ -472,6 +510,11 @@ $SLANG = array(
'Month' => 'Hónapban',
'More' => 'Több',
'Move' => 'Mozgás',
'MtgDefault' => 'Böngésző alapértelmezése szerint',
'Mtg2widgrd' => '2 oszlopban',
'Mtg3widgrd' => '3 oszlopban',
'Mtg4widgrd' => '4 oszlopban',
'Mtg3widgrx' => '3 oszlopban skálázva, riasztás esetén kinagyítva',
'MustBeGe' => 'nagyobbnak vagy egyenlőnek kell lennie',
'MustBeLe' => 'kisebbnek vagy egyenlőnek kell lennie',
'MustConfirmPassword' => 'Meg kell erősítenie a jelszót',
@ -560,7 +603,7 @@ $SLANG = array(
'RemoteMethod' => 'Hálózati cím mód',
'RemoteProtocol' => 'Hálózati protokoll',
'Rename' => 'Átnevezés',
'Replay' => 'Esemény visszajátszás',
'Replay' => 'Események visszajátszása',
'ReplayAll' => 'Mindet',
'ReplayGapless' => 'Szünet nélkülieket',
'ReplaySingle' => 'Egyenként',
@ -639,6 +682,10 @@ $SLANG = array(
'TimeDelta' => 'Idő változás',
'TimeStamp' => 'Időbélyeg',
'Timeline' => 'Idővonal',
'TimelineTip1' => 'Mozgassa az egeret a grafikon fölött, hogy képet és adatokat láthasson az eseményről.',
'TimelineTip2' => 'Kattintson a grafikon színes részére, vagy a pillanatképre, hogy láthassa a részleteket.',
'TimelineTip3' => 'Kattintson a grafikon hátterére, hogy az időskálába nagyítson tetszőleges időpontban.',
'TimelineTip4' => 'Használja az alábbi gombokat hogy az időskálát csúsztassa, vagy kicsinyítse.',
'Timestamp' => 'Időbélyeg',
'TimestampLabelFormat' => 'Időbélyeg formátuma',
'TimestampLabelX' => 'Elhelyezés X pozició',
@ -649,7 +696,7 @@ $SLANG = array(
'TotalBrScore' => 'Össz.<br/>pontszám',
'TrackDelay' => 'Késleltetés követése',
'TrackMotion' => 'Mozgás követése',
'Triggers' => 'Egyéb előidézők',
'Triggers' => 'Külső érzékelők (triggers)',
'TurboPanSpeed' => 'Jobb-bal gyorssebesség',
'TurboTiltSpeed' => 'Fel-le gyorssebesség',
'Type' => 'Típus',

View File

@ -157,6 +157,7 @@ $SLANG = array(
'BadWebColour' => 'L\'identificativo del colore deve essere una stringa valida',
'BadWidth' => 'La larghezza deve essere impostata con un valore valido',
'Bandwidth' => 'Banda',
'BandwidthHead' => 'Bandwidth', // This is the end of the bandwidth status on the top of the console, different in many language due to phrasing
'BlobPx' => 'Blob Px',
'BlobSizes' => 'Dimensioni Blob',
'Blobs' => 'Blobs',
@ -325,6 +326,12 @@ $SLANG = array(
'First' => 'Primo',
'FlippedHori' => 'ribaltato orizzontale',
'FlippedVert' => 'ribaltato verticale',
'FnNone' => 'None', // Added 2013.08.16.
'FnMonitor' => 'Monitor', // Added 2013.08.16.
'FnModect' => 'Modect', // Added 2013.08.16.
'FnRecord' => 'Record', // Added 2013.08.16.
'FnMocord' => 'Mocord', // Added 2013.08.16.
'FnNodect' => 'Nodect', // Added 2013.08.16.
'Focus' => 'Focus',
'ForceAlarm' => 'Forza Allarme',
'Format' => 'Formato',
@ -468,6 +475,11 @@ $SLANG = array(
'Month' => 'Mese',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Sposta',
'MtgDefault' => 'Default', // Added 2013.08.15.
'Mtg2widgrd' => '2-wide grid', // Added 2013.08.15.
'Mtg3widgrd' => '3-wide grid', // Added 2013.08.15.
'Mtg4widgrd' => '4-wide grid', // Added 2013.08.15.
'Mtg3widgrx' => '3-wide grid, scaled, enlarge on alarm', // Added 2013.08.15.
'MustBeGe' => 'deve essere superiore a',
'MustBeLe' => 'deve essere inferiore o pari a',
'MustConfirmPassword' => 'Devi confermare la password',
@ -636,6 +648,10 @@ $SLANG = array(
'TimeDelta' => 'Tempo di Delta',
'TimeStamp' => 'Time Stamp',
'Timeline' => 'Linea Temporale',
'TimelineTip1' => 'Pass your mouse over the graph to view a snapshot image and event details.', // Added 2013.08.15.
'TimelineTip2' => 'Click on the coloured sections of the graph, or the image, to view the event.', // Added 2013.08.15.
'TimelineTip3' => 'Click on the background to zoom in to a smaller time period based around your click.', // Added 2013.08.15.
'TimelineTip4' => 'Use the controls below to zoom out or navigate back and forward through the time range.', // Added 2013.08.15.
'Timestamp' => 'Timestamp',
'TimestampLabelFormat' => 'Formato etichetta timestamp',
'TimestampLabelX' => 'coordinata X etichetta',

View File

@ -152,6 +152,7 @@ $SLANG = array(
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => '帯域幅',
'BandwidthHead' => 'Bandwidth', // This is the end of the bandwidth status on the top of the console, different in many language due to phrasing
'BlobPx' => 'ブロブ Px',
'BlobSizes' => 'ブロブ サイズ',
'Blobs' => 'ブロブ',
@ -320,6 +321,12 @@ $SLANG = array(
'First' => '最初',
'FlippedHori' => 'Flipped Horizontally',
'FlippedVert' => 'Flipped Vertically',
'FnNone' => 'None', // Added 2013.08.16.
'FnMonitor' => 'Monitor', // Added 2013.08.16.
'FnModect' => 'Modect', // Added 2013.08.16.
'FnRecord' => 'Record', // Added 2013.08.16.
'FnMocord' => 'Mocord', // Added 2013.08.16.
'FnNodect' => 'Nodect', // Added 2013.08.16.
'Focus' => 'Focus',
'ForceAlarm' => '強制アラーム',
'Format' => 'Format',
@ -463,6 +470,11 @@ $SLANG = array(
'Month' => '月',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Move',
'MtgDefault' => 'Default', // Added 2013.08.15.
'Mtg2widgrd' => '2-wide grid', // Added 2013.08.15.
'Mtg3widgrd' => '3-wide grid', // Added 2013.08.15.
'Mtg4widgrd' => '4-wide grid', // Added 2013.08.15.
'Mtg3widgrx' => '3-wide grid, scaled, enlarge on alarm', // Added 2013.08.15.
'MustBeGe' => '同等か以上でなければいけない',
'MustBeLe' => '同等か以下でなければいけない',
'MustConfirmPassword' => 'パスワードの確認をしてください',
@ -631,6 +643,10 @@ $SLANG = array(
'TimeDelta' => 'デルタ タイム',
'TimeStamp' => 'タイム スタンプ',
'Timeline' => 'Timeline',
'TimelineTip1' => 'Pass your mouse over the graph to view a snapshot image and event details.', // Added 2013.08.15.
'TimelineTip2' => 'Click on the coloured sections of the graph, or the image, to view the event.', // Added 2013.08.15.
'TimelineTip3' => 'Click on the background to zoom in to a smaller time period based around your click.', // Added 2013.08.15.
'TimelineTip4' => 'Use the controls below to zoom out or navigate back and forward through the time range.', // Added 2013.08.15.
'Timestamp' => 'タイムスタンプ',
'TimestampLabelFormat' => 'タイムスタンプ ラベル フォーマット',
'TimestampLabelX' => 'タイムスタンプ ラベル X',

View File

@ -150,6 +150,7 @@ $SLANG = array(
'BadWebColour' => 'Web kleur moeten een geldige webkleurwaarde bevatten',
'BadWidth' => 'Breedte moet ingevuld worden',
'Bandwidth' => 'Bandbreedte',
'BandwidthHead' => 'Bandwidth', // This is the end of the bandwidth status on the top of the console, different in many language due to phrasing
'BlobPx' => 'Blob px',
'BlobSizes' => 'Blob grootte',
'Blobs' => 'Blobs',
@ -317,6 +318,12 @@ $SLANG = array(
'First' => 'Eerste',
'FlippedHori' => 'Horizontaal gedraait',
'FlippedVert' => 'Vertikaal gedraait',
'FnNone' => 'None', // Added 2013.08.16.
'FnMonitor' => 'Monitor', // Added 2013.08.16.
'FnModect' => 'Modect', // Added 2013.08.16.
'FnRecord' => 'Record', // Added 2013.08.16.
'FnMocord' => 'Mocord', // Added 2013.08.16.
'FnNodect' => 'Nodect', // Added 2013.08.16.
'Focus' => 'Focus',
'ForceAlarm' => 'Forceeer alarm',
'Format' => 'Formaat',
@ -460,6 +467,11 @@ $SLANG = array(
'Month' => 'Maand',
'More' => 'Meer', // Added - 2011-06-16
'Move' => 'Verplaats',
'MtgDefault' => 'Default', // Added 2013.08.15.
'Mtg2widgrd' => '2-wide grid', // Added 2013.08.15.
'Mtg3widgrd' => '3-wide grid', // Added 2013.08.15.
'Mtg4widgrd' => '4-wide grid', // Added 2013.08.15.
'Mtg3widgrx' => '3-wide grid, scaled, enlarge on alarm', // Added 2013.08.15.
'MustBeGe' => 'Moet groter zijn of gelijk aan',
'MustBeLe' => 'Moet kleiner zijn of gelijk aan',
'MustConfirmPassword' => 'Je moet je wachtwoord bevestigen',
@ -627,6 +639,10 @@ $SLANG = array(
'TimeDelta' => 'Tijd Delta',
'TimeStamp' => 'Tijdstempel',
'Timeline' => 'Tijdslijn',
'TimelineTip1' => 'Pass your mouse over the graph to view a snapshot image and event details.', // Added 2013.08.15.
'TimelineTip2' => 'Click on the coloured sections of the graph, or the image, to view the event.', // Added 2013.08.15.
'TimelineTip3' => 'Click on the background to zoom in to a smaller time period based around your click.', // Added 2013.08.15.
'TimelineTip4' => 'Use the controls below to zoom out or navigate back and forward through the time range.', // Added 2013.08.15.
'Timestamp' => 'Tijdstempel',
'TimestampLabelFormat' => 'Tijdstempel Label Format',
'TimestampLabelX' => 'Tijdstempel Label X',

View File

@ -152,6 +152,7 @@ $SLANG = array(
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => 'przepustowo¶æ',
'BandwidthHead' => 'Bandwidth', // This is the end of the bandwidth status on the top of the console, different in many language due to phrasing
'BlobPx' => 'Plamka Px',
'BlobSizes' => 'Rozmiary plamek',
'Blobs' => 'Plamki',
@ -320,6 +321,12 @@ $SLANG = array(
'First' => 'Pierwszy',
'FlippedHori' => 'Flipped Horizontally',
'FlippedVert' => 'Flipped Vertically',
'FnNone' => 'None', // Added 2013.08.16.
'FnMonitor' => 'Monitor', // Added 2013.08.16.
'FnModect' => 'Modect', // Added 2013.08.16.
'FnRecord' => 'Record', // Added 2013.08.16.
'FnMocord' => 'Mocord', // Added 2013.08.16.
'FnNodect' => 'Nodect', // Added 2013.08.16.
'Focus' => 'Focus',
'ForceAlarm' => 'Wymu¶ alarm',
'Format' => 'Format',
@ -463,6 +470,11 @@ $SLANG = array(
'Month' => 'Miesi±c',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Move',
'MtgDefault' => 'Default', // Added 2013.08.15.
'Mtg2widgrd' => '2-wide grid', // Added 2013.08.15.
'Mtg3widgrd' => '3-wide grid', // Added 2013.08.15.
'Mtg4widgrd' => '4-wide grid', // Added 2013.08.15.
'Mtg3widgrx' => '3-wide grid, scaled, enlarge on alarm', // Added 2013.08.15.
'MustBeGe' => 'musi byæ wiêksze lub równe od',
'MustBeLe' => 'musi byæ mniejsze lub równe od',
'MustConfirmPassword' => 'Musisz potwierdziæ has³o',
@ -631,6 +643,10 @@ $SLANG = array(
'TimeDelta' => 'Ró¿nica czasu',
'TimeStamp' => 'Pieczêæ czasu',
'Timeline' => 'Timeline',
'TimelineTip1' => 'Pass your mouse over the graph to view a snapshot image and event details.', // Added 2013.08.15.
'TimelineTip2' => 'Click on the coloured sections of the graph, or the image, to view the event.', // Added 2013.08.15.
'TimelineTip3' => 'Click on the background to zoom in to a smaller time period based around your click.', // Added 2013.08.15.
'TimelineTip4' => 'Use the controls below to zoom out or navigate back and forward through the time range.', // Added 2013.08.15.
'Timestamp' => 'Czas',
'TimestampLabelFormat' => 'Format etykiety czasu',
'TimestampLabelX' => 'Wsp. X etykiety czasu',

View File

@ -92,6 +92,7 @@ $SLANG = array(
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => 'Larg/Banda',
'BandwidthHead' => 'Bandwidth', // This is the end of the bandwidth status on the top of the console, different in many language due to phrasing
'BlobPx' => 'Px Blob',
'BlobSizes' => 'Tam Blob',
'Blobs' => 'Blobs',
@ -260,6 +261,12 @@ $SLANG = array(
'First' => 'Primeiro',
'FlippedHori' => 'Flipped Horizontally',
'FlippedVert' => 'Flipped Vertically',
'FnNone' => 'None', // Added 2013.08.16.
'FnMonitor' => 'Monitor', // Added 2013.08.16.
'FnModect' => 'Modect', // Added 2013.08.16.
'FnRecord' => 'Record', // Added 2013.08.16.
'FnMocord' => 'Mocord', // Added 2013.08.16.
'FnNodect' => 'Nodect', // Added 2013.08.16.
'Focus' => 'Focus',
'ForceAlarm' => 'Forçar Alarme',
'Format' => 'Format',
@ -403,6 +410,11 @@ $SLANG = array(
'Month' => 'Mês',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Move',
'MtgDefault' => 'Default', // Added 2013.08.15.
'Mtg2widgrd' => '2-wide grid', // Added 2013.08.15.
'Mtg3widgrd' => '3-wide grid', // Added 2013.08.15.
'Mtg4widgrd' => '4-wide grid', // Added 2013.08.15.
'Mtg3widgrx' => '3-wide grid, scaled, enlarge on alarm', // Added 2013.08.15.
'MustBeGe' => 'deve ser maior ou igual a',
'MustBeLe' => 'deve ser menor ou igual a',
'MustConfirmPassword' => 'Voce deve Confirmar a senha',
@ -571,6 +583,10 @@ $SLANG = array(
'TimeDelta' => 'Tempo Delta',
'TimeStamp' => 'Tempo',
'Timeline' => 'Timeline',
'TimelineTip1' => 'Pass your mouse over the graph to view a snapshot image and event details.', // Added 2013.08.15.
'TimelineTip2' => 'Click on the coloured sections of the graph, or the image, to view the event.', // Added 2013.08.15.
'TimelineTip3' => 'Click on the background to zoom in to a smaller time period based around your click.', // Added 2013.08.15.
'TimelineTip4' => 'Use the controls below to zoom out or navigate back and forward through the time range.', // Added 2013.08.15.
'Timestamp' => 'Tempo',
'TimestampLabelFormat' => 'Formato de etiqueta de tempo',
'TimestampLabelX' => 'posição de etiqueta X',

View File

@ -123,6 +123,7 @@ $SLANG = array(
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => 'La&#355;ime de band&#259;',
'BandwidthHead' => 'Bandwidth', // This is the end of the bandwidth status on the top of the console, different in many language due to phrasing
'BlobPx' => 'Blob Px',
'BlobSizes' => 'Blob Sizes',
'Blobs' => 'Blobs',
@ -291,6 +292,12 @@ $SLANG = array(
'First' => 'First',
'FlippedHori' => 'Flipped Horizontally',
'FlippedVert' => 'Flipped Vertically',
'FnNone' => 'None', // Added 2013.08.16.
'FnMonitor' => 'Monitor', // Added 2013.08.16.
'FnModect' => 'Modect', // Added 2013.08.16.
'FnRecord' => 'Record', // Added 2013.08.16.
'FnMocord' => 'Mocord', // Added 2013.08.16.
'FnNodect' => 'Nodect', // Added 2013.08.16.
'Focus' => 'Focalizare',
'ForceAlarm' => 'Alarm&#259; for&#355;at&#259;',
'Format' => 'Format',
@ -434,6 +441,11 @@ $SLANG = array(
'Month' => 'Luna',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Mi&#351;care',
'MtgDefault' => 'Default', // Added 2013.08.15.
'Mtg2widgrd' => '2-wide grid', // Added 2013.08.15.
'Mtg3widgrd' => '3-wide grid', // Added 2013.08.15.
'Mtg4widgrd' => '4-wide grid', // Added 2013.08.15.
'Mtg3widgrx' => '3-wide grid, scaled, enlarge on alarm', // Added 2013.08.15.
'MustBeGe' => 'trebuie sa fie mai mare sau egal cu',
'MustBeLe' => 'trebuie sa fie mai mic sau egal cu',
'MustConfirmPassword' => 'Trebuie sa confirmati parola',
@ -602,6 +614,10 @@ $SLANG = array(
'TimeDelta' => 'Time Delta',
'TimeStamp' => 'Format timp',
'Timeline' => 'Timeline',
'TimelineTip1' => 'Pass your mouse over the graph to view a snapshot image and event details.', // Added 2013.08.15.
'TimelineTip2' => 'Click on the coloured sections of the graph, or the image, to view the event.', // Added 2013.08.15.
'TimelineTip3' => 'Click on the background to zoom in to a smaller time period based around your click.', // Added 2013.08.15.
'TimelineTip4' => 'Use the controls below to zoom out or navigate back and forward through the time range.', // Added 2013.08.15.
'Timestamp' => 'Format&nbsp;timp',
'TimestampLabelFormat' => 'Format eticheta format timp',
'TimestampLabelX' => 'Format timp eticheta X',

View File

@ -152,6 +152,7 @@ $SLANG = array(
'BadWebColour' => 'Web colour must be a valid web colour string',
'BadWidth' => 'Width must be set to a valid value',
'Bandwidth' => 'ËÁÎÁÌ',
'BandwidthHead' => 'Bandwidth', // This is the end of the bandwidth status on the top of the console, different in many language due to phrasing
'BlobPx' => 'ðËÓ ÏÂßÅËÔÁ',
'BlobSizes' => 'òÁÚÍÅÒ ÏÂßÅËÔÏ×',
'Blobs' => 'ëÏÌ-×Ï ÏÂßÅËÔÏ×',
@ -320,6 +321,12 @@ $SLANG = array(
'First' => 'ðÅÒ×ÙÊ',
'FlippedHori' => 'Flipped Horizontally',
'FlippedVert' => 'Flipped Vertically',
'FnNone' => 'None', // Added 2013.08.16.
'FnMonitor' => 'Monitor', // Added 2013.08.16.
'FnModect' => 'Modect', // Added 2013.08.16.
'FnRecord' => 'Record', // Added 2013.08.16.
'FnMocord' => 'Mocord', // Added 2013.08.16.
'FnNodect' => 'Nodect', // Added 2013.08.16.
'Focus' => 'Focus',
'ForceAlarm' => '÷ËÌÀÞÉÔØ ÔÒÅ×ÏÇÕ',
'Format' => 'Format',
@ -463,6 +470,11 @@ $SLANG = array(
'Month' => 'íÅÓÑÃ',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Move',
'MtgDefault' => 'Default', // Added 2013.08.15.
'Mtg2widgrd' => '2-wide grid', // Added 2013.08.15.
'Mtg3widgrd' => '3-wide grid', // Added 2013.08.15.
'Mtg4widgrd' => '4-wide grid', // Added 2013.08.15.
'Mtg3widgrx' => '3-wide grid, scaled, enlarge on alarm', // Added 2013.08.15.
'MustBeGe' => 'ÄÏÌÖÎÏ ÂÙÔØ ÂÏÌØÛÅ ÉÌÉ ÒÁ×ÎÏ',
'MustBeLe' => 'ÄÏÌÖÎÏ ÂÙÔØ ÍÅÎØÛÅ ÉÌÉ ÒÁ×ÎÏ',
'MustConfirmPassword' => '÷Ù ÄÏÌÖÎÙ ÐÏÄÔ×ÅÒÄÉÔØ ÐÁÒÏÌØ',
@ -631,6 +643,10 @@ $SLANG = array(
'TimeDelta' => 'ïÔÎÏÓÉÔÅÌØÎÏÅ ×ÒÅÍÑ',
'TimeStamp' => 'íÅÔËÁ ×ÒÅÍÅÎÉ',
'Timeline' => 'Timeline',
'TimelineTip1' => 'Pass your mouse over the graph to view a snapshot image and event details.', // Added 2013.08.15.
'TimelineTip2' => 'Click on the coloured sections of the graph, or the image, to view the event.', // Added 2013.08.15.
'TimelineTip3' => 'Click on the background to zoom in to a smaller time period based around your click.', // Added 2013.08.15.
'TimelineTip4' => 'Use the controls below to zoom out or navigate back and forward through the time range.', // Added 2013.08.15.
'Timestamp' => 'íÅÔËÁ ×ÒÅÍÅÎÉ',
'TimestampLabelFormat' => 'æÏÒÍÁÔ ÍÅÔËÉ',
'TimestampLabelX' => 'X-ËÏÏÒÄÉÎÁÔÁ ÍÅÔËÉ',

View File

@ -153,6 +153,7 @@ $SLANG = array(
'BadWebColour' => 'Webbfärgen måste vara en giltig sträng för webbfärg',
'BadWidth' => 'Bredden måste sättas til ett giltigt värde',
'Bandwidth' => 'Bandbredd',
'BandwidthHead' => 'Bandwidth', // This is the end of the bandwidth status on the top of the console, different in many language due to phrasing
'BlobPx' => 'Blob Px',
'BlobSizes' => 'Blobstorlek',
'Blobs' => 'Blobbar',
@ -321,6 +322,12 @@ $SLANG = array(
'First' => 'Först',
'FlippedHori' => 'Vänd horisontellt',
'FlippedVert' => 'Vänd vertikalt',
'FnNone' => 'None', // Added 2013.08.16.
'FnMonitor' => 'Monitor', // Added 2013.08.16.
'FnModect' => 'Modect', // Added 2013.08.16.
'FnRecord' => 'Record', // Added 2013.08.16.
'FnMocord' => 'Mocord', // Added 2013.08.16.
'FnNodect' => 'Nodect', // Added 2013.08.16.
'Focus' => 'Fokus',
'ForceAlarm' => 'Tvinga larm',
'Format' => 'Format',
@ -464,6 +471,11 @@ $SLANG = array(
'Month' => 'Månad',
'More' => 'More', // Added - 2011-06-16
'Move' => 'Flytta',
'MtgDefault' => 'Default', // Added 2013.08.15.
'Mtg2widgrd' => '2-wide grid', // Added 2013.08.15.
'Mtg3widgrd' => '3-wide grid', // Added 2013.08.15.
'Mtg4widgrd' => '4-wide grid', // Added 2013.08.15.
'Mtg3widgrx' => '3-wide grid, scaled, enlarge on alarm', // Added 2013.08.15.
'MustBeGe' => 'måste vara större än eller lika med',
'MustBeLe' => 'måste vara mindre än eller lika med',
'MustConfirmPassword' => 'Du måste bekräfta lösenordet',
@ -632,6 +644,10 @@ $SLANG = array(
'TimeDelta' => 'tidsdelta',
'TimeStamp' => 'Tidsstämpel',
'Timeline' => 'Tidslinje',
'TimelineTip1' => 'Pass your mouse over the graph to view a snapshot image and event details.', // Added 2013.08.15.
'TimelineTip2' => 'Click on the coloured sections of the graph, or the image, to view the event.', // Added 2013.08.15.
'TimelineTip3' => 'Click on the background to zoom in to a smaller time period based around your click.', // Added 2013.08.15.
'TimelineTip4' => 'Use the controls below to zoom out or navigate back and forward through the time range.', // Added 2013.08.15.
'Timestamp' => 'Tidsstämpel',
'TimestampLabelFormat' => 'Format på tidsstämpel',
'TimestampLabelX' => 'Värde på tidsstämpel X',

View File

@ -217,7 +217,7 @@ ul.tabList li.active a {
*/
#content table.minor {
width: 200px;
width: 280px;
margin: 0 auto;
}

View File

@ -24,43 +24,43 @@
// Javascript window sizes
var popupSizes = {
'bandwidth': { 'width': 200, 'height': 120 },
'bandwidth': { 'width': 300, 'height': 120 },
'console': { 'width': 750, 'height': 312 },
'control': { 'width': 380, 'height': 480 },
'controlcaps': { 'width': 780, 'height': 320 },
'controlcap': { 'width': 400, 'height': 400 },
'cycle': { 'addWidth': 16, 'minWidth': 384, 'addHeight': 48 },
'cycle': { 'addWidth': 32, 'minWidth': 384, 'addHeight': 62 },
'device': { 'width': 260, 'height': 150 },
'devices': { 'width': 400, 'height': 240 },
'donate': { 'width': 500, 'height': 280 },
'event': { 'addWidth': 108, 'minWidth': 496, 'addHeight': 200, minHeight: 540 },
'eventdetail': { 'width': 400, 'height': 220 },
'events': { 'width': 760, 'height': 480 },
'event': { 'addWidth': 108, 'minWidth': 496, 'addHeight': 230, minHeight: 540 },
'eventdetail': { 'width': 600, 'height': 220 },
'events': { 'width': 960, 'height': 780 },
'export': { 'width': 400, 'height': 340 },
'filter': { 'width': 720, 'height': 360 },
'filtersave': { 'width': 560, 'height': 160 },
'filtersave': { 'width': 610, 'height': 120 },
'frame': { 'addWidth': 32, 'minWidth': 384, 'addHeight': 100 },
'frames': { 'width': 500, 'height': 300 },
'function': { 'width': 248, 'height': 92 },
'frames': { 'width': 500, 'height': 600 },
'function': { 'width': 300, 'height': 92 },
'group': { 'width': 360, 'height': 180 },
'groups': { 'width': 400, 'height': 220 },
'groups': { 'width': 440, 'height': 220 },
'image': { 'addWidth': 48, 'addHeight': 80 },
'log': { 'width': 980, 'height': 720 },
'log': { 'width': 1080, 'height': 720 },
'login': { 'width': 720, 'height': 480 },
'logout': { 'width': 240, 'height': 100 },
'monitor': { 'width': 380, 'height': 364 },
'monitorpreset':{ 'width': 400, 'height': 200 },
'logout': { 'width': 260, 'height': 100 },
'monitor': { 'width': 450, 'height': 400 },
'monitorpreset':{ 'width': 440, 'height': 200 },
'monitorprobe': { 'width': 500, 'height': 240 },
'monitorselect':{ 'width': 160, 'height': 200 },
'montage': { 'width': -1, 'height': -1 },
'optionhelp': { 'width': 400, 'height': 320 },
'options': { 'width': 960, 'height': 620 },
'options': { 'width': 1000, 'height': 660 },
'preset': { 'width': 300, 'height': 120 },
'settings': { 'width': 200, 'height': 225 },
'state': { 'width': 240, 'height': 124 },
'stats': { 'width': 740, 'height': 200 },
'settings': { 'width': 220, 'height': 225 },
'state': { 'width': 370, 'height': 134 },
'stats': { 'width': 840, 'height': 200 },
'timeline': { 'width': 760, 'height': 540 },
'user': { 'width': 320, 'height': 420 },
'user': { 'width': 360, 'height': 420 },
'version': { 'width': 360, 'height': 140 },
'video': { 'width': 420, 'height': 360 },
'videoview': { 'addWidth': 48, 'addHeight': 80 },

View File

@ -36,18 +36,11 @@ foreach ( getSkinIncludes( 'includes/functions.php' ) as $includeFile )
if ( empty($view) )
$view = isset($user)?'console':'login';
if ( !isset($user) && ZM_OPT_USE_AUTH )
if ( !isset($user) && ZM_OPT_USE_AUTH && ZM_AUTH_TYPE == "remote" && !empty( $_SERVER['REMOTE_USER']) )
{
if ( ZM_AUTH_TYPE == "remote" && !empty( $_SERVER['REMOTE_USER'] ) )
{
$view = "postlogin";
$action = "login";
$_REQUEST['username'] = $_SERVER['REMOTE_USER'];
}
else
{
$view = "login";
}
}
if ( isset($user) )

View File

@ -223,7 +223,7 @@ else
{
?><?= $SLANG['ConfiguredFor'] ?><?php
}
?>&nbsp;<?= makePopupLink( '?view=bandwidth', 'zmBandwidth', 'bandwidth', $bwArray[$_COOKIE['zmBandwidth']], ($user && $user['MaxBandwidth'] != 'low' ) ) ?> <?= $SLANG['Bandwidth'] ?></h3>
?>&nbsp;<?= makePopupLink( '?view=bandwidth', 'zmBandwidth', 'bandwidth', $bwArray[$_COOKIE['zmBandwidth']], ($user && $user['MaxBandwidth'] != 'low' ) ) ?> <?= $SLANG['BandwidthHead'] ?></h3>
</div>
<div id="content">
<table id="consoleTable" cellspacing="0">
@ -299,7 +299,7 @@ foreach( $displayMonitors as $monitor )
$scale = max( reScale( SCALE_BASE, $monitor['DefaultScale'], ZM_WEB_DEFAULT_SCALE ), SCALE_BASE );
?>
<td class="colName"><?= makePopupLink( '?view=watch&amp;mid='.$monitor['Id'], 'zmWatch'.$monitor['Id'], array( 'watch', reScale( $monitor['Width'], $scale ), reScale( $monitor['Height'], $scale ) ), $monitor['Name'], $running && ($monitor['Function'] != 'None') && canView( 'Stream' ) ) ?></td>
<td class="colFunction"><?= makePopupLink( '?view=function&amp;mid='.$monitor['Id'], 'zmFunction', 'function', '<span class="'.$fclass.'">'.$monitor['Function'].'</span>', canEdit( 'Monitors' ) ) ?></td>
<td class="colFunction"><?= makePopupLink( '?view=function&amp;mid='.$monitor['Id'], 'zmFunction', 'function', '<span class="'.$fclass.'">'.$SLANG['Fn'.$monitor['Function']].'</span>', canEdit( 'Monitors' ) ) ?></td>
<?php if ( $monitor['Type'] == "Local" ) { ?>
<td class="colSource"><?= makePopupLink( '?view=monitor&amp;mid='.$monitor['Id'], 'zmMonitor'.$monitor['Id'], 'monitor', '<span class="'.$dclass.'">'.$monitor['Device'].' ('.$monitor['Channel'].')</span>', canEdit( 'Monitors' ) ) ?></td>
<?php } elseif ( $monitor['Type'] == "Remote" ) { ?>

View File

@ -46,7 +46,7 @@ xhtmlHeaders(__FILE__, $SLANG['Function']." - ".validHtmlStr($monitor['Name']) )
foreach ( getEnumValues( 'Monitors', 'Function' ) as $optFunction )
{
?>
<option value="<?= $optFunction ?>"<?php if ( $optFunction == $monitor['Function'] ) { ?> selected="selected"<?php } ?>><?= $optFunction ?></option>
<option value="<?= $optFunction ?>"<?php if ( $optFunction == $monitor['Function'] ) { ?> selected="selected"<?php } ?>><?= $SLANG['Fn'.$optFunction] ?></option>
<?php
}
?>

View File

@ -9,7 +9,9 @@ var controlOptions = new Object();
<?php
global $controlTypes;
$controlTypes = array( ''=>$SLANG['None'] );
$sql = "select * from Controls where Type = '".$newMonitor['Type']."'";
# Temporary workaround to show all ptz control types regardless of monitor source type
# $sql = "select * from Controls where Type = '".$newMonitor['Type']."'";
$sql = "select * from Controls";
foreach( dbFetchAll( $sql ) as $row )
{
$controlTypes[$row['Id']] = $row['Name'];

View File

@ -600,7 +600,7 @@ switch ( $tab )
foreach ( getEnumValues( 'Monitors', 'Function' ) as $optFunction )
{
?>
<option value="<?= $optFunction ?>"<?php if ( $optFunction == $newMonitor['Function'] ) { ?> selected="selected"<?php } ?>><?= $optFunction ?></option>
<option value="<?= $optFunction ?>"<?php if ( $optFunction == $newMonitor['Function'] ) { ?> selected="selected"<?php } ?>><?= $SLANG['Fn'.$optFunction] ?></option>
<?php
}
?>

View File

@ -70,11 +70,11 @@ foreach( dbFetchAll( $sql ) as $row )
$focusWindow = true;
$layouts = array(
'montage_freeform.css' => 'Default',
'montage_2wide.css' => '2-wide grid',
'montage_3wide.css' => '3-wide grid',
'montage_4wide.css' => '4-wide grid',
'montage_3wide50enlarge.css' => '3-wide grid, scaled, enlarge on alarm',
'montage_freeform.css' => $SLANG['MtgDefault'],
'montage_2wide.css' => $SLANG['Mtg2widgrd'],
'montage_3wide.css' => $SLANG['Mtg3widgrd'],
'montage_4wide.css' => $SLANG['Mtg4widgrd'],
'montage_3wide50enlarge.css' => $SLANG['Mtg3widgrx'],
);
if ( isset($_COOKIE['zmMontageLayout']) )

View File

@ -818,10 +818,10 @@ xhtmlHeaders(__FILE__, $SLANG['Timeline'] );
<div id="dataPanel">
<div id="textPanel">
<div id="instruction">
<p>Pass your mouse over the graph to view a snapshot image and event details.</p>
<p>Click on the coloured sections of the graph, or the image, to view the event.</p>
<p>Click on the background to zoom in to a smaller time period based around your click.</p>
<p>Use the controls below to zoom out or navigate back and forward through the time range.</p>
<p><?= $SLANG['TimelineTip1'] ?></p>
<p><?= $SLANG['TimelineTip2'] ?></p>
<p><?= $SLANG['TimelineTip3'] ?></p>
<p><?= $SLANG['TimelineTip4'] ?></p>
</div>
<div id="eventData">
</div>

View File

@ -221,7 +221,7 @@ ul.tabList li.active a {
*/
#content table.minor {
width: 200px;
width: 280px;
margin: 0 auto;
}

View File

@ -24,7 +24,7 @@
// Javascript window sizes
var popupSizes = {
'bandwidth': { 'width': 200, 'height': 120 },
'bandwidth': { 'width': 260, 'height': 130 },
'console': { 'width': 750, 'height': 312 },
'control': { 'width': 380, 'height': 480 },
'controlcaps': { 'width': 780, 'height': 320 },
@ -43,25 +43,25 @@ var popupSizes = {
'frames': { 'width': 500, 'height': 300 },
'function': { 'width': 248, 'height': 92 },
'group': { 'width': 360, 'height': 180 },
'groups': { 'width': 400, 'height': 220 },
'groups': { 'width': 460, 'height': 220 },
'image': { 'addWidth': 48, 'addHeight': 80 },
'log': { 'width': 980, 'height': 720 },
'login': { 'width': 720, 'height': 480 },
'logout': { 'width': 240, 'height': 100 },
'monitor': { 'width': 380, 'height': 364 },
'monitor': { 'width': 480, 'height': 364 },
'monitorpreset':{ 'width': 400, 'height': 200 },
'monitorprobe': { 'width': 500, 'height': 240 },
'monitorselect':{ 'width': 160, 'height': 200 },
'montage': { 'width': -1, 'height': -1 },
'optionhelp': { 'width': 400, 'height': 320 },
'options': { 'width': 960, 'height': 620 },
'options': { 'width': 1300, 'height': 620 },
'preset': { 'width': 300, 'height': 120 },
'settings': { 'width': 200, 'height': 225 },
'state': { 'width': 240, 'height': 124 },
'state': { 'width': 400, 'height': 154 },
'stats': { 'width': 740, 'height': 200 },
'timeline': { 'width': 760, 'height': 540 },
'user': { 'width': 320, 'height': 420 },
'version': { 'width': 360, 'height': 140 },
'version': { 'width': 440, 'height': 160 },
'video': { 'width': 420, 'height': 360 },
'videoview': { 'addWidth': 48, 'addHeight': 80 },
'watch': { 'addWidth': 96, 'minWidth': 420, 'addHeight': 384 },

View File

@ -36,20 +36,14 @@ foreach ( getSkinIncludes( 'includes/functions.php' ) as $includeFile )
if ( empty($view) )
$view = isset($user)?'console':'login';
if ( !isset($user) && ZM_OPT_USE_AUTH )
if ( !isset($user) && ZM_OPT_USE_AUTH && ZM_AUTH_TYPE == "remote" && !empty( $_SERVER['REMOTE_USER']) )
{
if ( ZM_AUTH_TYPE == "remote" && !empty( $_SERVER['REMOTE_USER'] ) )
{
$view = "postlogin";
$action = "login";
$_REQUEST['username'] = $_SERVER['REMOTE_USER'];
}
else
{
$view = "login";
}
}
if ( isset($user) )
{
// Bandwidth Limiter

View File

@ -9,7 +9,9 @@ var controlOptions = new Object();
<?php
global $controlTypes;
$controlTypes = array( ''=>$SLANG['None'] );
$sql = "select * from Controls where Type = '".$newMonitor['Type']."'";
# Temporary workaround to show all ptz control types regardless of monitor source type
# $sql = "select * from Controls where Type = '".$newMonitor['Type']."'";
$sql = "select * from Controls";
foreach( dbFetchAll( $sql ) as $row )
{
$controlTypes[$row['Id']] = $row['Name'];

View File

@ -83,18 +83,11 @@ foreach ( getSkinIncludes( 'includes/functions.php' ) as $includeFile )
if ( empty($view) )
$view = isset($user)?'console':'login';
if ( !isset($user) && ZM_OPT_USE_AUTH )
if ( !isset($user) && ZM_OPT_USE_AUTH && ZM_AUTH_TYPE == "remote" && !empty( $_SERVER['REMOTE_USER']) )
{
if ( ZM_AUTH_TYPE == "remote" && !empty( $_SERVER['REMOTE_USER'] ) )
{
$view = "postlogin";
$action = "login";
$_REQUEST['username'] = $_SERVER['REMOTE_USER'];
}
else
{
$view = "login";
}
}
// If there are additional actions