diff --git a/web/index.php b/web/index.php
index 4beaaa985..7365dd32e 100644
--- a/web/index.php
+++ b/web/index.php
@@ -49,6 +49,7 @@ if ( false )
require_once( 'includes/config.php' );
require_once( 'includes/logger.php' );
require_once( 'includes/Server.php' );
+require_once( 'includes/Storage.php' );
require_once( 'includes/Monitor.php' );
if ( isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == 'on' )
diff --git a/web/skins/classic/css/flat/views/frame.css b/web/skins/classic/css/flat/views/frame.css
index 2c7789349..fb48e9923 100644
--- a/web/skins/classic/css/flat/views/frame.css
+++ b/web/skins/classic/css/flat/views/frame.css
@@ -1,3 +1,19 @@
+#header h2 {
+ float: left;
+ margin-right: 10px;
+}
+#header:after {
+ content: ".";
+ display: block;
+ height: 0;
+ font-size: 0;
+ clear: both;
+ visibility: hidden;
+}
+#scaleControl {
+ float: left;
+}
+
#controls {
width: 80%;
text-align: center;
diff --git a/web/skins/classic/views/frame.php b/web/skins/classic/views/frame.php
index abb4a3cc7..abf59eee5 100644
--- a/web/skins/classic/views/frame.php
+++ b/web/skins/classic/views/frame.php
@@ -18,8 +18,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
-if ( !canView( 'Events' ) )
-{
+if ( !canView( 'Events' ) ) {
$view = "error";
return;
}
@@ -30,19 +29,19 @@ $eid = validInt($_REQUEST['eid']);
if ( !empty($_REQUEST['fid']) )
$fid = validInt($_REQUEST['fid']);
-$sql = 'SELECT E.*,M.Name AS MonitorName,M.DefaultScale FROM Events AS E INNER JOIN Monitors AS M ON E.MonitorId = M.Id WHERE E.Id = ?';
-$event = dbFetchOne( $sql, NULL, array($eid) );
+$Event = new Event( $eid );
+$Monitor = $Event->Monitor();
if ( !empty($fid) ) {
- $sql = 'SELECT * FROM Frames WHERE EventId = ? AND FrameId = ?';
- if ( !($frame = dbFetchOne( $sql, NULL, array($eid, $fid) )) )
- $frame = array( 'FrameId'=>$fid, 'Type'=>'Normal', 'Score'=>0 );
+ $sql = 'SELECT * FROM Frames WHERE EventId = ? AND FrameId = ?';
+ if ( !($frame = dbFetchOne( $sql, NULL, array($eid, $fid) )) )
+ $frame = array( 'FrameId'=>$fid, 'Type'=>'Normal', 'Score'=>0 );
} else {
- $frame = dbFetchOne( 'SELECT * FROM Frames WHERE EventId = ? AND Score = ?', NULL, array( $eid, $event['MaxScore'] ) );
+ $frame = dbFetchOne( 'SELECT * FROM Frames WHERE EventId = ? AND Score = ?', NULL, array( $eid, $Event->MaxScore() ) );
}
$Frame = new Frame( $frame );
-$maxFid = $event['Frames'];
+$maxFid = $Event->Frames();
$firstFid = 1;
$prevFid = $Frame->FrameId()-1;
@@ -51,12 +50,17 @@ $lastFid = $maxFid;
$alarmFrame = $Frame->Type()=='Alarm';
-if ( isset( $_REQUEST['scale'] ) )
- $scale = validInt($_REQUEST['scale']);
-else
- $scale = max( reScale( SCALE_BASE, $event['DefaultScale'], ZM_WEB_DEFAULT_SCALE ), SCALE_BASE );
+if ( isset( $_REQUEST['scale'] ) ) {
+ $scale = validInt($_REQUEST['scale']);
+} else if ( isset( $_COOKIE['zmWatchScale'.$Monitor->Id()] ) ) {
+ $scale = $_COOKIE['zmWatchScale'.$Monitor->Id()];
+} else if ( isset( $_COOKIE['zmWatchScale'] ) ) {
+ $scale = $_COOKIE['zmWatchScale'];
+} else {
+ $scale = max( reScale( SCALE_BASE, $Monitor->DefaultScale(), ZM_WEB_DEFAULT_SCALE ), SCALE_BASE );
+}
-$imageData = getImageSrc( $event, $frame, $scale, (isset($_REQUEST['show']) && $_REQUEST['show']=="capt") );
+$imageData = $Event->getImageSrc( $frame, $scale, (isset($_REQUEST['show']) && $_REQUEST['show']=="capt") );
$imagePath = $imageData['thumbPath'];
$eventPath = $imageData['eventPath'];
@@ -65,43 +69,48 @@ $rImagePath = sprintf( "%s/%0".ZM_EVENT_IMAGE_DIGITS."d-diag-r.jpg", $eventPath,
$focusWindow = true;
-xhtmlHeaders(__FILE__, translate('Frame')." - ".$event['Id']." - ".$Frame->FrameId() );
+xhtmlHeaders(__FILE__, translate('Frame')." - ".$Event->Id()." - ".$Frame->FrameId() );
?>
-">
+">
-FrameId() ?>" class=""/>
+FrameId() ?>" class=""/>
FrameId() > 1 ) { ?>
-
+
FrameId() > 1 ) { ?>
-
+
FrameId() < $maxFid ) { ?>
-
+
FrameId() < $maxFid ) { ?>
-
+
-
" width="" height="" class=""/>
+
" width="Width(), $Event->DefaultScale(), $scale ) ?>" height="Height(), $Event->DefaultScale(), $scale ) ?>" class=""/>
-
+