1<?php 2// This is the HTML representing the Event Detail modal on the Events page 3 4$eid = isset($_REQUEST['eid']) ? $_REQUEST['eid'] : ''; 5$eids = isset($_REQUEST['eids']) ? $_REQUEST['eids'] : ''; 6 7$result = ''; 8$inputs = ''; 9$disabled = 'disabled="disabled"'; 10$null = ''; 11 12if ( !canEdit('Events') ) return; 13 14if ( $eid ){ // Single Event Mode 15 $eid = validInt($eid); 16 $title = translate('Event').' '.$eid.PHP_EOL; 17 $inputs .= '<input type="hidden" name="markEids[]" value="' .$eid. '"/>'; 18 $newEvent = dbFetchOne('SELECT E.* FROM Events AS E WHERE E.Id = ?', NULL, array($eid)); 19 20} elseif ( $eids ) { // Multi Event Mode 21 22 $title = translate('Events'); 23 $sql = 'SELECT E.* FROM Events AS E WHERE '; 24 $sqlWhere = array(); 25 $sqlValues = array(); 26 foreach ( $eids as $eid ) { 27 $eid = validInt($eid); 28 $inputs .= '<input type="hidden" name="markEids[]" value="' .$eid. '"/>'; 29 $sqlWhere[] = 'E.Id = ?'; 30 $sqlValues[] = $eid; 31 } 32 unset($eid); 33 $sql .= join(' OR ', $sqlWhere); 34 foreach( dbFetchAll( $sql, NULL, $sqlValues ) as $row ) { 35 if ( !isset($newEvent) ) { 36 $newEvent = $row; 37 } else { 38 if ( $newEvent['Cause'] && $newEvent['Cause'] != $row['Cause'] ) 39 $newEvent['Cause'] = ''; 40 if ( $newEvent['Notes'] && $newEvent['Notes'] != $row['Notes'] ) 41 $newEvent['Notes'] = ''; 42 } 43 } 44 45} else { // Event Mode not specified - should we really proceed if neither eid nor eids is set? 46 $title = translate('Events'); 47} 48 49?> 50<div class="modal fade" id="eventDetailModal" data-backdrop="static" data-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true"> 51 <div class="modal-dialog"> 52 <div class="modal-content"> 53 <div class="modal-header"> 54 <h5 class="modal-title"><?php echo $title ?></h5> 55 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 56 <span aria-hidden="true">×</span> 57 </button> 58 </div> 59 <div class="modal-body"> 60 <form name="contentForm" id="eventDetailForm" method="post" action="?view=eventdetail&action=eventdetail"> 61 <?php 62 // We have to manually insert the csrf key into the form when using a modal generated via ajax call 63 echo getCSRFinputHTML(); 64 echo $inputs; 65 ?> 66 <input type="hidden" name="action" value="eventdetail"/> 67 <input type="hidden" name="view" value="eventdetail"/> 68 <table class="table-sm"> 69 <tbody> 70 <tr> 71 <th scope="row"><?php echo translate('Cause') ?></th> 72 <td><input type="text" name="newEvent[Cause]" value="<?php echo validHtmlStr($newEvent['Cause']) ?>" size="32"/></td> 73 </tr> 74 <tr> 75 <th scope="row" class="align-middle"><?php echo translate('Notes') ?></th> 76 <td><textarea name="newEvent[Notes]" rows="6" cols="33"><?php echo validHtmlStr($newEvent['Notes']) ?></textarea></td> 77 </tr> 78 </tbody> 79 </table> 80 </div> 81 <div class="modal-footer"> 82 <button type="submit" name="action" id="eventDetailSaveBtn" class="btn btn-primary" value="save" <?php echo !canEdit('Events') ? $disabled : $null .'>'. translate('Save') ?></button> 83 <button type="button" class="btn btn-secondary" data-dismiss="modal"><?php echo translate('Cancel') ?></button> 84 </div> 85 </form> 86 </div> 87 </div> 88</div> 89 90