Remove all PHP from the tab-monitor files.
This means some features aren't there and will need to be fixed / added later
This commit is contained in:
parent
9ce1f4c159
commit
99aac2a372
|
@ -1,26 +1,26 @@
|
|||
<div role="tabpanel" class="tab-pane" id="buffers">
|
||||
<div class="form-group">
|
||||
<label for="ImageBufferCount"><?= $SLANG['ImageBufferSize'] ?></label>
|
||||
<label for="ImageBufferCount">Image Buffer Size</label>
|
||||
<input id="ImageBufferCount" type="text" class="form-control" ng-model="monitor.ImageBufferCount" required />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="WarmupCount"><?= $SLANG['WarmupFrames'] ?></label>
|
||||
<label for="WarmupCount">Warmup Frames</label>
|
||||
<input id="WarmupCount" type="text" class="form-control" ng-model="monitor.WarmupCount" required />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="PreEventCount"><?= $SLANG['PreEventImageBuffer'] ?></label>
|
||||
<label for="PreEventCount">Pre Event Image Buffer</label>
|
||||
<input id="PreEventCount" type="text" class="form-control" ng-model="monitor.PreEventCount" required />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="PostEventCount"><?= $SLANG['PostEventImageBuffer'] ?></label>
|
||||
<label for="PostEventCount">Post Event Image Buffer</label>
|
||||
<input id="PostEventCount" type="text" class="form-control" ng-model="monitor.PostEventCount" required />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="StreamReplayBuffer"><?= $SLANG['StreamReplayBuffer'] ?></label>
|
||||
<label for="StreamReplayBuffer">Stream Replay Buffer</label>
|
||||
<input id="StreamReplayBuffer" type="text" class="form-control" ng-model="monitor.StreamReplayBuffer" required />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="AlarmFrameCount"><?= $SLANG['AlarmFrameCount'] ?></label>
|
||||
<label for="AlarmFrameCount">Alarm Frame Count</label>
|
||||
<input id="AlarmFrameCount" type="text" class="form-control" ng-model="monitor.AlarmFrameCount" required />
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,21 +1,14 @@
|
|||
<div role="tabpanel" class="form-horizontal tab-pane" id="control">
|
||||
|
||||
|
||||
<tr><td><?= $SLANG['Controllable'] ?></td><td><input type="checkbox" name="newMonitor[Controllable]" value="1"<?php if ( !empty($newMonitor['Controllable']) ) { ?> checked="checked"<?php } ?>/></td></tr>
|
||||
<tr><td><?= $SLANG['ControlType'] ?></td><td><?= buildSelect( "newMonitor[ControlId]", $controlTypes, 'loadLocations( this )' ); ?><?php if ( canEdit( 'Control' ) ) { ?> <a href="#" onclick="createPopup( '?view=controlcaps', 'zmControlCaps', 'controlcaps' );"><?= $SLANG['Edit'] ?></a><?php } ?></td></tr>
|
||||
<tr><td><?= $SLANG['ControlDevice'] ?></td><td><input type="text" name="newMonitor[ControlDevice]" value="<?= validHtmlStr($newMonitor['ControlDevice']) ?>" size="32"/></td></tr>
|
||||
<tr><td><?= $SLANG['ControlAddress'] ?></td><td><input type="text" name="newMonitor[ControlAddress]" value="<?= validHtmlStr($newMonitor['ControlAddress']) ?>" size="32"/></td></tr>
|
||||
<tr><td><?= $SLANG['AutoStopTimeout'] ?></td><td><input type="text" name="newMonitor[AutoStopTimeout]" value="<?= validHtmlStr($newMonitor['AutoStopTimeout']) ?>" size="4"/></td></tr>
|
||||
<tr><td><?= $SLANG['TrackMotion'] ?></td><td><input type="checkbox" name="newMonitor[TrackMotion]" value="1"<?php if ( !empty($newMonitor['TrackMotion']) ) { ?> checked="checked"<?php } ?>/></td></tr>
|
||||
<?php
|
||||
$return_options = array(
|
||||
'-1' => $SLANG['None'],
|
||||
'0' => $SLANG['Home'],
|
||||
'1' => $SLANG['Preset']." 1",
|
||||
);
|
||||
?>
|
||||
<tr><td><?= $SLANG['TrackDelay'] ?></td><td><input type="text" name="newMonitor[TrackDelay]" value="<?= validHtmlStr($newMonitor['TrackDelay']) ?>" size="4"/></td></tr>
|
||||
<tr><td><?= $SLANG['ReturnLocation'] ?></td><td><?= buildSelect( "newMonitor[ReturnLocation]", $return_options ); ?></td></tr>
|
||||
<tr><td><?= $SLANG['ReturnDelay'] ?></td><td><input type="text" name="newMonitor[ReturnDelay]" value="<?= validHtmlStr($newMonitor['ReturnDelay']) ?>" size="4"/></td></tr>
|
||||
<tr><td>Controllable</td><td><input type="checkbox" name="newMonitor[Controllable]" value="1"></td></tr>
|
||||
<tr><td>ControlType</td><td>
|
||||
<tr><td>ControlDevice</td><td><input type="text" name="newMonitor[ControlDevice]" value="" size="32"/></td></tr>
|
||||
<tr><td>ControlAddress</td><td><input type="text" name="newMonitor[ControlAddress]" value="" size="32"/></td></tr>
|
||||
<tr><td>AutoStopTimeout</td><td><input type="text" name="newMonitor[AutoStopTimeout]" value="" size="4"/></td></tr>
|
||||
<tr><td>TrackMotion</td><td><input type="checkbox" name="newMonitor[TrackMotion]" value="1" /></td></tr>
|
||||
<tr><td>TrackDelay</td><td><input type="text" name="newMonitor[TrackDelay]" value="" size="4"/></td></tr>
|
||||
<tr><td>ReturnLocation</td><td></td></tr>
|
||||
<tr><td>ReturnDelay</td><td><input type="text" name="newMonitor[ReturnDelay]" value="" size="4"/></td></tr>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -1,17 +1,22 @@
|
|||
<div ng-show="monitor.Type == 'Libvlc' || monitor.Type == 'Ffmpeg'">
|
||||
<div class="form-group">
|
||||
<label><?= $SLANG['SourcePath'] ?></label>
|
||||
<label>SourcePath</label>
|
||||
<input class="form-control" type="text" ng-model="monitor.Path" />
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label><?= $SLANG['RemoteMethod'] ?></label>
|
||||
<?= buildSelect( "newMonitor[Method]", $rtspMethods ); ?>
|
||||
<label>RemoteMethod</label>
|
||||
<select ng-mdoel="monitor.Method">
|
||||
<option value="rtpUni">RTP/Unicast</option>
|
||||
<option value="rtpMulti">RTP/Multicast</option>
|
||||
<option value="rtpRtsp">RTP/RTSP</option>
|
||||
<option value="rtpRtspHttp">RTP/RTSP/HTTP</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label><?= $SLANG['Options'] ?> (<?= makePopupLink( '?view=optionhelp&option=OPTIONS_'.strtoupper($newMonitor['Type']), 'zmOptionHelp', 'optionhelp', '?' ) ?>)</label>
|
||||
<label>Options</label>
|
||||
<input class="form-control" type="text" ng-model="monitor.Options" />
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<div ng-show="monitor.Type == 'File'">
|
||||
<div class="form-group">
|
||||
<label><?= $SLANG['SourcePath'] ?></label>
|
||||
<label>SourcePath</label>
|
||||
<input type="text" ng-model="monitor.Path" />
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -4,99 +4,88 @@
|
|||
|
||||
<div class="col-md-4">
|
||||
|
||||
<div class="form-group">
|
||||
<label for="Name"><?= $SLANG['Name'] ?></label>
|
||||
<input type="text" id="Name" class="form-control" ng-model="monitor.Name" placeholder="Monitor-Name" required />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="Type"><?= $SLANG['SourceType'] ?></label>
|
||||
<select ng-model="monitor.Type" id="Type" class="form-control" required>
|
||||
<option value="Local">Local</option>
|
||||
<option value="Remote">Remote</option>
|
||||
<option value="File">File</option>
|
||||
<option value="Ffmpeg">Ffmpeg</option>
|
||||
<option value="Libvlc">Libvlc</option>
|
||||
<option value="cURL">cURL (HTTP(S) only)</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="Function"><?= $SLANG['Function'] ?></label>
|
||||
<select class="form-control" id="Function" ng-model="monitor.Function" required>
|
||||
<option value="None">None</option>
|
||||
<option value="Monitor" selected="selected">Monitor</option>
|
||||
<option value="Modect">Modect</option>
|
||||
<option value="Record">Record</option>
|
||||
<option value="Mocord">Mocord</option>
|
||||
<option value="Nodect">Nodect</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" id="Enabled" ng-model="monitor.Enabled" value="1"<?php if ( !empty($newMonitor['Enabled']) ) { ?> checked="checked"<?php } ?>/>
|
||||
Enabled
|
||||
</label>
|
||||
</div>
|
||||
<?php
|
||||
if ( ZM_FAST_IMAGE_BLENDS )
|
||||
{
|
||||
?>
|
||||
<div class="form-group">
|
||||
<label for=""><?= $SLANG['RefImageBlendPct'] ?></label>
|
||||
<select class="form-control" ng-model="monitor.RefBlendPerc"><?php foreach ( $fastblendopts as $name => $value ) { ?><option value="<?= $value ?>"<?php if ( $value == $newMonitor['RefBlendPerc'] ) { ?> selected="selected"<?php } ?>><?= $name ?></option><?php } ?></select></div>
|
||||
<div class="form-group">
|
||||
<label for=""><?= "Alarm " . $SLANG['RefImageBlendPct'] ?></label>
|
||||
<select class="form-control" ng-model="monitor.AlarmRefBlendPerc"><?php foreach ( $fastblendopts_alarm as $name => $value ) { ?><option value="<?= $value ?>"<?php if ( $value == $newMonitor['AlarmRefBlendPerc'] ) { ?> selected="selected"<?php } ?>><?= $name ?></option><?php } ?></select></div>
|
||||
<?php
|
||||
} else {
|
||||
?>
|
||||
<div class="form-group">
|
||||
<label for=""><?= $SLANG['RefImageBlendPct'] ?></label>
|
||||
<input type="text" class="form-control" ng-model="monitor.RefBlendPerc" value="6" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for=""><?= "Alarm " . $SLANG['RefImageBlendPct'] ?></label>
|
||||
<input type="text" class="form-control" ng-model="monitor.AlarmRefBlendPerc" value="6" />
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<div class="form-group" ng-show="monitor.Type == 'Local'">
|
||||
<label for="MaxFPS"><?= $SLANG['MaximumFPS'] ?></label>
|
||||
<input type="text" id="MaxFPS" class="form-control" ng-model="monitor.MaxFPS" />
|
||||
</div>
|
||||
<div class="form-group" ng-show="monitor.Type == 'Local'">
|
||||
<label for="AlarmMaxFPS"><?= $SLANG['AlarmMaximumFPS'] ?></label>
|
||||
<input type="text" id="AlarmMaxFPS" class="form-control" ng-model="monitor.AlarmMaxFPS" />
|
||||
</div>
|
||||
</div> <!-- End .col-md-6 -->
|
||||
<div class="form-group">
|
||||
<label for="Name">Name</label>
|
||||
<input type="text" id="Name" class="form-control" ng-model="monitor.Name" placeholder="Monitor-Name" required />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="Type">SourceType</label>
|
||||
<select ng-model="monitor.Type" id="Type" class="form-control" required>
|
||||
<option value="Local">Local</option>
|
||||
<option value="Remote">Remote</option>
|
||||
<option value="File">File</option>
|
||||
<option value="Ffmpeg">Ffmpeg</option>
|
||||
<option value="Libvlc">Libvlc</option>
|
||||
<option value="cURL">cURL (HTTP(S) only)</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="Function">Function</label>
|
||||
<select class="form-control" id="Function" ng-model="monitor.Function" required>
|
||||
<option value="None">None</option>
|
||||
<option value="Monitor" selected="selected">Monitor</option>
|
||||
<option value="Modect">Modect</option>
|
||||
<option value="Record">Record</option>
|
||||
<option value="Mocord">Mocord</option>
|
||||
<option value="Nodect">Nodect</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" id="Enabled" ng-model="monitor.Enabled" value="1">
|
||||
Enabled
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="">RefImageBlendPct</label>
|
||||
<input type="text" class="form-control" ng-model="monitor.RefBlendPerc" value="6" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="">Alarm RefImageBlendPct</label>
|
||||
<input type="text" class="form-control" ng-model="monitor.AlarmRefBlendPerc" value="6" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="">RefImageBlendPct</label>
|
||||
</div>
|
||||
<div class="form-group" ng-show="monitor.Type == 'Local'">
|
||||
<label for="MaxFPS">MaximumFPS</label>
|
||||
<input type="text" id="MaxFPS" class="form-control" ng-model="monitor.MaxFPS" />
|
||||
</div>
|
||||
<div class="form-group" ng-show="monitor.Type == 'Local'">
|
||||
<label for="AlarmMaxFPS">AlarmMaximumFPS</label>
|
||||
<input type="text" id="AlarmMaxFPS" class="form-control" ng-model="monitor.AlarmMaxFPS" />
|
||||
</div>
|
||||
</div> <!-- End .col-md-4 -->
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label for=""><?= "Target Colorspace" ?></label>
|
||||
<select required class="form-control" ng-model="monitor.Colours">
|
||||
<?php foreach ( $Colours as $name => $value ) { ?><option value="<?= $value ?>"<?php if ( $value == $newMonitor['Colours'] ) { ?> selected="selected"<?php } ?>><?= $name ?></option><?php } ?>
|
||||
<option value="1">8 Bit Grey</option>
|
||||
<option value="3">24 Bit Color</option>
|
||||
<option value="4">32 Bit Color</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for=""><?= $SLANG['CaptureWidth'] ?> (<?= $SLANG['Pixels'] ?>)</label>
|
||||
<label for="">CaptureWidth (Pixels)</label>
|
||||
<input class="form-control" type="text" ng-model="monitor.Width" placeholder="704" />
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for=""><?= $SLANG['CaptureHeight'] ?> (<?= $SLANG['Pixels'] ?>)</label>
|
||||
<label for="">CaptureHeight (Pixels)</label>
|
||||
<input class="form-control" type="text" ng-model="monitor.Height" placeholder="480" />
|
||||
</div>
|
||||
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" ng-model="monitor.preserveAspectRatio" value="1"/>
|
||||
<?= $SLANG['PreserveAspect'] ?>
|
||||
PreserveAspect
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for=""><?= $SLANG['Orientation'] ?></label>
|
||||
<label for="">Orientation</label>
|
||||
<select class="form-control" ng-model="monitor.Orientation" required>
|
||||
<option value="0">Normal</option>
|
||||
<option value="90">Rotate Right</option>
|
||||
|
@ -111,10 +100,10 @@
|
|||
<div class="col-md-4">
|
||||
|
||||
|
||||
<?php include("tab-monitor-local.php"); ?>
|
||||
<?php include("tab-monitor-curl.php"); ?>
|
||||
<?php include("tab-monitor-ffmpeg-vlc.php"); ?>
|
||||
<?php include("tab-monitor-remote.php"); ?>
|
||||
<section ng-include="'/views/tab-monitor-local.html'"></section>
|
||||
<section ng-include="'/views/tab-monitor-curl.html'"></section>
|
||||
<section ng-include="'/views/tab-monitor-ffmpeg-vlc.html'"></section>
|
||||
<section ng-include="'/views/tab-monitor-remote.html'"></section>
|
||||
|
||||
</div> <!-- End .col-md-4 -->
|
||||
</div> <!-- End .row -->
|
||||
|
|
|
@ -1,76 +1,56 @@
|
|||
<div ng-show="monitor.Type == 'Local'">
|
||||
|
||||
<div class="form-group">
|
||||
<label for=""><?= $SLANG['DevicePath'] ?></label>
|
||||
<label for="">DevicePath</label>
|
||||
<input type="text" class="form-control" ng-model="monitor.Device" ng-required="monitor.Type == 'Local'"/>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for=""><?= $SLANG['CaptureMethod'] ?></label>
|
||||
<?= buildSelect( "newMonitor[Method]", $localMethods, "submitTab( '$tab' )" ); ?>
|
||||
<label for="">CaptureMethod</label>
|
||||
<select class="form-control">
|
||||
<option value="v4l2">Video for Linux 2</option>
|
||||
<option value="v4l1">Video for Linux 1</option>
|
||||
</select>
|
||||
</div>
|
||||
<?php
|
||||
if ( ZM_HAS_V4L1 && $newMonitor['Method'] == 'v4l1' )
|
||||
{
|
||||
?>
|
||||
|
||||
<div class="form-group">
|
||||
<label for=""><?= $SLANG['DeviceChannel'] ?></label>
|
||||
<select ng-model="monitor.Channel"><?php foreach ( $v4l1DeviceChannels as $name => $value ) { ?><option value="<?= $value ?>"<?php if ( $value == $newMonitor['Channel'] ) { ?> selected="selected"<?php } ?>><?= $name ?></option><?php } ?></select>
|
||||
<label for="">DeviceChannel</label>
|
||||
<select ng-model="monitor.Channel">
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for=""><?= $SLANG['DeviceFormat'] ?></label>
|
||||
<select ng-model="monitor.Format"><?php foreach ( $v4l1DeviceFormats as $name => $value ) { ?><option value="<?= $value ?>"<?php if ( $value == $newMonitor['Format'] ) { ?> selected="selected"<?php } ?>><?= $name ?></option><?php } ?></select>
|
||||
<label for="">DeviceFormat</label>
|
||||
<select ng-model="monitor.Format">
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for=""><?= $SLANG['CapturePalette'] ?></label>
|
||||
<select ng-model="monitor.Palette"><?php foreach ( $v4l1LocalPalettes as $name => $value ) { ?><option value="<?= $value ?>"<?php if ( $value == $newMonitor['Palette'] ) { ?> selected="selected"<?php } ?>><?= $name ?></option><?php } ?></select>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
else
|
||||
{
|
||||
?>
|
||||
|
||||
<div class="form-group">
|
||||
<label for=""><?= $SLANG['DeviceChannel'] ?></label>
|
||||
<select ng-model="monitor.Channel"><?php foreach ( $v4l2DeviceChannels as $name => $value ) { ?><option value="<?= $value ?>"<?php if ( $value == $newMonitor['Channel'] ) { ?> selected="selected"<?php } ?>><?= $name ?></option><?php } ?></select>
|
||||
<label for="">CapturePalette</label>
|
||||
<select ng-model="monitor.Palette">
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for=""><?= $SLANG['DeviceFormat'] ?></label>
|
||||
<select ng-model="monitor.Format"><?php foreach ( $v4l2DeviceFormats as $name => $value ) { ?><option value="<?= $value ?>"<?php if ( $value == $newMonitor['Format'] ) { ?> selected="selected"<?php } ?>><?= $name ?></option><?php } ?></select>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for=""><?= $SLANG['CapturePalette'] ?></label>
|
||||
<select ng-model="monitor.Palette"><?php foreach ( $v4l2LocalPalettes as $name => $value ) { ?><option value="<?= $value ?>"<?php if ( $value == $newMonitor['Palette'] ) { ?> selected="selected"<?php } ?>><?= $name ?></option><?php } ?></select>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<div class="radio">
|
||||
<?= $SLANG['V4LMultiBuffer'] ?>
|
||||
V4LMultiBuffer
|
||||
|
||||
<label>
|
||||
<input type="radio" ng-model="monitor.V4LMultiBuffer" id="newMonitor[V4LMultiBuffer]1" value="1" <?php echo ( $newMonitor['V4LMultiBuffer'] == 1 ? 'checked="checked"' : '' ) ?>/>
|
||||
<input type="radio" ng-model="monitor.V4LMultiBuffer" id="newMonitor[V4LMultiBuffer]1" value="1" />
|
||||
Yes
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" ng-model="monitor.V4LMultiBuffer" id="newMonitor[V4LMultiBuffer]0" value="0" <?php echo ( $newMonitor['V4LMultiBuffer'] == 0 ? 'checked="checked"' : '' ) ?>/>
|
||||
<input type="radio" ng-model="monitor.V4LMultiBuffer" id="newMonitor[V4LMultiBuffer]0" value="0" />
|
||||
No
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" ng-model="monitor.V4LMultiBuffer" id="newMonitor[V4LMultiBuffer]" value="" <?php echo ( empty($newMonitor['V4LMultiBuffer']) ? 'checked="checked"' : '' ) ?>/>
|
||||
<input type="radio" ng-model="monitor.V4LMultiBuffer" id="newMonitor[V4LMultiBuffer]" value="" />
|
||||
Use Config Value
|
||||
</label>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label for=""><?= $SLANG['V4LCapturesPerFrame'] ?></label>
|
||||
<label for="">V4LCapturesPerFrame</label>
|
||||
<input type="text" ng-model="monitor.V4LCapturesPerFrame" />
|
||||
</div>
|
||||
</div> <!-- End local -->
|
||||
|
|
|
@ -1,78 +1,65 @@
|
|||
<div role="tabpanel" class="tab-pane" id="misc">
|
||||
|
||||
|
||||
<div class="form-group"><label><?= $SLANG['EventPrefix'] ?></label><input class="form-control" type="text" ng-model="monitor.EventPrefix" /></div>
|
||||
<div class="form-group"><label><?= $SLANG['Sectionlength'] ?></label><input class="form-control" type="text" ng-model="monitor.SectionLength" /></div>
|
||||
<div class="form-group"><label><?= $SLANG['FrameSkip'] ?></label><input class="form-control" type="text" ng-model="monitor.FrameSkip" /></div>
|
||||
<div class="form-group"><label><?= $SLANG['MotionFrameSkip'] ?></label><input class="form-control" type="text" ng-model="monitor.MotionFrameSkip" /></div>
|
||||
<div class="form-group"><label><?= $SLANG['FPSReportInterval'] ?></label><input class="form-control" type="text" ng-model="monitor.FPSReportInterval" /></div>
|
||||
<div class="form-group"><label><?= $SLANG['DefaultView'] ?></label><select class="form-control" ng-model="monitor.DefaultView">
|
||||
<?php
|
||||
foreach ( getEnumValues( 'Monitors', 'DefaultView' ) as $opt_view )
|
||||
{
|
||||
if ( $opt_view == 'Control' && ( !ZM_OPT_CONTROL || !$monitor['Controllable'] ) )
|
||||
continue;
|
||||
?>
|
||||
<option value="<?= $opt_view ?>"<?php if ( $opt_view == $newMonitor['DefaultView'] ) { ?> selected="selected"<?php } ?>><?= $opt_view ?></option>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</select></div>
|
||||
<div class="form-group"><label><?= $SLANG['DefaultRate'] ?></label><?= buildSelect( "newMonitor[DefaultRate", $rates ); ?></div>
|
||||
<div class="form-group"><label><?= $SLANG['DefaultScale'] ?></label><?= buildSelect( "newMonitor[DefaultScale", $scales ); ?></div>
|
||||
<div ng-show="monitor.Type == 'Local'" class="form-group"><label><?= $SLANG['SignalCheckColour'] ?></label><input class="form-control" type="text" ng-model="monitor.SignalCheckColour" onchange="$('SignalCheckSwatch').setStyle( 'backgroundColor', this.value )"/><span id="SignalCheckSwatch" class="swatch" style="background-color: <?= $newMonitor['SignalCheckColour'] ?>;"> </span></div>
|
||||
<div class="form-group"><label>EventPrefix</label><input class="form-control" type="text" ng-model="monitor.EventPrefix" /></div>
|
||||
<div class="form-group"><label>Sectionlength</label><input class="form-control" type="text" ng-model="monitor.SectionLength" /></div>
|
||||
<div class="form-group"><label>FrameSkip</label><input class="form-control" type="text" ng-model="monitor.FrameSkip" /></div>
|
||||
<div class="form-group"><label>MotionFrameSkip</label><input class="form-control" type="text" ng-model="monitor.MotionFrameSkip" /></div>
|
||||
<div class="form-group"><label>FPSReportInterval</label><input class="form-control" type="text" ng-model="monitor.FPSReportInterval" /></div>
|
||||
<div class="form-group">
|
||||
<label><?= $SLANG['WebColour'] ?></label>
|
||||
<label>DefaultView</label>
|
||||
<select class="form-control" ng-model="monitor.DefaultView">
|
||||
<option value="Events" selected="selected">Events</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>DefaultRate</label>
|
||||
<select ng-model="monitor.DefaultRate" name="newMonitor[DefaultRate]" id="newMonitor[DefaultRate]">
|
||||
<option value="10000">100x</option>
|
||||
<option value="5000">50x</option>
|
||||
<option value="2500">25x</option>
|
||||
<option value="1000">10x</option>
|
||||
<option value="400">4x</option>
|
||||
<option value="200">2x</option>
|
||||
<option value="100">Real</option>
|
||||
<option value="50">1/2x</option>
|
||||
<option value="25">1/4x</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>DefaultScale</label>
|
||||
<select ng-model="monitor.DefaultScale" name="newMonitor[DefaultScale]" id="newMonitor[DefaultScale]">
|
||||
<option value="400">4x</option>
|
||||
<option value="300">3x</option>
|
||||
<option value="200">2x</option>
|
||||
<option value="150">1.5x</option>
|
||||
<option value="100">Actual</option>
|
||||
<option value="75">3/4x</option>
|
||||
<option value="50">1/2x</option>
|
||||
<option value="33">1/3x</option>
|
||||
<option value="25">1/4x</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div ng-show="monitor.Type == 'Local'" class="form-group">
|
||||
<label>Signal Check Colour</label>
|
||||
<input class="form-control" type="text" ng-model="monitor.SignalCheckColour" style="color: {{ monitor.SignalCheckColour }};" />
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Web Colour</label>
|
||||
<input class="form-control" type="text" ng-model="monitor.WebColour" style="color: {{ monitor.WebColour}};" required />
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label><?= $SLANG['LinkedMonitors'] ?></label>
|
||||
<select class="form-control" ng-model="monitor.monitorIds" multiple="multiple" onchange="updateLinkedMonitors( this )">
|
||||
<?php
|
||||
$monitors = dbFetchAll( "select Id,Name from Monitors order by Sequence asc" );
|
||||
if ( !empty($newMonitor['LinkedMonitors']) )
|
||||
$monitorIds = array_flip( explode( ',', $newMonitor['LinkedMonitors'] ) );
|
||||
else
|
||||
$monitorIds = array();
|
||||
foreach ( $monitors as $monitor )
|
||||
{
|
||||
if ( (empty($newMonitor['Id']) || ($monitor['Id'] != $newMonitor['Id'])) && visibleMonitor( $monitor['Id'] ) )
|
||||
{
|
||||
?>
|
||||
<option value="<?= $monitor['Id'] ?>"<?php if ( array_key_exists( $monitor['Id'], $monitorIds ) ) { ?> selected="selected"<?php } ?>><?= validHtmlStr($monitor['Name']) ?></option>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
<div class="form-group">
|
||||
<label>LinkedMonitors</label>
|
||||
<select class="form-control" ng-model="monitor.monitorIds" multiple="multiple">
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group"><label><?= $SLANG['Triggers'] ?></label>
|
||||
<?php
|
||||
$optTriggers = getSetValues( 'Monitors', 'Triggers' );
|
||||
$breakCount = (int)(ceil(count($optTriggers)));
|
||||
$breakCount = min( 3, $breakCount );
|
||||
$optCount = 0;
|
||||
foreach( $optTriggers as $optTrigger )
|
||||
{
|
||||
if ( !ZM_OPT_X10 && $optTrigger == 'X10' )
|
||||
continue;
|
||||
if ( $optCount && ($optCount%$breakCount == 0) )
|
||||
echo "</br>";
|
||||
?>
|
||||
<input class="form-control" type="checkbox" ng-model="monitor.Triggers" value="<?= $optTrigger ?>"<?php if ( isset($newMonitor['Triggers']) && in_array( $optTrigger, $newMonitor['Triggers'] ) ) { ?> checked="checked"<?php } ?>/> <?= $optTrigger ?>
|
||||
<?php
|
||||
$optCount ++;
|
||||
}
|
||||
if ( !$optCount )
|
||||
{
|
||||
?>
|
||||
<em><?= $SLANG['NoneAvailable'] ?></em>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Triggers</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -1,34 +1,34 @@
|
|||
<div ng-show="monitor.Type == 'Remote'">
|
||||
<div class="form-group">
|
||||
<label for="newMonitor[Protocol]"><?= $SLANG['RemoteProtocol'] ?></label>
|
||||
<select class="form-control" ng-model="monitor.Protocol" id="newMonitor[Protocol]" ng-required="monitor.Type == 'Remote'">
|
||||
<option value="http">HTTP</option>
|
||||
<option value="rtsp">RTSP</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="newMonitor[Method]"><?= $SLANG['RemoteMethod'] ?></label>
|
||||
<select class="form-control" ng-model="monitor.Method" id="newMonitor[Method]" ng-required="monitor.Type == 'Remote'" ng-show="monitor.Protocol == 'http'">
|
||||
<option value="simple">Simple</option>
|
||||
<option value="regexp">Regexp</option>
|
||||
</select>
|
||||
<select class="form-control" ng-model="monitor.Method" id="newMonitor[Method]" ng-required="monitor.Type == 'Remote'" ng-show="monitor.Protocol == 'rtsp'">
|
||||
<option value="rtpUni">RTP/Unicast</option>
|
||||
<option value="rtpMulti">RTP/Multicast</option>
|
||||
<option value="rtpRtsp">RTP/RTSP</option>
|
||||
<option value="rtpRtspHttp">RTP/RTSP/HTTP</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label><?= $SLANG['RemoteHostName'] ?></label>
|
||||
<input type="text" class="form-control" ng-model="monitor.Host" placeholder="HostName or ip.add.re.ss" ng-required="monitor.Type == 'Remote'" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for=""><?= $SLANG['RemoteHostPort'] ?></label>
|
||||
<input type="text" class="form-control" ng-model="monitor.Port" placeholder="Usually 80 for http, 554 for rtsp" ng-required="monitor.Type == 'Remote'" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label><?= $SLANG['RemoteHostPath'] ?></label>
|
||||
<input type="text" class="form-control" ng-model="monitor.Path" placeholder="/path/to/stream.mpg" ng-required="monitor.Type == 'Remote'" />
|
||||
</div>
|
||||
</div> <!-- End Remote -->
|
||||
<div ng-show="monitor.Type == 'Remote'">
|
||||
<div class="form-group">
|
||||
<label for="newMonitor[Protocol]">Remote Protocol</label>
|
||||
<select class="form-control" ng-model="monitor.Protocol" id="newMonitor[Protocol]" ng-required="monitor.Type == 'Remote'">
|
||||
<option value="http">HTTP</option>
|
||||
<option value="rtsp">RTSP</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="newMonitor[Method]">Remote Method</label>
|
||||
<select class="form-control" ng-model="monitor.Method" id="newMonitor[Method]" ng-required="monitor.Type == 'Remote'" ng-show="monitor.Protocol == 'http'">
|
||||
<option value="simple">Simple</option>
|
||||
<option value="regexp">Regexp</option>
|
||||
</select>
|
||||
<select class="form-control" ng-model="monitor.Method" id="newMonitor[Method]" ng-required="monitor.Type == 'Remote'" ng-show="monitor.Protocol == 'rtsp'">
|
||||
<option value="rtpUni">RTP/Unicast</option>
|
||||
<option value="rtpMulti">RTP/Multicast</option>
|
||||
<option value="rtpRtsp">RTP/RTSP</option>
|
||||
<option value="rtpRtspHttp">RTP/RTSP/HTTP</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Remote Host Name</label>
|
||||
<input type="text" class="form-control" ng-model="monitor.Host" placeholder="HostName or ip.add.re.ss" ng-required="monitor.Type == 'Remote'" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="">Remote Host Port</label>
|
||||
<input type="text" class="form-control" ng-model="monitor.Port" placeholder="Usually 80 for http, 554 for rtsp" ng-required="monitor.Type == 'Remote'" />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>Remote Host Path</label>
|
||||
<input type="text" class="form-control" ng-model="monitor.Path" placeholder="/path/to/stream.mpg" ng-required="monitor.Type == 'Remote'" />
|
||||
</div>
|
||||
</div> <!-- End Remote -->
|
||||
|
|
|
@ -1,15 +1,5 @@
|
|||
<div role="tabpanel" class="form-horizontal tab-pane" id="source">
|
||||
|
||||
<?php
|
||||
if ( $newMonitor['Type'] == "Local" )
|
||||
{
|
||||
?>
|
||||
<tr><td><?= "Deinterlacing" ?></td><td><select name="newMonitor[Deinterlacing]"><?php foreach ( $deinterlaceopts_v4l2 as $name => $value ) { ?><option value="<?= $value ?>"<?php if ( $value == $newMonitor['Deinterlacing'] ) { ?> selected="selected"<?php } ?>><?= $name ?></option><?php } ?></select></td></tr>
|
||||
<?php
|
||||
} else {
|
||||
?>
|
||||
<tr><td><?= "Deinterlacing" ?></td><td><select name="newMonitor[Deinterlacing]"><?php foreach ( $deinterlaceopts as $name => $value ) { ?><option value="<?= $value ?>"<?php if ( $value == $newMonitor['Deinterlacing'] ) { ?> selected="selected"<?php } ?>><?= $name ?></option><?php } ?></select></td></tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<label>Deinterlacing</label>
|
||||
<select name="newMonitor[Deinterlacing]"></select>
|
||||
</div>
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
<div role="tabpanel" class="tab-pane" id="timestamp">
|
||||
<div class="form-group">
|
||||
<label for="labelFormat"><?= $SLANG['TimestampLabelFormat'] ?></label>
|
||||
<label for="labelFormat">Timestamp Label Format</label>
|
||||
<input type="text" id="labelFormat" class="form-control" ng-model="monitor.LabelFormat" required />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="labelX"><?= $SLANG['TimestampLabelX'] ?></label>
|
||||
<label for="labelX">Timestamp Label X</label>
|
||||
<input type="text" id="labelX" class="form-control" ng-model="monitor.LabelX" required />
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="labelY"><?= $SLANG['TimestampLabelY'] ?></label>
|
||||
<label for="labelY">Timestamp Label Y</label>
|
||||
<input type="text" id="labelY" class="form-control" ng-model="monitor.LabelY" required />
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<div role="tabpanel" class="form-horizontal tab-pane" id="x10">
|
||||
|
||||
|
||||
<tr><td><?= $SLANG['X10ActivationString'] ?></td><td><input type="text" name="newX10Monitor[Activation]" value="<?= validHtmlStr($newX10Monitor['Activation']) ?>" size="20"/></td></tr>
|
||||
<tr><td><?= $SLANG['X10InputAlarmString'] ?></td><td><input type="text" name="newX10Monitor[AlarmInput]" value="<?= validHtmlStr($newX10Monitor['AlarmInput']) ?>" size="20"/></td></tr>
|
||||
<tr><td><?= $SLANG['X10OutputAlarmString'] ?></td><td><input type="text" name="newX10Monitor[AlarmOutput]" value="<?= validHtmlStr($newX10Monitor['AlarmOutput']) ?>" size="20"/></td></tr>
|
||||
<tr><td>X10ActivationString</td><td><input type="text" name="newX10Monitor[Activation]" value="<?= validHtmlStr($newX10Monitor['Activation']) ?>" size="20"/></td></tr>
|
||||
<tr><td>X10InputAlarmString</td><td><input type="text" name="newX10Monitor[AlarmInput]" value="<?= validHtmlStr($newX10Monitor['AlarmInput']) ?>" size="20"/></td></tr>
|
||||
<tr><td>X10OutputAlarmString</td><td><input type="text" name="newX10Monitor[AlarmOutput]" value="<?= validHtmlStr($newX10Monitor['AlarmOutput']) ?>" size="20"/></td></tr>
|
||||
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue