Merge branch 'fix_montage_server_refs' into storageareas
This commit is contained in:
commit
a61dade6df
|
@ -138,8 +138,8 @@ public function beforeFilter() {
|
||||||
'_serialize' => array('message')
|
'_serialize' => array('message')
|
||||||
));
|
));
|
||||||
// - restart this monitor after change
|
// - restart this monitor after change
|
||||||
// We don't pass the request data as the monitor object because it may be a subset of the full monitor array
|
// We don't pass the request data as the monitor object because it may be a subset of the full monitor array
|
||||||
$this->daemonControl( $this->Monitor->id, 'restart' );
|
$this->daemonControl( $this->Monitor->id, 'restart' );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -187,7 +187,7 @@ public function beforeFilter() {
|
||||||
// arm/disarm alarms
|
// arm/disarm alarms
|
||||||
// expected format: http(s):/portal-api-url/monitors/alarm/id:M/command:C.json
|
// expected format: http(s):/portal-api-url/monitors/alarm/id:M/command:C.json
|
||||||
// where M=monitorId
|
// where M=monitorId
|
||||||
// where C=on|off
|
// where C=on|off|status
|
||||||
public function alarm()
|
public function alarm()
|
||||||
{
|
{
|
||||||
$id = $this->request->params['named']['id'];
|
$id = $this->request->params['named']['id'];
|
||||||
|
@ -195,19 +195,27 @@ public function beforeFilter() {
|
||||||
if (!$this->Monitor->exists($id)) {
|
if (!$this->Monitor->exists($id)) {
|
||||||
throw new NotFoundException(__('Invalid monitor'));
|
throw new NotFoundException(__('Invalid monitor'));
|
||||||
}
|
}
|
||||||
if ( $cmd != 'on' && $cmd != 'off')
|
if ( $cmd != 'on' && $cmd != 'off' && $cmd != 'status')
|
||||||
{
|
{
|
||||||
throw new BadRequestException(__('Invalid command'));
|
throw new BadRequestException(__('Invalid command'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->Session->Read('systemPermission') != 'Edit')
|
|
||||||
{
|
|
||||||
throw new UnauthorizedException(__('Insufficient privileges'));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$zm_path_bin = Configure::read('ZM_PATH_BIN');
|
$zm_path_bin = Configure::read('ZM_PATH_BIN');
|
||||||
$q = ($cmd == 'on') ? '-a':'-c';
|
|
||||||
|
switch ($cmd)
|
||||||
|
{
|
||||||
|
case "on":
|
||||||
|
$q = '-a';
|
||||||
|
$verbose = "-v";
|
||||||
|
break;
|
||||||
|
case "off":
|
||||||
|
$q = "-c";
|
||||||
|
$verbose = "-v";
|
||||||
|
break;
|
||||||
|
case "status":
|
||||||
|
$verbose = ""; // zmu has a bug - gives incorrect verbose output in this case
|
||||||
|
$q = "-s";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
// form auth key based on auth credentials
|
// form auth key based on auth credentials
|
||||||
$this->loadModel('Config');
|
$this->loadModel('Config');
|
||||||
|
@ -245,7 +253,7 @@ public function beforeFilter() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$shellcmd = escapeshellcmd("$zm_path_bin/zmu -v -m$id $q $auth");
|
$shellcmd = escapeshellcmd("$zm_path_bin/zmu $verbose -m$id $q $auth");
|
||||||
$status = exec ($shellcmd);
|
$status = exec ($shellcmd);
|
||||||
|
|
||||||
$this->set(array(
|
$this->set(array(
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
var requestQueue = new Request.Queue( { concurrent: 2 } );
|
var requestQueue = new Request.Queue( { concurrent: 2 } );
|
||||||
|
|
||||||
function Monitor( index, id, connKey )
|
function Monitor( index, monitorData )
|
||||||
{
|
{
|
||||||
this.index = index;
|
this.index = index;
|
||||||
this.id = id;
|
this.id = monitorData.id;
|
||||||
this.connKey = connKey;
|
this.connKey = monitorData.connKey;
|
||||||
|
this.server_url = monitorData.server_url;
|
||||||
this.status = null;
|
this.status = null;
|
||||||
this.alarmState = STATE_IDLE;
|
this.alarmState = STATE_IDLE;
|
||||||
this.lastAlarmState = STATE_IDLE;
|
this.lastAlarmState = STATE_IDLE;
|
||||||
|
@ -110,7 +111,7 @@ function Monitor( index, id, connKey )
|
||||||
this.streamCmdReq.send( this.streamCmdParms+"&command="+CMD_QUERY );
|
this.streamCmdReq.send( this.streamCmdParms+"&command="+CMD_QUERY );
|
||||||
}
|
}
|
||||||
|
|
||||||
this.streamCmdReq = new Request.JSON( { url: thisUrl, method: 'post', timeout: AJAX_TIMEOUT, onSuccess: this.getStreamCmdResponse.bind( this ), onTimeout: this.streamCmdQuery.bind( this, true ), link: 'cancel' } );
|
this.streamCmdReq = new Request.JSON( { url: this.server_url, method: 'get', timeout: AJAX_TIMEOUT, onSuccess: this.getStreamCmdResponse.bind( this ), onTimeout: this.streamCmdQuery.bind( this, true ), link: 'cancel' } );
|
||||||
|
|
||||||
requestQueue.addRequest( "cmdReq"+this.id, this.streamCmdReq );
|
requestQueue.addRequest( "cmdReq"+this.id, this.streamCmdReq );
|
||||||
}
|
}
|
||||||
|
@ -146,7 +147,7 @@ function initPage()
|
||||||
{
|
{
|
||||||
for ( var i = 0; i < monitorData.length; i++ )
|
for ( var i = 0; i < monitorData.length; i++ )
|
||||||
{
|
{
|
||||||
monitors[i] = new Monitor( i, monitorData[i].id, monitorData[i].connKey );
|
monitors[i] = new Monitor( i, monitorData[i] );
|
||||||
var delay = Math.round( (Math.random()+0.5)*statusRefreshTimeout );
|
var delay = Math.round( (Math.random()+0.5)*statusRefreshTimeout );
|
||||||
monitors[i].start( delay );
|
monitors[i].start( delay );
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,8 @@ monitorData[monitorData.length] = {
|
||||||
'id': <?php echo $monitor->Id() ?>,
|
'id': <?php echo $monitor->Id() ?>,
|
||||||
'connKey': <?php echo $monitor->connKey() ?>,
|
'connKey': <?php echo $monitor->connKey() ?>,
|
||||||
'width': <?php echo $monitor->Width() ?>,
|
'width': <?php echo $monitor->Width() ?>,
|
||||||
'height':<?php echo $monitor->Height() ?>
|
'height':<?php echo $monitor->Height() ?>,
|
||||||
|
'server_url': '<?php echo $monitor->Server()->Url().$_SERVER['PHP_SELF'] ?>'
|
||||||
};
|
};
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue