Upgrade Control Object to extend ZM\Object. Add commands function from skin specific control functions
parent
d5ee73a9ee
commit
4c206c2e9a
|
@ -2,10 +2,13 @@
|
|||
namespace ZM;
|
||||
|
||||
require_once('database.php');
|
||||
require_once('Object.php');
|
||||
|
||||
class Control {
|
||||
class Control extends ZM_Object {
|
||||
protected static $table = 'Controls';
|
||||
|
||||
private $defaults = array(
|
||||
protected $defaults = array(
|
||||
'Id' => null,
|
||||
'CanMove' => 0,
|
||||
'CanMoveDiag' => 0,
|
||||
'CanMoveMap' => 0,
|
||||
|
@ -104,153 +107,118 @@ private $defaults = array(
|
|||
'Protocol' => NULL
|
||||
);
|
||||
|
||||
public function __construct( $IdOrRow = NULL ) {
|
||||
if ( $IdOrRow ) {
|
||||
$row = NULL;
|
||||
if ( is_integer( $IdOrRow ) or is_numeric( $IdOrRow ) ) {
|
||||
$row = dbFetchOne( 'SELECT * FROM Controls WHERE Id=?', NULL, array( $IdOrRow ) );
|
||||
if ( ! $row ) {
|
||||
Error("Unable to load Control record for Id=" . $IdOrRow );
|
||||
}
|
||||
} elseif ( is_array( $IdOrRow ) ) {
|
||||
$row = $IdOrRow;
|
||||
} else {
|
||||
Error("Unknown argument passed to Control Constructor ($IdOrRow)");
|
||||
return;
|
||||
}
|
||||
|
||||
if ( $row ) {
|
||||
foreach ($row as $k => $v) {
|
||||
$this->{$k} = $v;
|
||||
}
|
||||
} else {
|
||||
Error('No row for Control ' . $IdOrRow );
|
||||
}
|
||||
} # end if isset($IdOrRow)
|
||||
} // end function __construct
|
||||
|
||||
public function __call($fn, array $args){
|
||||
if ( count($args) ) {
|
||||
$this->{$fn} = $args[0];
|
||||
}
|
||||
if ( array_key_exists($fn, $this) ) {
|
||||
return $this->{$fn};
|
||||
#array_unshift($args, $this);
|
||||
#call_user_func_array( $this->{$fn}, $args);
|
||||
} else {
|
||||
if ( array_key_exists($fn, $this->control_fields) ) {
|
||||
return $this->control_fields{$fn};
|
||||
} else if ( array_key_exists( $fn, $this->defaults ) ) {
|
||||
return $this->defaults{$fn};
|
||||
} else {
|
||||
$backTrace = debug_backtrace();
|
||||
$file = $backTrace[1]['file'];
|
||||
$line = $backTrace[1]['line'];
|
||||
Warning( "Unknown function call Control->$fn from $file:$line" );
|
||||
}
|
||||
}
|
||||
public static function find( $parameters = array(), $options = array() ) {
|
||||
return ZM_Object::_find(get_class(), $parameters, $options);
|
||||
}
|
||||
|
||||
public function set( $data ) {
|
||||
foreach ($data as $k => $v) {
|
||||
if ( is_array( $v ) ) {
|
||||
# perhaps should turn into a comma-separated string
|
||||
$this->{$k} = implode(',',$v);
|
||||
} else if ( is_string( $v ) ) {
|
||||
$this->{$k} = trim( $v );
|
||||
} else if ( is_integer( $v ) ) {
|
||||
$this->{$k} = $v;
|
||||
} else if ( is_bool( $v ) ) {
|
||||
$this->{$k} = $v;
|
||||
public static function find_one( $parameters = array(), $options = array() ) {
|
||||
return ZM_Object::_find_one(get_class(), $parameters, $options);
|
||||
}
|
||||
|
||||
public function commands() {
|
||||
$cmds = array();
|
||||
|
||||
$cmds['Wake'] = 'wake';
|
||||
$cmds['Sleep'] = 'sleep';
|
||||
$cmds['Reset'] = 'reset';
|
||||
$cmds['Reboot'] = 'reboot';
|
||||
|
||||
$cmds['PresetSet'] = 'presetSet';
|
||||
$cmds['PresetGoto'] = 'presetGoto';
|
||||
$cmds['PresetHome'] = 'presetHome';
|
||||
|
||||
if ( $this->CanZoom() ) {
|
||||
if ( $this->CanZoomCon() )
|
||||
$cmds['ZoomRoot'] = 'zoomCon';
|
||||
elseif ( $this->CanZoomRel() )
|
||||
$cmds['ZoomRoot'] = 'zoomRel';
|
||||
elseif ( $this->CanZoomAbs() )
|
||||
$cmds['ZoomRoot'] = 'zoomAbs';
|
||||
$cmds['ZoomTele'] = $cmds['ZoomRoot'].'Tele';
|
||||
$cmds['ZoomWide'] = $cmds['ZoomRoot'].'Wide';
|
||||
$cmds['ZoomStop'] = 'zoomStop';
|
||||
$cmds['ZoomAuto'] = 'zoomAuto';
|
||||
$cmds['ZoomMan'] = 'zoomMan';
|
||||
}
|
||||
|
||||
if ( $this->CanFocus() ) {
|
||||
if ( $this->CanFocusCon() )
|
||||
$cmds['FocusRoot'] = 'focusCon';
|
||||
elseif ( $this->CanFocusRel() )
|
||||
$cmds['FocusRoot'] = 'focusRel';
|
||||
elseif ( $this->CanFocusAbs() )
|
||||
$cmds['FocusRoot'] = 'focusAbs';
|
||||
$cmds['FocusFar'] = $cmds['FocusRoot'].'Far';
|
||||
$cmds['FocusNear'] = $cmds['FocusRoot'].'Near';
|
||||
$cmds['FocusStop'] = 'focusStop';
|
||||
$cmds['FocusAuto'] = 'focusAuto';
|
||||
$cmds['FocusMan'] = 'focusMan';
|
||||
}
|
||||
|
||||
if ( $this->CanIris() ) {
|
||||
if ( $this->CanIrisCon() )
|
||||
$cmds['IrisRoot'] = 'irisCon';
|
||||
elseif ( $this->CanIrisRel() )
|
||||
$cmds['IrisRoot'] = 'irisRel';
|
||||
elseif ( $this->CanIrisAbs() )
|
||||
$cmds['IrisRoot'] = 'irisAbs';
|
||||
$cmds['IrisOpen'] = $cmds['IrisRoot'].'Open';
|
||||
$cmds['IrisClose'] = $cmds['IrisRoot'].'Close';
|
||||
$cmds['IrisStop'] = 'irisStop';
|
||||
$cmds['IrisAuto'] = 'irisAuto';
|
||||
$cmds['IrisMan'] = 'irisMan';
|
||||
}
|
||||
|
||||
if ( $this->CanWhite() ) {
|
||||
if ( $this->CanWhiteCon() )
|
||||
$cmds['WhiteRoot'] = 'whiteCon';
|
||||
elseif ( $this->CanWhiteRel() )
|
||||
$cmds['WhiteRoot'] = 'whiteRel';
|
||||
elseif ( $this->CanWhiteAbs() )
|
||||
$cmds['WhiteRoot'] = 'whiteAbs';
|
||||
$cmds['WhiteIn'] = $cmds['WhiteRoot'].'In';
|
||||
$cmds['WhiteOut'] = $cmds['WhiteRoot'].'Out';
|
||||
$cmds['WhiteAuto'] = 'whiteAuto';
|
||||
$cmds['WhiteMan'] = 'whiteMan';
|
||||
}
|
||||
|
||||
if ( $this->CanGain() ) {
|
||||
if ( $this->CanGainCon() )
|
||||
$cmds['GainRoot'] = 'gainCon';
|
||||
elseif ( $this->CanGainRel() )
|
||||
$cmds['GainRoot'] = 'gainRel';
|
||||
elseif ( $this->CanGainAbs() )
|
||||
$cmds['GainRoot'] = 'gainAbs';
|
||||
$cmds['GainUp'] = $cmds['GainRoot'].'Up';
|
||||
$cmds['GainDown'] = $cmds['GainRoot'].'Down';
|
||||
$cmds['GainAuto'] = 'gainAuto';
|
||||
$cmds['GainMan'] = 'gainMan';
|
||||
}
|
||||
|
||||
if ( $this->CanMove() ) {
|
||||
if ( $this->CanMoveCon() ) {
|
||||
$cmds['MoveRoot'] = 'moveCon';
|
||||
$cmds['Center'] = 'moveStop';
|
||||
} elseif ( $this->CanMoveRel() ) {
|
||||
$cmds['MoveRoot'] = 'moveRel';
|
||||
$cmds['Center'] = $cmds['PresetHome'];
|
||||
} elseif ( $this->CanMoveAbs() ) {
|
||||
$cmds['MoveRoot'] = 'moveAbs';
|
||||
$cmds['Center'] = $cmds['PresetHome'];
|
||||
} else {
|
||||
Error( "Unknown type $k => $v of var " . gettype( $v ) );
|
||||
$this->{$k} = $v;
|
||||
$cmds['MoveRoot'] = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
public static function find( $parameters = null, $options = null ) {
|
||||
$sql = 'SELECT * FROM Controls ';
|
||||
$values = array();
|
||||
|
||||
if ( $parameters ) {
|
||||
$fields = array();
|
||||
$sql .= 'WHERE ';
|
||||
foreach ( $parameters as $field => $value ) {
|
||||
if ( $value == null ) {
|
||||
$fields[] = $field.' IS NULL';
|
||||
} else if ( is_array( $value ) ) {
|
||||
$func = function(){return '?';};
|
||||
$fields[] = $field.' IN ('.implode(',', array_map( $func, $value ) ). ')';
|
||||
$values += $value;
|
||||
|
||||
} else {
|
||||
$fields[] = $field.'=?';
|
||||
$values[] = $value;
|
||||
}
|
||||
}
|
||||
$sql .= implode(' AND ', $fields );
|
||||
$cmds['MoveUp'] = $cmds['MoveRoot'].'Up';
|
||||
$cmds['MoveDown'] = $cmds['MoveRoot'].'Down';
|
||||
$cmds['MoveLeft'] = $cmds['MoveRoot'].'Left';
|
||||
$cmds['MoveRight'] = $cmds['MoveRoot'].'Right';
|
||||
$cmds['MoveUpLeft'] = $cmds['MoveRoot'].'UpLeft';
|
||||
$cmds['MoveUpRight'] = $cmds['MoveRoot'].'UpRight';
|
||||
$cmds['MoveDownLeft'] = $cmds['MoveRoot'].'DownLeft';
|
||||
$cmds['MoveDownRight'] = $cmds['MoveRoot'].'DownRight';
|
||||
}
|
||||
if ( $options ) {
|
||||
if ( isset($options['order']) ) {
|
||||
$sql .= ' ORDER BY ' . $options['order'];
|
||||
}
|
||||
if ( isset($options['limit']) ) {
|
||||
if ( is_integer($options['limit']) or ctype_digit($options['limit']) ) {
|
||||
$sql .= ' LIMIT ' . $options['limit'];
|
||||
} else {
|
||||
$backTrace = debug_backtrace();
|
||||
$file = $backTrace[1]['file'];
|
||||
$line = $backTrace[1]['line'];
|
||||
Error("Invalid value for limit(".$options['limit'].") passed to Control::find from $file:$line");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
$controls = array();
|
||||
$result = dbQuery($sql, $values);
|
||||
$results = $result->fetchALL(PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE, 'Control');
|
||||
foreach ( $results as $row => $obj ) {
|
||||
$controls[] = $obj;
|
||||
}
|
||||
return $controls;
|
||||
}
|
||||
|
||||
public static function find_one( $parameters = array() ) {
|
||||
$results = Control::find( $parameters, array('limit'=>1) );
|
||||
if ( ! sizeof($results) ) {
|
||||
return;
|
||||
}
|
||||
return $results[0];
|
||||
}
|
||||
|
||||
public function save( $new_values = null ) {
|
||||
|
||||
if ( $new_values ) {
|
||||
foreach ( $new_values as $k=>$v ) {
|
||||
$this->{$k} = $v;
|
||||
}
|
||||
}
|
||||
// Set default values
|
||||
foreach ( $this->defaults as $k=>$v ) {
|
||||
if ( ( ! array_key_exists( $k, $this ) ) or ( $this->{$k} == '' ) ) {
|
||||
$this->{$k} = $v;
|
||||
}
|
||||
}
|
||||
|
||||
$fields = array_keys( $this->defaults );
|
||||
|
||||
if ( array_key_exists( 'Id', $this ) ) {
|
||||
$sql = 'UPDATE Controls SET '.implode(', ', array_map( function($field) {return $field.'=?';}, $fields ) ) . ' WHERE Id=?';
|
||||
$values = array_map( function($field){return $this->{$field};}, $fields );
|
||||
$values[] = $this->{'Id'};
|
||||
dbQuery( $sql, $values );
|
||||
} else {
|
||||
$sql = 'INSERT INTO Controls SET '.implode(', ', array_map( function($field) {return $field.'=?';}, $fields ) ) . '';
|
||||
$values = array_map( function($field){return $this->{$field};}, $fields );
|
||||
dbQuery( $sql, $values );
|
||||
$this->{'Id'} = dbInsertId();
|
||||
}
|
||||
} // end function save
|
||||
|
||||
return $cmds;
|
||||
} // end public function commands
|
||||
} // end class Control
|
||||
?>
|
||||
|
|
|
@ -18,123 +18,19 @@
|
|||
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
//
|
||||
|
||||
function getControlCommands( $monitor ) {
|
||||
$cmds = array();
|
||||
|
||||
$cmds['Wake'] = 'wake';
|
||||
$cmds['Sleep'] = 'sleep';
|
||||
$cmds['Reset'] = 'reset';
|
||||
$cmds['Reboot'] = 'reboot';
|
||||
|
||||
$cmds['PresetSet'] = 'presetSet';
|
||||
$cmds['PresetGoto'] = 'presetGoto';
|
||||
$cmds['PresetHome'] = 'presetHome';
|
||||
|
||||
if ( $monitor->CanZoom() ) {
|
||||
if ( $monitor->CanZoomCon() )
|
||||
$cmds['ZoomRoot'] = 'zoomCon';
|
||||
elseif ( $monitor->CanZoomRel() )
|
||||
$cmds['ZoomRoot'] = 'zoomRel';
|
||||
elseif ( $monitor->CanZoomAbs() )
|
||||
$cmds['ZoomRoot'] = 'zoomAbs';
|
||||
$cmds['ZoomTele'] = $cmds['ZoomRoot'].'Tele';
|
||||
$cmds['ZoomWide'] = $cmds['ZoomRoot'].'Wide';
|
||||
$cmds['ZoomStop'] = 'zoomStop';
|
||||
$cmds['ZoomAuto'] = 'zoomAuto';
|
||||
$cmds['ZoomMan'] = 'zoomMan';
|
||||
}
|
||||
|
||||
if ( $monitor->CanFocus() ) {
|
||||
if ( $monitor->CanFocusCon() )
|
||||
$cmds['FocusRoot'] = 'focusCon';
|
||||
elseif ( $monitor->CanFocusRel() )
|
||||
$cmds['FocusRoot'] = 'focusRel';
|
||||
elseif ( $monitor->CanFocusAbs() )
|
||||
$cmds['FocusRoot'] = 'focusAbs';
|
||||
$cmds['FocusFar'] = $cmds['FocusRoot'].'Far';
|
||||
$cmds['FocusNear'] = $cmds['FocusRoot'].'Near';
|
||||
$cmds['FocusStop'] = 'focusStop';
|
||||
$cmds['FocusAuto'] = 'focusAuto';
|
||||
$cmds['FocusMan'] = 'focusMan';
|
||||
}
|
||||
|
||||
if ( $monitor->CanIris() ) {
|
||||
if ( $monitor->CanIrisCon() )
|
||||
$cmds['IrisRoot'] = 'irisCon';
|
||||
elseif ( $monitor->CanIrisRel() )
|
||||
$cmds['IrisRoot'] = 'irisRel';
|
||||
elseif ( $monitor->CanIrisAbs() )
|
||||
$cmds['IrisRoot'] = 'irisAbs';
|
||||
$cmds['IrisOpen'] = $cmds['IrisRoot'].'Open';
|
||||
$cmds['IrisClose'] = $cmds['IrisRoot'].'Close';
|
||||
$cmds['IrisStop'] = 'irisStop';
|
||||
$cmds['IrisAuto'] = 'irisAuto';
|
||||
$cmds['IrisMan'] = 'irisMan';
|
||||
}
|
||||
|
||||
if ( $monitor->CanWhite() ) {
|
||||
if ( $monitor->CanWhiteCon() )
|
||||
$cmds['WhiteRoot'] = 'whiteCon';
|
||||
elseif ( $monitor->CanWhiteRel() )
|
||||
$cmds['WhiteRoot'] = 'whiteRel';
|
||||
elseif ( $monitor->CanWhiteAbs() )
|
||||
$cmds['WhiteRoot'] = 'whiteAbs';
|
||||
$cmds['WhiteIn'] = $cmds['WhiteRoot'].'In';
|
||||
$cmds['WhiteOut'] = $cmds['WhiteRoot'].'Out';
|
||||
$cmds['WhiteAuto'] = 'whiteAuto';
|
||||
$cmds['WhiteMan'] = 'whiteMan';
|
||||
}
|
||||
|
||||
if ( $monitor->CanGain() ) {
|
||||
if ( $monitor->CanGainCon() )
|
||||
$cmds['GainRoot'] = 'gainCon';
|
||||
elseif ( $monitor->CanGainRel() )
|
||||
$cmds['GainRoot'] = 'gainRel';
|
||||
elseif ( $monitor->CanGainAbs() )
|
||||
$cmds['GainRoot'] = 'gainAbs';
|
||||
$cmds['GainUp'] = $cmds['GainRoot'].'Up';
|
||||
$cmds['GainDown'] = $cmds['GainRoot'].'Down';
|
||||
$cmds['GainAuto'] = 'gainAuto';
|
||||
$cmds['GainMan'] = 'gainMan';
|
||||
}
|
||||
|
||||
if ( $monitor->CanMove() ) {
|
||||
if ( $monitor->CanMoveCon() ) {
|
||||
$cmds['MoveRoot'] = 'moveCon';
|
||||
$cmds['Center'] = 'moveStop';
|
||||
} elseif ( $monitor->CanMoveRel() ) {
|
||||
$cmds['MoveRoot'] = 'moveRel';
|
||||
$cmds['Center'] = $cmds['PresetHome'];
|
||||
} elseif ( $monitor->CanMoveAbs() ) {
|
||||
$cmds['MoveRoot'] = 'moveAbs';
|
||||
$cmds['Center'] = $cmds['PresetHome'];
|
||||
} else {
|
||||
$cmds['MoveRoot'] = '';
|
||||
}
|
||||
|
||||
$cmds['MoveUp'] = $cmds['MoveRoot'].'Up';
|
||||
$cmds['MoveDown'] = $cmds['MoveRoot'].'Down';
|
||||
$cmds['MoveLeft'] = $cmds['MoveRoot'].'Left';
|
||||
$cmds['MoveRight'] = $cmds['MoveRoot'].'Right';
|
||||
$cmds['MoveUpLeft'] = $cmds['MoveRoot'].'UpLeft';
|
||||
$cmds['MoveUpRight'] = $cmds['MoveRoot'].'UpRight';
|
||||
$cmds['MoveDownLeft'] = $cmds['MoveRoot'].'DownLeft';
|
||||
$cmds['MoveDownRight'] = $cmds['MoveRoot'].'DownRight';
|
||||
}
|
||||
return( $cmds );
|
||||
}
|
||||
|
||||
function controlFocus( $monitor, $cmds ) {
|
||||
function controlFocus($monitor, $cmds) {
|
||||
$control = $monitor->Control();
|
||||
ob_start();
|
||||
?>
|
||||
<div class="arrowControl focusControls">
|
||||
<div class="arrowLabel"><?php echo translate('Near') ?></div>
|
||||
<button type="button" class="longArrowBtn upBtn" onclick="controlCmd('<?php echo $cmds['FocusNear'] ?>',event,0,-1)"></button>
|
||||
<button type="button" class="arrowCenter"<?php if ( $monitor->CanFocusCon() ) { ?> onclick="controlCmd('<?php echo $cmds['FocusStop'] ?>')"<?php } ?>><?php echo translate('Focus') ?></button>
|
||||
<button type="button" class="arrowCenter"<?php if ( $control->CanFocusCon() ) { ?> onclick="controlCmd('<?php echo $cmds['FocusStop'] ?>')"<?php } ?>><?php echo translate('Focus') ?></button>
|
||||
<button type="button" class="longArrowBtn downBtn" onclick="controlCmd('<?php echo $cmds['FocusFar'] ?>',event,0,1)"></button>
|
||||
<div class="arrowLabel"><?php echo translate('Far') ?></div>
|
||||
<?php
|
||||
if ( $monitor->CanAutoFocus() ) {
|
||||
if ( $control->CanAutoFocus() ) {
|
||||
?>
|
||||
<button type="button" class="ptzTextBtn" value="<?php echo $cmds['FocusAuto'] ?>" onclick="controlCmd('<?php echo $cmds['FocusAuto'] ?>')"><?php echo translate('Auto') ?></button>
|
||||
<button type="button" class="ptzTextBtn" value="<?php echo $cmds['FocusMan'] ?>" onclick="controlCmd('<?php echo $cmds['FocusMan'] ?>')"><?php echo translate('Man') ?></button>
|
||||
|
@ -146,9 +42,8 @@ function controlFocus( $monitor, $cmds ) {
|
|||
return ob_get_clean();
|
||||
}
|
||||
|
||||
function controlZoom( $monitor, $cmds ) {
|
||||
global $SLANG;
|
||||
|
||||
function controlZoom($monitor, $cmds) {
|
||||
$control = $monitor->Control();
|
||||
ob_start();
|
||||
?>
|
||||
<div class="arrowControl zoomControls">
|
||||
|
@ -169,19 +64,18 @@ function controlZoom( $monitor, $cmds ) {
|
|||
return ob_get_clean();
|
||||
}
|
||||
|
||||
function controlIris( $monitor, $cmds ) {
|
||||
global $SLANG;
|
||||
|
||||
function controlIris($monitor, $cmds) {
|
||||
$control = $monitor->Control();
|
||||
ob_start();
|
||||
?>
|
||||
<div class="arrowControl irisControls">
|
||||
<div class="arrowLabel"><?php echo translate('Open') ?></div>
|
||||
<button type="button" class="longArrowBtn upBtn" onclick="controlCmd('<?php echo $cmds['IrisOpen'] ?>',event,0,-1)"></button>
|
||||
<button type="button" class="arrowCenter"<?php if ( $monitor->CanIrisCon() ) { ?> onclick="controlCmd('<?php echo $cmds['IrisStop'] ?>')"<?php } ?>><?php echo translate('Iris') ?></button>
|
||||
<button type="button" class="arrowCenter"<?php if ( $control->CanIrisCon() ) { ?> onclick="controlCmd('<?php echo $cmds['IrisStop'] ?>')"<?php } ?>><?php echo translate('Iris') ?></button>
|
||||
<button type="button" class="longArrowBtn downBtn" onclick="controlCmd('<?php echo $cmds['IrisClose'] ?>',event,0,1)"></button>
|
||||
<div class="arrowLabel"><?php echo translate('Close') ?></div>
|
||||
<?php
|
||||
if ( $monitor->CanAutoIris() ) {
|
||||
if ( $console->CanAutoIris() ) {
|
||||
?>
|
||||
<button type="button" class="ptzTextBtn" value="Auto" onclick="controlCmd('<?php echo $cmds['IrisAuto'] ?>')"><?php echo translate('Auto') ?></button>
|
||||
<button type="button" class="ptzTextBtn" value="Man" onclick="controlCmd('<?php echo $cmds['IrisMan'] ?>')"><?php echo translate('Man') ?></button>
|
||||
|
@ -193,15 +87,14 @@ function controlIris( $monitor, $cmds ) {
|
|||
return ob_get_clean();
|
||||
}
|
||||
|
||||
function controlWhite( $monitor, $cmds ) {
|
||||
global $SLANG;
|
||||
|
||||
function controlWhite($monitor, $cmds) {
|
||||
$control = $monitor->Control();
|
||||
ob_start();
|
||||
?>
|
||||
<div class="arrowControl whiteControls">
|
||||
<div class="arrowLabel"><?php echo translate('In') ?></div>
|
||||
<button type="button" class="longArrowBtn upBtn" onclick="controlCmd('<?php echo $cmds['WhiteIn'] ?>',event,0,-1)"></button>
|
||||
<button type="button" class="arrowCenter"<?php if ( $monitor->CanWhiteCon() ) { ?> onclick="controlCmd('<?php echo $cmds['WhiteStop'] ?>')"<?php } ?>><?php echo translate('White') ?></button>
|
||||
<button type="button" class="arrowCenter"<?php if ( $control->CanWhiteCon() ) { ?> onclick="controlCmd('<?php echo $cmds['WhiteStop'] ?>')"<?php } ?>><?php echo translate('White') ?></button>
|
||||
<button type="button" class="longArrowBtn downBtn" onclick="controlCmd('<?php echo $cmds['WhiteOut'] ?>',event,0,1)"></button>
|
||||
<div class="arrowLabel"><?php echo translate('Out') ?></div>
|
||||
<?php
|
||||
|
@ -217,18 +110,17 @@ function controlWhite( $monitor, $cmds ) {
|
|||
return ob_get_clean();
|
||||
}
|
||||
|
||||
function controlPanTilt( $monitor, $cmds ) {
|
||||
global $SLANG;
|
||||
|
||||
function controlPanTilt($monitor, $cmds) {
|
||||
$control = $monitor->Control();
|
||||
ob_start();
|
||||
?>
|
||||
<div class="pantiltControls">
|
||||
<div class="pantiltLabel"><?php echo translate('PanTilt') ?></div>
|
||||
<div class="pantiltButtons">
|
||||
<?php
|
||||
$hasPan = $monitor->CanPan();
|
||||
$hasTilt = $monitor->CanTilt();
|
||||
$hasDiag = $hasPan && $hasTilt && $monitor->CanMoveDiag();
|
||||
$hasPan = $control->CanPan();
|
||||
$hasTilt = $control->CanTilt();
|
||||
$hasDiag = $hasPan && $hasTilt && $control->CanMoveDiag();
|
||||
?>
|
||||
<button type="button" class="arrowBtn upLeftBtn<?php echo $hasDiag?'':' invisible' ?>" onclick="controlCmd('<?php echo $cmds['MoveUpLeft'] ?>',event,-1,-1)"></button>
|
||||
<button type="button" class="arrowBtn upBtn<?php echo $hasTilt?'':' invisible' ?>" onclick="controlCmd('<?php echo $cmds['MoveUp'] ?>',event,0,-1)"></button>
|
||||
|
@ -249,11 +141,10 @@ function controlPanTilt( $monitor, $cmds ) {
|
|||
return ob_get_clean();
|
||||
}
|
||||
|
||||
function controlPresets( $monitor, $cmds ) {
|
||||
global $SLANG;
|
||||
|
||||
function controlPresets($monitor, $cmds) {
|
||||
$control = $monitor->Control();
|
||||
// MAX_PRESETS IS PER LINE
|
||||
define( 'MAX_PRESETS', '12' );
|
||||
define('MAX_PRESETS', '12');
|
||||
|
||||
$sql = 'SELECT * FROM ControlPresets WHERE MonitorId = ?';
|
||||
$labels = array();
|
||||
|
@ -261,7 +152,7 @@ function controlPresets( $monitor, $cmds ) {
|
|||
$labels[$row['Preset']] = $row['Label'];
|
||||
}
|
||||
|
||||
$presetBreak = (int)(($monitor->NumPresets()+1)/((int)(($monitor->NumPresets()-1)/MAX_PRESETS)+1));
|
||||
$presetBreak = (int)(($control->NumPresets()+1)/((int)(($control->NumPresets()-1)/MAX_PRESETS)+1));
|
||||
|
||||
ob_start();
|
||||
?>
|
||||
|
@ -269,7 +160,7 @@ function controlPresets( $monitor, $cmds ) {
|
|||
<!--<div><?php echo translate('Presets') ?></div>-->
|
||||
<div>
|
||||
<?php
|
||||
for ( $i = 1; $i <= $monitor->NumPresets(); $i++ ) {
|
||||
for ( $i = 1; $i <= $control->NumPresets(); $i++ ) {
|
||||
?>
|
||||
<button type="button" class="ptzNumBtn" title="<?php echo isset($labels[$i])?htmlentities($labels[$i]):'' ?>" value="<?php echo $i ?>" onclick="controlCmd('<?php echo $cmds['PresetGoto'] ?><?php echo $i ?>');"/><?php echo $i ?></button>
|
||||
<?php
|
||||
|
@ -281,12 +172,12 @@ function controlPresets( $monitor, $cmds ) {
|
|||
</div>
|
||||
<div>
|
||||
<?php
|
||||
if ( $monitor->HasHomePreset() ) {
|
||||
if ( $control->HasHomePreset() ) {
|
||||
?>
|
||||
<button type="button" class="ptzTextBtn" value="Home" onclick="controlCmd('<?php echo $cmds['PresetHome'] ?>');"><?php echo translate('Home') ?></button>
|
||||
<?php
|
||||
}
|
||||
if ( canEdit('Monitors') && $monitor->CanSetPresets() ) {
|
||||
if ( canEdit('Monitors') && $control->CanSetPresets() ) {
|
||||
?>
|
||||
<button type="button" class="ptzTextBtn popup-link" value="Set" data-url="?view=controlpreset&mid=<?php echo $monitor->Id() ?>" data-window-name="zmPreset" data-window-tag="preset"><?php echo translate('Set') ?></button>
|
||||
<?php
|
||||
|
@ -298,31 +189,30 @@ function controlPresets( $monitor, $cmds ) {
|
|||
return ob_get_clean();
|
||||
}
|
||||
|
||||
function controlPower( $monitor, $cmds ) {
|
||||
global $SLANG;
|
||||
|
||||
function controlPower($monitor, $cmds) {
|
||||
$control = $monitor->Control();
|
||||
ob_start();
|
||||
?>
|
||||
<div class="powerControls">
|
||||
<div class="powerLabel"><?php echo translate('Control') ?></div>
|
||||
<div>
|
||||
<?php
|
||||
if ( $monitor->CanWake() ) {
|
||||
if ( $control->CanWake() ) {
|
||||
?>
|
||||
<button type="button" class="ptzTextBtn" value="Wake" onclick="controlCmd('<?php echo $cmds['Wake'] ?>')"><?php echo translate('Wake') ?></button>
|
||||
<?php
|
||||
}
|
||||
if ( $monitor->CanSleep() ) {
|
||||
if ( $control->CanSleep() ) {
|
||||
?>
|
||||
<button type="button" class="ptzTextBtn" value="Sleep" onclick="controlCmd('<?php echo $cmds['Sleep'] ?>')"><?php echo translate('Sleep') ?></button>
|
||||
<?php
|
||||
}
|
||||
if ( $monitor->CanReset() ) {
|
||||
if ( $control->CanReset() ) {
|
||||
?>
|
||||
<button type="button" class="ptzTextBtn" value="Reset" onclick="controlCmd('<?php echo $cmds['Reset'] ?>')"><?php echo translate('Reset') ?></button>
|
||||
<?php
|
||||
}
|
||||
if ( $monitor->CanReboot() ) {
|
||||
if ( $control->CanReboot() ) {
|
||||
?>
|
||||
<button type="button" class="ptzTextBtn" value="Reboot" onclick="controlCmd('<?php echo $cmds['Reboot'] ?>')"><?php echo translate('Reboot') ?></button>
|
||||
<?php
|
||||
|
@ -334,30 +224,33 @@ function controlPower( $monitor, $cmds ) {
|
|||
return ob_get_clean();
|
||||
}
|
||||
|
||||
function ptzControls( $monitor ) {
|
||||
$cmds = getControlCommands($monitor);
|
||||
function ptzControls($monitor) {
|
||||
$control = $monitor->Control();
|
||||
ZM\Error("Control: " . print_r($control,true));
|
||||
$cmds = $control->commands();
|
||||
ZM\Error("Cmds: " . print_r($cmds, true));
|
||||
ob_start();
|
||||
?>
|
||||
<div class="controlsPanel">
|
||||
<?php
|
||||
if ( $monitor->CanFocus() )
|
||||
if ( $control->CanFocus() )
|
||||
echo controlFocus($monitor, $cmds);
|
||||
if ( $monitor->CanZoom() )
|
||||
if ( $control->CanZoom() )
|
||||
echo controlZoom($monitor, $cmds);
|
||||
if ( $monitor->CanIris() )
|
||||
if ( $control->CanIris() )
|
||||
echo controlIris($monitor, $cmds);
|
||||
if ( $monitor->CanWhite() )
|
||||
if ( $control->CanWhite() )
|
||||
echo controlWhite($monitor, $cmds);
|
||||
if ( $monitor->CanMove() ) {
|
||||
if ( $control->CanMove() ) {
|
||||
?>
|
||||
<div class="pantiltPanel">
|
||||
<?php echo controlPanTilt($monitor, $cmds); ?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
if ( $monitor->CanWake() || $monitor->CanSleep() || $monitor->CanReset() )
|
||||
if ( $control->CanWake() || $control->CanSleep() || $control->CanReset() )
|
||||
echo controlPower($monitor, $cmds);
|
||||
if ( $monitor->HasPresets() )
|
||||
if ( $control->HasPresets() )
|
||||
echo controlPresets($monitor, $cmds);
|
||||
?>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue