2008-07-14 21:54:50 +08:00
< ? php
//
// ZoneMinder web events view file, $Date$, $Revision$
2008-07-25 17:48:16 +08:00
// Copyright (C) 2001-2008 Philip Coombes
2008-07-14 21:54:50 +08:00
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
2016-12-26 23:23:16 +08:00
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
2008-07-14 21:54:50 +08:00
//
2018-04-03 21:57:22 +08:00
if ( ! canView ( 'Events' ) || ( ! empty ( $_REQUEST [ 'execute' ]) && ! canEdit ( 'Events' )) ) {
2017-06-01 09:34:38 +08:00
$view = 'error' ;
return ;
2008-07-14 21:54:50 +08:00
}
2018-04-03 21:57:22 +08:00
require_once ( 'includes/Event.php' );
2017-01-02 23:35:51 +08:00
2014-03-22 05:16:56 +08:00
$countSql = 'SELECT count(E.Id) AS EventCount FROM Monitors AS M INNER JOIN Events AS E ON (M.Id = E.MonitorId) WHERE' ;
2016-04-02 02:07:27 +08:00
$eventsSql = 'SELECT E.*,M.Name AS MonitorName,M.DefaultScale FROM Monitors AS M INNER JOIN Events AS E on (M.Id = E.MonitorId) WHERE' ;
2014-03-22 05:16:56 +08:00
if ( $user [ 'MonitorIds' ] ) {
2019-08-28 21:19:09 +08:00
$user_monitor_ids = ' M.Id in (' . $user [ 'MonitorIds' ] . ')' ;
$countSql .= $user_monitor_ids ;
$eventsSql .= $user_monitor_ids ;
2014-03-22 05:16:56 +08:00
} else {
2017-06-01 09:34:38 +08:00
$countSql .= ' 1' ;
$eventsSql .= ' 1' ;
2008-07-14 21:54:50 +08:00
}
parseSort ();
2018-04-03 21:57:22 +08:00
parseFilter ( $_REQUEST [ 'filter' ]);
2008-07-14 21:54:50 +08:00
$filterQuery = $_REQUEST [ 'filter' ][ 'query' ];
2017-05-06 02:25:25 +08:00
if ( $_REQUEST [ 'filter' ][ 'sql' ] ) {
2017-06-01 09:34:38 +08:00
$countSql .= $_REQUEST [ 'filter' ][ 'sql' ];
$eventsSql .= $_REQUEST [ 'filter' ][ 'sql' ];
2008-07-14 21:54:50 +08:00
}
2018-09-27 02:10:49 +08:00
$eventsSql .= " ORDER BY $sortColumn $sortOrder ,Id $sortOrder " ;
2008-07-14 21:54:50 +08:00
2018-02-07 22:07:51 +08:00
$page = isset ( $_REQUEST [ 'page' ]) ? validInt ( $_REQUEST [ 'page' ]) : 0 ;
$limit = isset ( $_REQUEST [ 'limit' ]) ? validInt ( $_REQUEST [ 'limit' ]) : 0 ;
2008-09-26 17:47:20 +08:00
2018-04-03 21:57:22 +08:00
$nEvents = dbFetchOne ( $countSql , 'EventCount' );
2017-05-06 02:25:25 +08:00
if ( ! empty ( $limit ) && $nEvents > $limit ) {
2017-06-01 09:34:38 +08:00
$nEvents = $limit ;
2008-07-14 21:54:50 +08:00
}
$pages = ( int ) ceil ( $nEvents / ZM_WEB_EVENTS_PER_PAGE );
2018-02-07 22:07:51 +08:00
#Logger::Debug("Page $page Limit $limit #vents: $nEvents pages: $pages ");
2016-04-16 04:11:53 +08:00
if ( ! empty ( $page ) ) {
2017-05-06 02:25:25 +08:00
if ( $page < 0 )
$page = 1 ;
2018-02-07 22:07:51 +08:00
else if ( $pages and ( $page > $pages ) )
2017-05-06 02:25:25 +08:00
$page = $pages ;
$limitStart = (( $page - 1 ) * ZM_WEB_EVENTS_PER_PAGE );
if ( empty ( $limit ) ) {
$limitAmount = ZM_WEB_EVENTS_PER_PAGE ;
} else {
$limitLeft = $limit - $limitStart ;
$limitAmount = ( $limitLeft > ZM_WEB_EVENTS_PER_PAGE ) ? ZM_WEB_EVENTS_PER_PAGE : $limitLeft ;
}
2020-08-06 23:57:35 +08:00
$eventsSql .= " LIMIT $limitStart , $limitAmount " ;
2018-04-03 21:57:22 +08:00
} elseif ( ! empty ( $limit ) ) {
2020-08-06 23:57:35 +08:00
$eventsSql .= ' LIMIT 0, ' . $limit ;
2008-07-14 21:54:50 +08:00
}
$maxShortcuts = 5 ;
2018-04-03 21:57:22 +08:00
$pagination = getPagination ( $pages , $page , $maxShortcuts , $filterQuery . $sortQuery . $limitQuery );
2008-07-14 21:54:50 +08:00
$focusWindow = true ;
2018-04-03 21:57:22 +08:00
if ( $_POST ) {
2019-01-24 00:30:51 +08:00
// I think this is basically so that a refresh doesn't repost
2019-02-22 22:19:07 +08:00
ZM\Logger :: Debug ( 'Redirecting to ' . $_SERVER [ 'REQUEST_URI' ]);
2019-01-24 00:30:51 +08:00
header ( 'Location: ?view=' . $view . htmlspecialchars_decode ( $filterQuery ) . htmlspecialchars_decode ( $sortQuery ) . $limitQuery . '&page=' . $page );
2018-04-03 21:57:22 +08:00
exit ();
}
2019-02-22 22:19:07 +08:00
$storage_areas = ZM\Storage :: find ();
2018-04-03 21:57:22 +08:00
$StorageById = array ();
foreach ( $storage_areas as $S ) {
$StorageById [ $S -> Id ()] = $S ;
2017-12-10 00:23:50 +08:00
}
2015-05-10 21:10:30 +08:00
xhtmlHeaders ( __FILE__ , translate ( 'Events' ) );
2008-07-14 21:54:50 +08:00
?>
< body >
< div id = " page " >
2018-09-08 04:31:11 +08:00
< ? php echo getNavBarHTML () ?>
2008-07-14 21:54:50 +08:00
< div id = " header " >
2017-11-28 21:23:54 +08:00
< div id = " info " >
2018-04-03 21:57:22 +08:00
< h2 >< ? php echo sprintf ( $CLANG [ 'EventCount' ], $nEvents , zmVlang ( $VLANG [ 'Event' ], $nEvents )) ?> </h2>
2019-02-10 09:34:59 +08:00
< a id = " refreshLink " href = " # " >< ? php echo translate ( 'Refresh' ) ?> </a>
2017-11-28 21:23:54 +08:00
</ div >
< div id = " pagination " >
2017-11-21 03:30:23 +08:00
< ? php
if ( $pagination ) {
?>
2020-07-13 17:33:26 +08:00
< h2 class = " pagination hidden-xs " >< ? php echo $pagination ?> </h2>
2017-11-21 03:30:23 +08:00
< ? php
}
?>
2008-07-14 21:54:50 +08:00
< ? php
2017-05-06 02:25:25 +08:00
if ( $pages > 1 ) {
2017-05-31 01:47:30 +08:00
if ( ! empty ( $page ) ) {
2008-07-14 21:54:50 +08:00
?>
2017-12-15 21:45:49 +08:00
< a href = " ?view=<?php echo $view ?>&page=0<?php echo $filterQuery ?><?php echo $sortQuery . $limitQuery ?> " >< ? php echo translate ( 'ViewAll' ) ?> </a>
2008-07-14 21:54:50 +08:00
< ? php
2017-05-31 01:47:30 +08:00
} else {
2008-07-14 21:54:50 +08:00
?>
2017-12-15 21:45:49 +08:00
< a href = " ?view=<?php echo $view ?>&page=1<?php echo $filterQuery ?><?php echo $sortQuery . $limitQuery ?> " >< ? php echo translate ( 'ViewPaged' ) ?> </a>
2008-07-14 21:54:50 +08:00
< ? php
2017-05-31 01:47:30 +08:00
}
2008-07-14 21:54:50 +08:00
}
?>
2017-11-28 21:23:54 +08:00
</ div >
< div id = " controls " >
2019-02-10 09:34:59 +08:00
< a href = " # " id = " backLink " >< ? php echo translate ( 'Back' ) ?> </a>
2017-11-28 21:23:54 +08:00
< a id = " timelineLink " href = " ?view=timeline<?php echo $filterQuery ?> " >< ? php echo translate ( 'ShowTimeline' ) ?> </a>
2008-07-14 21:54:50 +08:00
</ div >
</ div >
< div id = " content " >
< form name = " contentForm " id = " contentForm " method = " post " action = " " >
2014-12-05 07:44:23 +08:00
< input type = " hidden " name = " view " value = " <?php echo $view ?> " />
2008-07-14 21:54:50 +08:00
< input type = " hidden " name = " action " value = " " />
2014-12-05 07:44:23 +08:00
< input type = " hidden " name = " page " value = " <?php echo $page ?> " />
< ? php echo $_REQUEST [ 'filter' ][ 'fields' ] ?>
< input type = " hidden " name = " sort_field " value = " <?php echo validHtmlStr( $_REQUEST['sort_field'] ) ?> " />
< input type = " hidden " name = " sort_asc " value = " <?php echo validHtmlStr( $_REQUEST['sort_asc'] ) ?> " />
< input type = " hidden " name = " limit " value = " <?php echo $limit ?> " />
2020-08-13 22:24:42 +08:00
< div class = " table-responsive-sm " >
2017-10-17 03:20:26 +08:00
< table id = " contentTable " class = " major " >
2008-07-14 21:54:50 +08:00
< tbody >
< ? php
$count = 0 ;
2017-10-19 00:43:51 +08:00
$disk_space_total = 0 ;
2018-04-03 21:57:22 +08:00
$results = dbQuery ( $eventsSql );
while ( $event_row = dbFetchNext ( $results ) ) {
2019-02-22 22:19:07 +08:00
$event = new ZM\Event ( $event_row );
2017-11-16 02:01:07 +08:00
if ( $event_row [ 'Archived' ] )
$archived = true ;
else
$unarchived = true ;
2017-06-01 09:34:38 +08:00
if ( ( $count ++% ZM_WEB_EVENTS_PER_PAGE ) == 0 ) {
2008-07-14 21:54:50 +08:00
?>
< tr >
2018-07-13 02:07:19 +08:00
< th class = " colId " >< a href = " <?php echo sortHeader('Id') ?> " >< ? php echo translate ( 'Id' ) ?> <?php echo sortTag('Id') ?></a></th>
< th class = " colName " >< a href = " <?php echo sortHeader('Name') ?> " >< ? php echo translate ( 'Name' ) ?> <?php echo sortTag('Name') ?></a></th>
< th class = " colMonitor " >< a href = " <?php echo sortHeader('MonitorName') ?> " >< ? php echo translate ( 'Monitor' ) ?> <?php echo sortTag('MonitorName') ?></a></th>
< th class = " colCause " >< a href = " <?php echo sortHeader('Cause') ?> " >< ? php echo translate ( 'Cause' ) ?> <?php echo sortTag('Cause') ?></a></th>
2020-08-13 22:24:42 +08:00
< th class = " colStartTime " >< a href = " <?php echo sortHeader('StartTime') ?> " >< ? php echo translate ( 'AttrStartTime' ) ?> <?php echo sortTag('StartTime') ?></a></th>
< th class = " colEndTime " >< a href = " <?php echo sortHeader('EndTime') ?> " >< ? php echo translate ( 'AttrEndTime' ) ?> <?php echo sortTag('EndTime') ?></a></th>
2018-07-13 02:07:19 +08:00
< th class = " colDuration " >< a href = " <?php echo sortHeader('Length') ?> " >< ? php echo translate ( 'Duration' ) ?> <?php echo sortTag('Length') ?></a></th>
< th class = " colFrames " >< a href = " <?php echo sortHeader('Frames') ?> " >< ? php echo translate ( 'Frames' ) ?> <?php echo sortTag('Frames') ?></a></th>
< th class = " colAlarmFrames " >< a href = " <?php echo sortHeader('AlarmFrames') ?> " >< ? php echo translate ( 'AlarmBrFrames' ) ?> <?php echo sortTag('AlarmFrames') ?></a></th>
< th class = " colTotScore " >< a href = " <?php echo sortHeader('TotScore') ?> " >< ? php echo translate ( 'TotalBrScore' ) ?> <?php echo sortTag('TotScore') ?></a></th>
< th class = " colAvgScore " >< a href = " <?php echo sortHeader('AvgScore') ?> " >< ? php echo translate ( 'AvgBrScore' ) ?> <?php echo sortTag('AvgScore') ?></a></th>
< th class = " colMaxScore " >< a href = " <?php echo sortHeader('MaxScore') ?> " >< ? php echo translate ( 'MaxBrScore' ) ?> <?php echo sortTag('MaxScore') ?></a></th>
2017-05-31 01:47:30 +08:00
< ? php
2018-04-03 21:57:22 +08:00
if ( count ( $storage_areas ) > 1 ) {
?>
< th class = " colStorage " >< ? php echo translate ( 'Storage' ) ?> </th>
< ? php
}
2017-10-19 00:43:51 +08:00
if ( ZM_WEB_EVENT_DISK_SPACE ) {
?>
2018-06-16 03:21:10 +08:00
< th class = " colDiskSpace " >< a href = " <?php echo sortHeader('DiskSpace') ?> " >< ? php echo translate ( 'DiskSpace' ) ?> <?php echo sortTag('DiskSpace') ?></a></th>
2008-07-14 21:54:50 +08:00
< ? php
2017-05-31 01:47:30 +08:00
}
if ( ZM_WEB_LIST_THUMBS ) {
2008-07-14 21:54:50 +08:00
?>
2015-05-10 21:10:30 +08:00
< th class = " colThumbnail " >< ? php echo translate ( 'Thumbnail' ) ?> </th>
2008-07-14 21:54:50 +08:00
< ? php
2017-05-31 01:47:30 +08:00
}
2008-07-14 21:54:50 +08:00
?>
2019-01-22 02:52:38 +08:00
< th class = " colMark " >< input type = " checkbox " name = " toggleCheck " value = " 1 " data - checkbox - name = " eids[] " data - on - click - this = " updateFormCheckboxesByName " /></ th >
2008-07-14 21:54:50 +08:00
</ tr >
< ? php
2017-05-31 01:47:30 +08:00
}
$scale = max ( reScale ( SCALE_BASE , $event -> DefaultScale (), ZM_WEB_DEFAULT_SCALE ), SCALE_BASE );
2008-07-14 21:54:50 +08:00
?>
2017-10-23 07:59:17 +08:00
< tr < ? php if ( $event -> Archived ()) echo ' class="archived"' ?> >
2019-02-07 02:31:34 +08:00
< td class = " colId " >< a href = " ?view=event&eid=<?php echo $event->Id (). $filterQuery . $sortQuery .'&page=1 " > '.$event->Id().($event->Archived()?' * ':' ' ) ?> </a></td>
2020-02-20 03:17:44 +08:00
< td class = " colName " >< a href = " ?view=event&eid=<?php echo $event->Id (). $filterQuery . $sortQuery .'&page=1 " > '.validHtmlStr($event->Name()).($event->Archived()?' * ':' ' ) ?> </a><br/>
< ? php
if ( $event -> Emailed () )
echo 'Emailed ' ;
?>
</ td >
2019-09-04 00:55:45 +08:00
< td class = " colMonitorName " >< ? php echo makePopupLink ( '?view=monitor&mid=' . $event -> MonitorId (), 'zmMonitor' . $event -> MonitorId (), 'monitor' , $event -> MonitorName (), canEdit ( 'Monitors' ) ) ?> </td>
2018-10-17 00:11:25 +08:00
< td class = " colCause " >< ? php echo makePopupLink ( '?view=eventdetail&eid=' . $event -> Id (), 'zmEventDetail' , 'eventdetail' , validHtmlStr ( $event -> Cause ()), canEdit ( 'Events' ), 'title="' . htmlspecialchars ( $event -> Notes ()) . '"' ) ?>
2019-08-28 21:19:09 +08:00
< ? php
# display notes as small text
2020-02-20 03:17:44 +08:00
if ( $event -> Notes () ) {
2019-08-28 21:19:09 +08:00
# if notes include detection objects, then link it to objdetect.jpg
2020-02-20 03:17:44 +08:00
if ( strpos ( $event -> Notes (), 'detected:' ) !== false ) {
2019-08-28 21:19:09 +08:00
# make a link
echo makePopupLink ( '?view=image&eid=' . $event -> Id () . '&fid=objdetect' , 'zmImage' ,
array ( 'image' , reScale ( $event -> Width (), $scale ), reScale ( $event -> Height (), $scale )),
2020-02-20 03:17:44 +08:00
'<div class="small text-nowrap text-muted"><u>' . $event -> Notes () . '</u></div>' );
} else if ( $event -> Notes () != 'Forced Web: ' ) {
echo '<br/><div class="small text-nowrap text-muted">' . $event -> Notes () . '</div>' ;
2019-08-28 21:19:09 +08:00
}
}
?>
2019-02-11 23:58:34 +08:00
</ td >
2020-08-13 22:24:42 +08:00
< td class = " colTime text-wrap " >< ? php echo strftime ( STRF_FMT_DATETIME_SHORTER , strtotime ( $event -> StartTime ())) ?> </td>
< td class = " colTime text-wrap " >< ? php echo strftime ( STRF_FMT_DATETIME_SHORTER , strtotime ( $event -> EndTime ()) ) ?> </td>
2016-07-20 05:34:01 +08:00
< td class = " colDuration " >< ? php echo gmdate ( " H:i:s " , $event -> Length () ) ?> </td>
2019-07-04 05:19:10 +08:00
< td class = " colFrames " >< ? php echo makePopupLink ( '?view=frames&eid=' . $event -> Id (), 'zmFrames' ,
( ZM_WEB_LIST_THUMBS ? array ( 'frames' , ZM_WEB_LIST_THUMB_WIDTH , ZM_WEB_LIST_THUMB_HEIGHT ) : 'frames' ),
$event -> Frames () ) ?> </td>
< td class = " colAlarmFrames " >< ? php echo makePopupLink ( '?view=frames&eid=' . $event -> Id (), 'zmFrames' ,
( ZM_WEB_LIST_THUMBS ? array ( 'frames' , ZM_WEB_LIST_THUMB_WIDTH , ZM_WEB_LIST_THUMB_HEIGHT ) : 'frames' ),
$event -> AlarmFrames () ) ?> </td>
2016-07-20 05:34:01 +08:00
< td class = " colTotScore " >< ? php echo $event -> TotScore () ?> </td>
< td class = " colAvgScore " >< ? php echo $event -> AvgScore () ?> </td>
2018-09-08 04:31:11 +08:00
< td class = " colMaxScore " >< ? php echo makePopupLink (
'?view=frame&eid=' . $event -> Id () . '&fid=0' , 'zmImage' ,
array ( 'image' , reScale ( $event -> Width (), $scale ), reScale ( $event -> Height (), $scale )), $event -> MaxScore ()
); ?> </td>
2008-07-14 21:54:50 +08:00
< ? php
2018-04-03 21:57:22 +08:00
if ( count ( $storage_areas ) > 1 ) {
?>
2019-08-29 23:27:06 +08:00
< td class = " colStorage " >
< ? php
if ( $event -> StorageId () ) {
echo isset ( $StorageById [ $event -> StorageId ()]) ? $StorageById [ $event -> StorageId ()] -> Name () : 'Unknown Storage Id: ' . $event -> StorageId ();
} else {
echo 'Default' ;
}
if ( $event -> SecondaryStorageId () ) {
echo '<br/>' . ( isset ( $StorageById [ $event -> SecondaryStorageId ()]) ? $StorageById [ $event -> SecondaryStorageId ()] -> Name () : 'Unknown Storage Id ' . $event -> SecondaryStorageId ());
}
?>
</ td >
2018-04-03 21:57:22 +08:00
< ? php
}
2017-05-31 01:47:30 +08:00
if ( ZM_WEB_EVENT_DISK_SPACE ) {
2017-10-19 00:43:51 +08:00
$disk_space_total += $event -> DiskSpace ();
2017-05-31 01:47:30 +08:00
?>
2018-04-05 08:27:21 +08:00
< td class = " colDiskSpace " >< ? php echo human_filesize ( $event -> DiskSpace ()) ?> </td>
2008-07-14 21:54:50 +08:00
< ? php
2017-05-31 01:47:30 +08:00
}
if ( ZM_WEB_LIST_THUMBS ) {
2018-04-15 22:27:08 +08:00
echo '<td class="colThumbnail">' ;
2019-12-03 04:34:23 +08:00
$imgSrc = $event -> getThumbnailSrc ( array (), '&' );
2018-09-08 04:31:11 +08:00
$streamSrc = $event -> getStreamSrc ( array (
2020-03-30 22:09:53 +08:00
'mode' => 'jpeg' , 'scale' => $scale , 'maxfps' => ZM_WEB_VIDEO_MAXFPS , 'replay' => 'single' , 'rate' => '400' ), '&' );
2017-05-06 02:25:25 +08:00
2019-09-04 22:11:16 +08:00
$imgHtml = '<img id="thumbnail' . $event -> Id () . '" src="' . $imgSrc . '" alt="' . validHtmlStr ( 'Event ' . $event -> Id ()) . '" style="width:' . validInt ( $event -> ThumbnailWidth ()) . 'px;height:' . validInt ( $event -> ThumbnailHeight ()) . 'px;" stream_src="' . $streamSrc . '" still_src="' . $imgSrc . '"/>' ;
2018-01-22 10:27:01 +08:00
echo '<a href="?view=event&eid=' . $event -> Id () . $filterQuery . $sortQuery . '&page=1">' . $imgHtml . '</a>' ;
2018-04-15 22:27:08 +08:00
echo '</td>' ;
2017-05-31 01:47:30 +08:00
} // end if ZM_WEB_LIST_THUMBS
2008-07-14 21:54:50 +08:00
?>
2019-02-20 01:06:32 +08:00
< td class = " colMark " >< input type = " checkbox " name = " eids[] " value = " <?php echo $event->Id () ?> " /></ td >
2008-07-14 21:54:50 +08:00
</ tr >
< ? php
}
?>
</ tbody >
2017-10-19 00:43:51 +08:00
< ? php
if ( ZM_WEB_EVENT_DISK_SPACE ) {
?>
2018-09-08 04:31:11 +08:00
< tfoot >
< tr >
2017-10-19 00:43:51 +08:00
< td colspan = " 11 " > Totals :</ td >
2018-04-03 21:57:22 +08:00
< ? php
if ( count ( $storage_areas ) > 1 ) {
?>
2018-09-08 04:31:11 +08:00
< td class = " colStorage " ></ td >
2018-04-03 21:57:22 +08:00
< ? php
}
?>
2018-04-15 22:27:08 +08:00
< td class = " colDiskSpace " >< ? php echo human_filesize ( $disk_space_total ) ?> </td>
2017-10-19 00:43:51 +08:00
< ? php
if ( ZM_WEB_LIST_THUMBS ) {
2018-09-08 04:31:11 +08:00
?>
< td ></ td >
2017-10-19 00:43:51 +08:00
< ? php
}
2018-09-08 04:31:11 +08:00
?>
< td ></ td >
2017-10-19 00:43:51 +08:00
</ tr >
</ tfoot >
< ? php
}
?>
2008-07-14 21:54:50 +08:00
</ table >
2020-07-13 17:33:26 +08:00
</ div >
2008-07-14 21:54:50 +08:00
< ? php
2017-05-31 01:47:30 +08:00
if ( $pagination ) {
2008-07-14 21:54:50 +08:00
?>
2014-12-05 07:44:23 +08:00
< h3 class = " pagination " >< ? php echo $pagination ?> </h3>
2008-07-14 21:54:50 +08:00
< ? php
}
?>
< div id = " contentButtons " >
2019-02-07 21:56:48 +08:00
< button type = " button " name = " viewBtn " value = " View " data - on - click - this = " viewEvents " disabled = " disabled " >
2018-09-08 04:31:11 +08:00
< ? php echo translate ( 'View' ) ?>
2018-07-13 02:07:19 +08:00
</ button >
2019-02-07 21:56:48 +08:00
< button type = " button " name = " archiveBtn " value = " Archive " data - on - click - this = " archiveEvents " disabled = " disabled " >
2018-07-13 02:07:19 +08:00
< ? php echo translate ( 'Archive' ) ?>
</ button >
2019-02-07 21:56:48 +08:00
< button type = " button " name = " unarchiveBtn " value = " Unarchive " data - on - click - this = " unarchiveEvents " disabled = " disabled " >
2018-07-13 02:07:19 +08:00
< ? php echo translate ( 'Unarchive' ) ?>
</ button >
2019-02-07 21:56:48 +08:00
< button type = " button " name = " editBtn " value = " Edit " data - on - click - this = " editEvents " disabled = " disabled " >
2018-07-13 02:07:19 +08:00
< ? php echo translate ( 'Edit' ) ?>
</ button >
2019-02-07 21:56:48 +08:00
< button type = " button " name = " exportBtn " value = " Export " data - on - click - this = " exportEvents " disabled = " disabled " >
2018-07-13 02:07:19 +08:00
< ? php echo translate ( 'Export' ) ?>
</ button >
2019-02-07 21:56:48 +08:00
< button type = " button " name = " downloadBtn " value = " DownloadVideo " data - on - click - this = " downloadVideo " disabled = " disabled " >
2018-07-13 02:07:19 +08:00
< ? php echo translate ( 'DownloadVideo' ) ?>
</ button >
2019-02-07 21:56:48 +08:00
< button type = " button " name = " deleteBtn " value = " Delete " data - on - click - this = " deleteEvents " disabled = " disabled " >
2018-07-13 02:07:19 +08:00
< ? php echo translate ( 'Delete' ) ?>
</ button >
2008-07-14 21:54:50 +08:00
</ div >
</ form >
</ div >
</ div >
2019-01-18 22:51:06 +08:00
< script nonce = " <?php echo $cspNonce ;?> " >
2017-11-16 02:01:07 +08:00
// These are defined in the .js.php but need to be updated down here.
2019-02-07 02:31:34 +08:00
// This might be better done by selecting through the dom for the archived class
2017-11-16 02:01:07 +08:00
archivedEvents = < ? php echo ! empty ( $archived ) ? 'true' : 'false' ?> ;
unarchivedEvents = < ? php echo ! empty ( $unarchived ) ? 'true' : 'false' ?> ;
</ script >
2008-07-14 21:54:50 +08:00
</ body >
</ html >