2008-07-14 21:54:50 +08:00
< ? php
2013-12-18 00:07:19 +08:00
if ( empty ( $_REQUEST [ 'id' ]) && empty ( $_REQUEST [ 'eids' ]) ) {
2017-06-06 03:21:07 +08:00
ajaxError ( 'No event id(s) supplied' );
2008-07-14 21:54:50 +08:00
}
2013-12-18 00:07:19 +08:00
if ( canView ( 'Events' ) ) {
2017-06-06 03:21:07 +08:00
switch ( $_REQUEST [ 'action' ] ) {
case 'video' :
{
if ( empty ( $_REQUEST [ 'videoFormat' ]) ) {
ajaxError ( 'Video Generation Failure, no format given' );
} elseif ( empty ( $_REQUEST [ 'rate' ]) ) {
ajaxError ( 'Video Generation Failure, no rate given' );
} elseif ( empty ( $_REQUEST [ 'scale' ]) ) {
ajaxError ( 'Video Generation Failure, no scale given' );
} else {
$sql = 'SELECT E.*,M.Name AS MonitorName,M.DefaultRate,M.DefaultScale FROM Events AS E INNER JOIN Monitors AS M ON E.MonitorId = M.Id WHERE E.Id = ?' . monitorLimitSql ();
if ( ! ( $event = dbFetchOne ( $sql , NULL , array ( $_REQUEST [ 'id' ] ) )) )
ajaxError ( 'Video Generation Failure, Unable to load event' );
2017-06-09 02:23:40 +08:00
else {
2017-06-06 03:21:07 +08:00
if ( $videoFile = createVideo ( $event , $_REQUEST [ 'videoFormat' ], $_REQUEST [ 'rate' ], $_REQUEST [ 'scale' ], ! empty ( $_REQUEST [ 'overwrite' ]) ) )
ajaxResponse ( array ( 'response' => $videoFile ) );
else
ajaxError ( 'Video Generation Failed' );
2017-06-09 02:23:40 +08:00
}
2008-10-17 00:12:23 +08:00
}
2017-06-06 03:21:07 +08:00
$ok = true ;
break ;
}
case 'deleteVideo' :
{
unlink ( $videoFiles [ $_REQUEST [ 'id' ]] );
unset ( $videoFiles [ $_REQUEST [ 'id' ]] );
ajaxResponse ();
break ;
}
case 'export' :
{
require_once ( ZM_SKIN_PATH . '/includes/export_functions.php' );
2008-07-14 21:54:50 +08:00
2017-06-06 03:21:07 +08:00
# We use session vars in here, so we need to restart the session because we stopped it in index.php to improve concurrency.
session_start ();
2016-06-07 22:38:37 +08:00
2017-06-06 03:21:07 +08:00
if ( ! empty ( $_REQUEST [ 'exportDetail' ]) )
$exportDetail = $_SESSION [ 'export' ][ 'detail' ] = $_REQUEST [ 'exportDetail' ];
else
$exportDetail = false ;
if ( ! empty ( $_REQUEST [ 'exportFrames' ]) )
$exportFrames = $_SESSION [ 'export' ][ 'frames' ] = $_REQUEST [ 'exportFrames' ];
else
$exportFrames = false ;
if ( ! empty ( $_REQUEST [ 'exportImages' ]) )
$exportImages = $_SESSION [ 'export' ][ 'images' ] = $_REQUEST [ 'exportImages' ];
else
$exportImages = false ;
if ( ! empty ( $_REQUEST [ 'exportVideo' ]) )
$exportVideo = $_SESSION [ 'export' ][ 'video' ] = $_REQUEST [ 'exportVideo' ];
else
$exportVideo = false ;
if ( ! empty ( $_REQUEST [ 'exportMisc' ]) )
$exportMisc = $_SESSION [ 'export' ][ 'misc' ] = $_REQUEST [ 'exportMisc' ];
else
$exportMisc = false ;
if ( ! empty ( $_REQUEST [ 'exportFormat' ]) )
$exportFormat = $_SESSION [ 'export' ][ 'format' ] = $_REQUEST [ 'exportFormat' ];
else
$exportFormat = '' ;
2008-07-14 21:54:50 +08:00
2017-06-06 03:21:07 +08:00
session_write_close ();
2016-06-07 22:38:37 +08:00
2017-06-06 03:21:07 +08:00
$exportIds = ! empty ( $_REQUEST [ 'eids' ]) ? $_REQUEST [ 'eids' ] : $_REQUEST [ 'id' ];
if ( $exportFile = exportEvents ( $exportIds , $exportDetail , $exportFrames , $exportImages , $exportVideo , $exportMisc , $exportFormat ) )
ajaxResponse ( array ( 'exportFile' => $exportFile ) );
else
ajaxError ( 'Export Failed' );
break ;
}
2017-12-04 03:04:33 +08:00
case 'download' :
{
require_once ( ZM_SKIN_PATH . '/includes/export_functions.php' );
$exportVideo = 1 ;
$exportFormat = $_REQUEST [ 'exportFormat' ];
$exportStructure = 'flat' ;
$exportIds = ! empty ( $_REQUEST [ 'eids' ]) ? $_REQUEST [ 'eids' ] : $_REQUEST [ 'id' ];
if ( $exportFile = exportEvents ( $exportIds , false , false , false , $exportVideo , false , $exportFormat , $exportStructure ) )
ajaxResponse ( array ( 'exportFile' => $exportFile ) );
else
ajaxError ( 'Export Failed' );
break ;
}
2017-06-06 03:21:07 +08:00
}
2008-10-17 00:12:23 +08:00
}
2009-03-27 17:14:54 +08:00
2016-10-13 03:36:40 +08:00
if ( canEdit ( 'Events' ) ) {
2017-06-06 03:21:07 +08:00
switch ( $_REQUEST [ 'action' ] ) {
case 'rename' :
{
if ( ! empty ( $_REQUEST [ 'eventName' ]) )
dbQuery ( 'UPDATE Events SET Name = ? WHERE Id = ?' , array ( $_REQUEST [ 'eventName' ], $_REQUEST [ 'id' ] ) );
else
ajaxError ( 'No new event name supplied' );
ajaxResponse ( array ( 'refreshEvent' => true , 'refreshParent' => true ) );
break ;
}
case 'eventdetail' :
{
dbQuery ( 'UPDATE Events SET Cause = ?, Notes = ? WHERE Id = ?' , array ( $_REQUEST [ 'newEvent' ][ 'Cause' ], $_REQUEST [ 'newEvent' ][ 'Notes' ], $_REQUEST [ 'id' ] ) );
ajaxResponse ( array ( 'refreshEvent' => true , 'refreshParent' => true ) );
break ;
}
case 'archive' :
case 'unarchive' :
{
$archiveVal = ( $_REQUEST [ 'action' ] == 'archive' ) ? 1 : 0 ;
dbQuery ( 'UPDATE Events SET Archived = ? WHERE Id = ?' , array ( $archiveVal , $_REQUEST [ 'id' ]) );
ajaxResponse ( array ( 'refreshEvent' => true , 'refreshParent' => false ) );
break ;
}
case 'delete' :
{
$Event = new Event ( $_REQUEST [ 'id' ] );
if ( ! $Event -> Id () ) {
ajaxResponse ( array ( 'refreshEvent' => false , 'refreshParent' => true , 'message' => 'Event not found.' ) );
} else {
$Event -> delete ();
ajaxResponse ( array ( 'refreshEvent' => false , 'refreshParent' => true ) );
2008-10-17 00:12:23 +08:00
}
2017-06-06 03:21:07 +08:00
break ;
}
}
2008-07-14 21:54:50 +08:00
}
2008-10-17 00:12:23 +08:00
ajaxError ( 'Unrecognised action or insufficient permissions' );
2008-07-14 21:54:50 +08:00
?>