Merge remote-tracking branch 'ZoneMinder/master'
This commit is contained in:
commit
f01b0e84e8
|
@ -4,7 +4,7 @@
|
|||
#
|
||||
cmake_minimum_required (VERSION 2.6)
|
||||
project (zoneminder)
|
||||
set(zoneminder_VERSION "1.28.108")
|
||||
set(zoneminder_VERSION "1.28.109")
|
||||
# make API version a minor of ZM version
|
||||
set(zoneminder_API_VERSION "${zoneminder_VERSION}.1")
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# For instructions on building with cmake, please see INSTALL
|
||||
#
|
||||
AC_PREREQ(2.59)
|
||||
AC_INIT(zm,1.28.108,[http://www.zoneminder.com/forums/ - Please check FAQ first],zoneminder,http://www.zoneminder.com/downloads.html)
|
||||
AC_INIT(zm,1.28.109,[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)
|
||||
|
|
|
@ -13,7 +13,7 @@ SET @s = (SELECT IF(
|
|||
AND table_schema = DATABASE()
|
||||
AND column_name = 'Id'
|
||||
) > 0,
|
||||
"SELECT 'Column ID already exists in Monitors'",
|
||||
"SELECT 'Column ID already exists in Frames'",
|
||||
"ALTER TABLE `Frames` ADD COLUMN `Id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT FIRST, DROP PRIMARY KEY, ADD PRIMARY KEY(`Id`)"
|
||||
));
|
||||
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
--
|
||||
-- This updates a 1.28.106 database to 1.28.107
|
||||
--
|
||||
|
||||
--
|
||||
-- Update Frame table to have a PrimaryKey of ID, insetad of a Composite Primary Key
|
||||
-- Used primarially for compatibility with CakePHP
|
||||
--
|
||||
SET @s = (SELECT IF(
|
||||
(SELECT COUNT(*)
|
||||
FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE table_name = 'Servers'
|
||||
AND table_schema = DATABASE()
|
||||
AND column_name = 'Hostname'
|
||||
) > 0,
|
||||
"SELECT 'Column Hostname already exists in Servers'",
|
||||
"ALTER TABLE `Servers` ADD COLUMN `Hostname` TEXT AFTER Name"
|
||||
));
|
||||
|
||||
PREPARE stmt FROM @s;
|
||||
EXECUTE stmt;
|
|
@ -15,7 +15,7 @@ if [ "$1" = "configure" ]; then
|
|||
# test if database if already present...
|
||||
if ! $(echo quit | mysql --defaults-file=/etc/mysql/debian.cnf zm > /dev/null 2> /dev/null) ; then
|
||||
cat /usr/share/zoneminder/db/zm_create.sql | mysql --defaults-file=/etc/mysql/debian.cnf
|
||||
echo 'grant lock tables, alter,select,insert,update,delete on zm.* to 'zmuser'@localhost identified by "zmpass";' | mysql --defaults-file=/etc/mysql/debian.cnf mysql
|
||||
echo 'grant lock tables, alter,select,insert,update,delete,create,index on zm.* to 'zmuser'@localhost identified by "zmpass";' | mysql --defaults-file=/etc/mysql/debian.cnf mysql
|
||||
fi
|
||||
|
||||
invoke-rc.d zoneminder stop || true
|
||||
|
@ -47,6 +47,8 @@ if [ "$1" = "configure" ]; then
|
|||
chown www-data:www-data -R /var/cache/zoneminder
|
||||
else
|
||||
chown www-data:www-data /var/log/zm
|
||||
|
||||
echo 'grant lock tables, create, index, alter on zm.* to 'zmuser'@localhost identified by "zmpass";' | mysql --defaults-file=/etc/mysql/debian.cnf mysql
|
||||
zmupdate.pl
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -11,9 +11,9 @@ What's New
|
|||
|
||||
2. The ZoneMinder config file, zm.conf, has been moved under /etc/zm.
|
||||
|
||||
3. The ZoneMinder mysql account now requires "Create" permission. This change
|
||||
must be done manually before ZoneMinder will run. See the installation steps
|
||||
below.
|
||||
3. The ZoneMinder mysql account now requires "create" and "index" permission.
|
||||
This change must be done manually before ZoneMinder will run. See the
|
||||
installation steps below.
|
||||
|
||||
4. A new permission group called "Groups" has been added. This allows the
|
||||
system administrator to assign "view", "edit", or "none" permission to
|
||||
|
@ -46,9 +46,9 @@ New installs
|
|||
|
||||
mysql -u root -p < /usr/share/zoneminder/db/zm_create.sql
|
||||
mysql -u root -p
|
||||
mysql> grant select,insert,update,delete,lock tables,alter,create
|
||||
on zm.* to 'zmuser'@localhost identified by 'zmpass';
|
||||
mysql> exit;
|
||||
mysql> grant select,insert,update,delete,lock tables,alter,create,index
|
||||
on zm.* to 'zmuser'@localhost identified by 'zmpass';
|
||||
mysql> exit;
|
||||
mysqladmin -u root -p reload
|
||||
|
||||
The database account credentials, zmuser/zmpass, are arbitrary. Set them to
|
||||
|
@ -113,8 +113,8 @@ Upgrades
|
|||
|
||||
Over time, the database account permissions required for normal operation
|
||||
have changed. Verify the zmuser database account has been granted select,
|
||||
insert, update, delete, lock tables, alter, and create permission to the
|
||||
ZoneMinder database:
|
||||
insert, update, delete, lock tables, alter, create, and index permission
|
||||
to the ZoneMinder database:
|
||||
|
||||
mysql -u root -p
|
||||
mysql> show grants for zmuser@localhost;
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
What's New
|
||||
==========
|
||||
|
||||
1. The ZoneMinder mysql account now requires "Create" permission. This change
|
||||
must be done manually before ZoneMinder will run. See the installation steps
|
||||
below.
|
||||
1. The ZoneMinder mysql account now requires "create" and "index" permission.
|
||||
This change must be done manually before ZoneMinder will run. See the
|
||||
installation steps below.
|
||||
|
||||
2. A new permission group called "Groups" has been added. This allows the
|
||||
system administrator to assign "view", "edit", or "none" permission to
|
||||
|
@ -32,7 +32,7 @@ New installs
|
|||
|
||||
mysql -uroot -p
|
||||
mysql> create database zm;
|
||||
mysql> grant select,insert,update,delete,lock tables,alter,create
|
||||
mysql> grant select,insert,update,delete,lock tables,alter,create,index
|
||||
on zm.* to 'zmuser'@localhost identified by 'zmpass';
|
||||
mysql> exit;
|
||||
mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
|
||||
|
@ -105,8 +105,8 @@ New installs
|
|||
|
||||
Over time, the database account permissions required for normal operation
|
||||
have changed. Verify the zmuser database account has been granted select,
|
||||
insert, update, delete, lock tables, alter, and create permission to the
|
||||
ZoneMinder database:
|
||||
insert, update, delete, lock tables, alter, create, and index permission
|
||||
to the ZoneMinder database:
|
||||
|
||||
mysql -u root -p
|
||||
mysql> show grants for zmuser@localhost;
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
What's New
|
||||
==========
|
||||
|
||||
1. The ZoneMinder mysql account now requires "Create" permission. This change
|
||||
must be done manually before ZoneMinder will run. See the installation steps
|
||||
below.
|
||||
1. The ZoneMinder mysql account now requires "create" and "index" permission.
|
||||
This change must be done manually before ZoneMinder will run. See the
|
||||
installation steps below.
|
||||
|
||||
2. A new permission group called "Groups" has been added. This allows the
|
||||
system administrator to assign "view", "edit", or "none" permission to
|
||||
|
@ -34,9 +34,9 @@ New installs
|
|||
|
||||
mysql -u root -p < /usr/share/zoneminder/db/zm_create.sql
|
||||
mysql -u root -p
|
||||
mysql> grant select,insert,update,delete,lock tables,alter,create
|
||||
on zm.* to 'zmuser'@localhost identified by 'zmpass';
|
||||
mysql> exit;
|
||||
mysql> grant select,insert,update,delete,lock tables,alter,create,index
|
||||
on zm.* to 'zmuser'@localhost identified by 'zmpass';
|
||||
mysql> exit;
|
||||
mysqladmin -u root -p reload
|
||||
|
||||
The database account credentials, zmuser/zmpass, are arbitrary. Set them to
|
||||
|
@ -100,8 +100,8 @@ Upgrades
|
|||
|
||||
Over time, the database account permissions required for normal operation
|
||||
have changed. Verify the zmuser database account has been granted select,
|
||||
insert, update, delete, lock tables, alter, and create permission to the
|
||||
ZoneMinder database:
|
||||
insert, update, delete, lock tables, alter, create, and index permission
|
||||
to the ZoneMinder database:
|
||||
|
||||
mysql -u root -p
|
||||
mysql> show grants for zmuser@localhost;
|
||||
|
|
|
@ -1 +1 @@
|
|||
3.0 (quilt)
|
||||
3.0 (native)
|
||||
|
|
|
@ -8,6 +8,17 @@ if [ "$1" = "configure" ]; then
|
|||
if [ -z "$2" ]; then
|
||||
chown www-data:www-data -R /var/cache/zoneminder
|
||||
fi
|
||||
|
||||
# Do this every time the package is installed or upgraded
|
||||
# Test for database presence to avoid failure of zmupdate.pl
|
||||
|
||||
# Ensure zoneminder is stopped
|
||||
deb-systemd-invoke stop zoneminder.service || exit $?
|
||||
|
||||
echo 'grant lock tables, create, index, alter on zm.* to 'zmuser'@localhost identified by "zmpass";' | mysql --defaults-file=/etc/mysql/debian.cnf mysql
|
||||
# Run the ZoneMinder update tool
|
||||
zmupdate.pl --nointeractive
|
||||
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
|
|
|
@ -57,7 +57,7 @@ EXTRA_DIST = \
|
|||
ZoneMinder/lib/ZoneMinder/ConfigAdmin.pm \
|
||||
ZoneMinder/lib/ZoneMinder/ConfigData.pm.in \
|
||||
ZoneMinder/lib/ZoneMinder/Control.pm \
|
||||
ZoneMinder/lib/ZoneMinder/Control \ # Grab all ptz control skips under the Control folder
|
||||
ZoneMinder/lib/ZoneMinder/Control \
|
||||
ZoneMinder/lib/ZoneMinder/Trigger/Channel.pm \
|
||||
ZoneMinder/lib/ZoneMinder/Trigger/Channel/Handle.pm \
|
||||
ZoneMinder/lib/ZoneMinder/Trigger/Channel/Spawning.pm \
|
||||
|
|
|
@ -30,8 +30,9 @@
|
|||
|
||||
RemoteCameraRtsp::RemoteCameraRtsp( int p_id, const std::string &p_method, const std::string &p_host, const std::string &p_port, const std::string &p_path, int p_width, int p_height, bool p_rtsp_describe, int p_colours, int p_brightness, int p_contrast, int p_hue, int p_colour, bool p_capture ) :
|
||||
RemoteCamera( p_id, "rtsp", p_host, p_port, p_path, p_width, p_height, p_colours, p_brightness, p_contrast, p_hue, p_colour, p_capture ),
|
||||
rtspThread( 0 ),
|
||||
rtsp_describe( p_rtsp_describe )
|
||||
rtsp_describe( p_rtsp_describe ),
|
||||
rtspThread( 0 )
|
||||
|
||||
{
|
||||
if ( p_method == "rtpUni" )
|
||||
method = RtspThread::RTP_UNICAST;
|
||||
|
|
|
@ -50,12 +50,13 @@ private:
|
|||
|
||||
private:
|
||||
int mId;
|
||||
bool mRtspDescribe;
|
||||
|
||||
RtspMethod mMethod;
|
||||
std::string mProtocol;
|
||||
std::string mHost;
|
||||
std::string mPort;
|
||||
std::string mPath;
|
||||
bool mRtspDescribe;
|
||||
std::string mUrl;
|
||||
|
||||
// Reworked authentication system
|
||||
|
|
|
@ -86,9 +86,21 @@ class EventsController extends AppController {
|
|||
$event = $this->Event->find('first', $options);
|
||||
|
||||
$path = $configs['ZM_DIR_EVENTS'].'/'.$this->Image->getEventPath($event).'/';
|
||||
|
||||
$event['Event']['BasePath'] = $path;
|
||||
|
||||
# Get the previous and next events for any monitor
|
||||
$this->Event->id = $id;
|
||||
$event_neighbors = $this->Event->find('neighbors');
|
||||
$event['Event']['Next'] = $event_neighbors['next']['Event']['Id'];
|
||||
$event['Event']['Prev'] = $event_neighbors['prev']['Event']['Id'];
|
||||
|
||||
# Also get the previous and next events for the same monitor
|
||||
$event_monitor_neighbors = $this->Event->find('neighbors', array(
|
||||
'conditions'=>array('Event.MonitorId'=>$event['Event']['MonitorId'])
|
||||
));
|
||||
$event['Event']['NextOfMonitor'] = $event_monitor_neighbors['next']['Event']['Id'];
|
||||
$event['Event']['PrevOfMonitor'] = $event_monitor_neighbors['prev']['Event']['Id'];
|
||||
|
||||
$this->set(array(
|
||||
'event' => $event,
|
||||
'_serialize' => array('event')
|
||||
|
|
|
@ -32,6 +32,7 @@ function dbConnect()
|
|||
|
||||
try {
|
||||
$dbConn = new PDO( ZM_DB_TYPE . ':host=' . ZM_DB_HOST . ';dbname='.ZM_DB_NAME, ZM_DB_USER, ZM_DB_PASS );
|
||||
$dbConn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
} catch(PDOException $ex ) {
|
||||
echo "Unable to connect to ZM db." . $ex->getMessage();
|
||||
$dbConn = null;
|
||||
|
@ -111,7 +112,7 @@ function dbQuery( $sql, $params=NULL ) {
|
|||
$result = $dbConn->query( $sql );
|
||||
}
|
||||
} catch(PDOException $e) {
|
||||
Fatal( "SQL-ERR '".$e.getMessage()."', statement was '".$sql."'" );
|
||||
Fatal( "SQL-ERR '".$e->getMessage()."', statement was '".$sql."'" );
|
||||
}
|
||||
return( $result );
|
||||
}
|
||||
|
|
|
@ -40,6 +40,21 @@ if ( !canView( 'Events' ) )
|
|||
|
||||
header( 'Content-type: image/jpeg' );
|
||||
|
||||
// Compatibility for PHP 5.4
|
||||
if (!function_exists('imagescale'))
|
||||
{
|
||||
function imagescale($image, $new_width, $new_height = -1, $mode = 0)
|
||||
{
|
||||
$mode; // Not supported
|
||||
|
||||
$new_height = ($new_height == -1) ? imagesy($image) : $new_height;
|
||||
$imageNew = imagecreatetruecolor($new_width, $new_height);
|
||||
imagecopyresampled($imageNew, $image, 0, 0, 0, 0, (int)$new_width, (int)$new_height, imagesx($image), imagesy($image));
|
||||
|
||||
return $imageNew;
|
||||
}
|
||||
}
|
||||
|
||||
$errorText = false;
|
||||
if ( empty($_REQUEST['path']) )
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue