2008-07-14 21:54:50 +08:00
|
|
|
<?php
|
|
|
|
//
|
|
|
|
// ZoneMinder web configuration file, $Date$, $Revision$
|
2008-07-25 17:48:16 +08:00
|
|
|
// Copyright (C) 2001-2008 Philip Coombes
|
2008-07-14 21:54:50 +08:00
|
|
|
//
|
|
|
|
// 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 section contains options substituted by the zmconfig.pl utility, do not edit these directly
|
|
|
|
//
|
|
|
|
define( "ZM_CONFIG", "@ZM_CONFIG@" ); // Path to config file
|
2013-11-01 21:47:28 +08:00
|
|
|
// Define, and override any given in config file
|
|
|
|
define( "ZM_VERSION", "@VERSION@" ); // Version
|
2008-07-14 21:54:50 +08:00
|
|
|
|
2011-06-21 17:19:10 +08:00
|
|
|
$configFile = ZM_CONFIG;
|
|
|
|
$localConfigFile = basename($configFile);
|
|
|
|
if ( file_exists( $localConfigFile ) && filesize( $localConfigFile ) > 0 )
|
|
|
|
{
|
|
|
|
if ( php_sapi_name() == 'cli' && empty($_SERVER['REMOTE_ADDR']) )
|
|
|
|
print( "Warning, overriding installed $localConfigFile file with local copy\n" );
|
|
|
|
else
|
|
|
|
error_log( "Warning, overriding installed $localConfigFile file with local copy" );
|
|
|
|
$configFile = $localConfigFile;
|
|
|
|
}
|
|
|
|
|
|
|
|
$cfg = fopen( $configFile, "r") or die("Could not open config file.");
|
2008-07-14 21:54:50 +08:00
|
|
|
while ( !feof($cfg) )
|
|
|
|
{
|
|
|
|
$str = fgets( $cfg, 256 );
|
|
|
|
if ( preg_match( '/^\s*$/', $str ))
|
|
|
|
continue;
|
|
|
|
elseif ( preg_match( '/^\s*#/', $str ))
|
|
|
|
continue;
|
2013-11-04 04:52:37 +08:00
|
|
|
elseif ( preg_match( '/^\s*([^=\s]+)\s*=\s*(.*?)\s*$/', $str, $matches ))
|
2008-07-14 21:54:50 +08:00
|
|
|
define( $matches[1], $matches[2] );
|
|
|
|
}
|
|
|
|
fclose( $cfg );
|
|
|
|
|
|
|
|
//
|
|
|
|
// This section is options normally derived from other options or configuration
|
|
|
|
//
|
|
|
|
define( "ZMU_PATH", ZM_PATH_BIN."/zmu" ); // Local path to the ZoneMinder Utility
|
|
|
|
|
2008-10-28 22:25:12 +08:00
|
|
|
//
|
2011-02-16 05:59:06 +08:00
|
|
|
// If setup supports Video 4 Linux v2 and/or v1
|
2008-10-28 22:25:12 +08:00
|
|
|
//
|
2011-02-16 05:59:06 +08:00
|
|
|
define( "ZM_HAS_V4L2", "@ZM_HAS_V4L2@" ); // V4L2 support enabled
|
|
|
|
define( "ZM_HAS_V4L1", "@ZM_HAS_V4L1@" ); // V4L1 support enabled
|
|
|
|
define( "ZM_HAS_V4L", "@ZM_HAS_V4L@" ); // V4L support enabled
|
2008-10-28 22:25:12 +08:00
|
|
|
|
2015-02-22 01:12:07 +08:00
|
|
|
//
|
|
|
|
// If ONVIF support has been built in
|
|
|
|
//
|
|
|
|
define( "ZM_HAS_ONVIF", "@ZM_HAS_ONVIF@" ); // ONVIF support enabled
|
|
|
|
|
2008-12-06 02:41:14 +08:00
|
|
|
//
|
|
|
|
// If PCRE dev libraries are installed
|
|
|
|
//
|
|
|
|
define( "ZM_PCRE", "@ZM_PCRE@" ); // PCRE support enabled
|
|
|
|
|
2008-07-14 21:54:50 +08:00
|
|
|
//
|
|
|
|
// Alarm states
|
|
|
|
//
|
|
|
|
define( "STATE_IDLE", 0 );
|
|
|
|
define( "STATE_PREALARM", 1 );
|
|
|
|
define( "STATE_ALARM", 2 );
|
|
|
|
define( "STATE_ALERT", 3 );
|
|
|
|
define( "STATE_TAPE", 4 );
|
|
|
|
|
|
|
|
//
|
|
|
|
// DVR Control Commands
|
|
|
|
//
|
|
|
|
|
|
|
|
define( "MSG_CMD", 1 );
|
|
|
|
define( "MSG_DATA_WATCH", 2 );
|
|
|
|
define( "MSG_DATA_EVENT", 3 );
|
|
|
|
|
|
|
|
define( "CMD_NONE", 0 );
|
|
|
|
define( "CMD_PAUSE", 1 );
|
|
|
|
define( "CMD_PLAY", 2 );
|
|
|
|
define( "CMD_STOP", 3 );
|
|
|
|
define( "CMD_FASTFWD", 4 );
|
|
|
|
define( "CMD_SLOWFWD", 5 );
|
|
|
|
define( "CMD_SLOWREV", 6 );
|
|
|
|
define( "CMD_FASTREV", 7 );
|
|
|
|
define( "CMD_ZOOMIN", 8 );
|
|
|
|
define( "CMD_ZOOMOUT", 9 );
|
|
|
|
define( "CMD_PAN", 10 );
|
|
|
|
define( "CMD_SCALE", 11 );
|
|
|
|
define( "CMD_PREV", 12 );
|
|
|
|
define( "CMD_NEXT", 13 );
|
|
|
|
define( "CMD_SEEK", 14 );
|
2008-11-03 21:16:47 +08:00
|
|
|
define( "CMD_VARPLAY", 15 );
|
2008-07-14 21:54:50 +08:00
|
|
|
define( "CMD_QUERY", 99 );
|
|
|
|
|
|
|
|
//
|
|
|
|
// These are miscellaneous options you won't normally need to change
|
|
|
|
//
|
|
|
|
define( "MAX_EVENTS", 10 ); // The maximum number of events to show in the monitor event listing
|
|
|
|
define( "RATE_BASE", 100 ); // The additional scaling factor used to help get fractional rates in integer format
|
|
|
|
define( "SCALE_BASE", 100 ); // The additional scaling factor used to help get fractional scales in integer format
|
|
|
|
|
|
|
|
//
|
2014-02-26 23:14:04 +08:00
|
|
|
// Date and time formats, not to be modified by language files
|
2008-07-14 21:54:50 +08:00
|
|
|
//
|
2014-02-26 23:14:04 +08:00
|
|
|
define( "STRF_FMT_DATETIME_DB", "%Y-%m-%d %H:%M:%S" ); // Strftime format for database queries, don't change
|
|
|
|
define( "MYSQL_FMT_DATETIME_SHORT", "%y/%m/%d %H:%i:%S" ); // MySQL date_format shorter format for dates with time
|
2008-07-14 21:54:50 +08:00
|
|
|
|
|
|
|
require_once( 'database.php' );
|
|
|
|
loadConfig();
|
|
|
|
|
|
|
|
$GLOBALS['defaultUser'] = array(
|
|
|
|
"Username" => "admin",
|
|
|
|
"Password" => "",
|
|
|
|
"Language" => "",
|
|
|
|
"Enabled" => 1,
|
|
|
|
"Stream" => 'View',
|
|
|
|
"Events" => 'Edit',
|
|
|
|
"Control" => 'Edit',
|
|
|
|
"Monitors" => 'Edit',
|
2015-08-16 05:47:07 +08:00
|
|
|
"Groups" => 'Edit',
|
2008-07-14 21:54:50 +08:00
|
|
|
"Devices" => 'Edit',
|
|
|
|
"System" => 'Edit',
|
2008-09-29 21:15:13 +08:00
|
|
|
"MaxBandwidth" => "",
|
2008-09-30 23:29:14 +08:00
|
|
|
"MonitorIds" => false
|
2008-07-14 21:54:50 +08:00
|
|
|
);
|
|
|
|
|
|
|
|
function loadConfig( $defineConsts=true )
|
|
|
|
{
|
|
|
|
global $config;
|
|
|
|
global $configCats;
|
2013-10-18 04:57:05 +08:00
|
|
|
global $dbConn;
|
2008-07-14 21:54:50 +08:00
|
|
|
|
|
|
|
$config = array();
|
|
|
|
$configCat = array();
|
|
|
|
|
2013-10-18 04:57:05 +08:00
|
|
|
$result = $dbConn->query( 'select * from Config order by Id asc' );
|
2008-07-14 21:54:50 +08:00
|
|
|
if ( !$result )
|
|
|
|
echo mysql_error();
|
|
|
|
$monitors = array();
|
2013-10-18 04:57:05 +08:00
|
|
|
while( $row = dbFetchNext( $result ) )
|
2008-07-14 21:54:50 +08:00
|
|
|
{
|
|
|
|
if ( $defineConsts )
|
|
|
|
define( $row['Name'], $row['Value'] );
|
|
|
|
$config[$row['Name']] = $row;
|
|
|
|
if ( !($configCat = &$configCats[$row['Category']]) )
|
|
|
|
{
|
|
|
|
$configCats[$row['Category']] = array();
|
|
|
|
$configCat = &$configCats[$row['Category']];
|
|
|
|
}
|
|
|
|
$configCat[$row['Name']] = $row;
|
|
|
|
}
|
|
|
|
//print_r( $config );
|
|
|
|
//print_r( $configCats );
|
|
|
|
}
|
|
|
|
|
2015-07-09 23:45:19 +08:00
|
|
|
// For Human-readability, user ZM_SERVER in zm.conf, and convert it here to a ZM_SERVER_ID
|
2015-07-17 22:12:44 +08:00
|
|
|
if ( ! defined('ZM_SERVER_ID') ) {
|
|
|
|
if ( defined('ZM_SERVER_NAME') ) {
|
|
|
|
$server_id = dbFetchOne('SELECT Id FROM Servers WHERE Name=?', 'Id', array(ZM_SERVER_NAME));
|
|
|
|
if ( ! $server_id ) {
|
|
|
|
Error("ZM_SERVER_NAME set in config, but not found in Servers table.");
|
|
|
|
} else {
|
|
|
|
define( 'ZM_SERVER_ID', $server_id );
|
|
|
|
}
|
|
|
|
} else if ( defined('ZM_SERVER_HOST') ) {
|
|
|
|
$server_id = dbFetchOne('SELECT Id FROM Servers WHERE Name=?', 'Id', array(ZM_SERVER_HOST));
|
|
|
|
if ( ! $server_id ) {
|
|
|
|
Error("ZM_SERVER_HOST set in config, but not found in Servers table.");
|
|
|
|
} else {
|
|
|
|
define( 'ZM_SERVER_ID', $server_id );
|
|
|
|
}
|
|
|
|
}
|
2015-07-09 23:45:19 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2008-07-14 21:54:50 +08:00
|
|
|
?>
|