mirror of
				https://github.com/Znote/ZnoteAAC.git
				synced 2025-10-31 19:06:23 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			147 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			147 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php require_once 'engine/init.php'; include 'layout/overall/header.php';
 | |
| protect_page();
 | |
| admin_only($user_data);
 | |
| 
 | |
| // Declare as int
 | |
| $view = (isset($_GET['view']) && (int)$_GET['view'] > 0) ? (int)$_GET['view'] : false;
 | |
| if ($view !== false){
 | |
| 	if (!empty($_POST['reply_text'])) {
 | |
| 		sanitize($_POST['reply_text']);
 | |
| 
 | |
| 		// Save ticket reply on database
 | |
| 		$query = array(
 | |
| 			'tid'   =>	$view,
 | |
| 			'username'=>	getValue($_POST['username']),
 | |
| 			'message' =>	getValue($_POST['reply_text']),
 | |
| 			'created' =>	time(),
 | |
| 		);
 | |
| 		$fields = '`'. implode('`, `', array_keys($query)) .'`';
 | |
| 		$data = '\''. implode('\', \'', $query) .'\'';
 | |
| 
 | |
| 		mysql_insert("INSERT INTO `znote_tickets_replies` ($fields) VALUES ($data)");
 | |
| 		mysql_update("UPDATE `znote_tickets` SET `status`='Staff-Reply' WHERE `id`='$view' LIMIT 1;");
 | |
| 
 | |
| 	} else if (!empty($_POST['admin_ticket_close'])) {
 | |
| 		$ticketId = (int) $_POST['admin_ticket_id'];
 | |
| 		mysql_update("UPDATE `znote_tickets` SET `status` = 'CLOSED' WHERE `id` ='$ticketId' LIMIT 1;");
 | |
| 
 | |
| 	} else if (!empty($_POST['admin_ticket_open'])) {
 | |
| 		$ticketId = (int) $_POST['admin_ticket_id'];
 | |
| 		mysql_update("UPDATE `znote_tickets` SET `status` = 'Open' WHERE `id` ='$ticketId' LIMIT 1;");
 | |
| 
 | |
| 	} else if (!empty($_POST['admin_ticket_delete'])) {
 | |
| 		$ticketId = (int) $_POST['admin_ticket_id'];
 | |
| 		mysql_delete("DELETE FROM `znote_tickets` WHERE `id`='$ticketId' LIMIT 1;");
 | |
| 		header("Location: admin_helpdesk.php");
 | |
| 	}
 | |
| 
 | |
| 	$ticketData = mysql_select_single("SELECT * FROM znote_tickets WHERE id='$view' LIMIT 1;");
 | |
| 	?>
 | |
| 	<h1>View Ticket #<?php echo $ticketData['id']; ?></h1>
 | |
| 	<table class="znoteTable ThreadTable table table-striped">
 | |
| 		<tr class="yellow">
 | |
| 			<th>
 | |
| 				<?php
 | |
| 					echo getClock($ticketData['creation'], true);
 | |
| 				?>
 | |
| 				 - Created by:
 | |
| 				 <?php
 | |
| 				 	echo $ticketData['username'];
 | |
| 				 ?>
 | |
| 			</th>
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>
 | |
| 				<p><?php echo nl2br($ticketData['message']); ?></p>
 | |
| 			</td>
 | |
| 		</tr>
 | |
| 	</table>
 | |
| 	<?php
 | |
| 	$replies = mysql_select_multi("SELECT * FROM znote_tickets_replies WHERE tid='$view' ORDER BY `created`;");
 | |
| 	if ($replies !== false) {
 | |
| 		foreach($replies as $reply) {
 | |
| 			?>
 | |
| 			<table class="znoteTable ThreadTable table table-striped">
 | |
| 				<tr class="yellow">
 | |
| 					<th>
 | |
| 						<?php
 | |
| 							echo getClock($reply['created'], true);
 | |
| 						?>
 | |
| 						 - Posted by:
 | |
| 						 <?php
 | |
| 						 	echo $reply['username'];
 | |
| 						 ?>
 | |
| 					</th>
 | |
| 				</tr>
 | |
| 				<tr>
 | |
| 					<td>
 | |
| 						<p><?php echo nl2br($reply['message']); ?></p>
 | |
| 					</td>
 | |
| 				</tr>
 | |
| 			</table>
 | |
| 		<?php
 | |
| 		}
 | |
| 	}
 | |
| 	?>
 | |
| 
 | |
| 	<!-- Open/Close Ticket -->
 | |
| 	<table class="znoteTable ThreadTable table table-striped">
 | |
| 		<tr>
 | |
| 			<td>
 | |
| 				<form action="" method="post" align="center">
 | |
| 					<input type="hidden" name="admin_ticket_id" value="<?php echo $ticketData['id']; ?>">
 | |
| 				<?php if ($ticketData['status'] !== 'CLOSED') { ?>
 | |
| 					<input type="submit" name="admin_ticket_close" value="Close Ticket" class="btn btn-warning">
 | |
| 				<?php } else { ?>
 | |
| 					<input type="submit" name="admin_ticket_open" value="Open Ticket" class="btn btn-success">
 | |
| 				<?php } ?>
 | |
| 				</form>
 | |
| 			</td>
 | |
| 			<td>
 | |
| 				<form action="" method="post" align="center" onClick="return confirm('Are you sure you want to delete this ticket?');">
 | |
| 					<input type="hidden" name="admin_ticket_id" value="<?php echo $ticketData['id']; ?>">
 | |
| 					<input type="submit" name="admin_ticket_delete" value="Delete Ticket" class="btn btn-danger">
 | |
| 				</form>
 | |
| 			</td>
 | |
| 		</tr>
 | |
| 	</table>
 | |
| 
 | |
| 	<?php if ($ticketData['status'] !== 'CLOSED') { ?>
 | |
| 		<hr class="bighr">
 | |
| 		<form action="" method="post">
 | |
| 			<input type="hidden" name="username" value="ADMIN"><br>
 | |
| 			<textarea class="forumReply" name="reply_text" style="width: 610px; height: 150px"></textarea><br>
 | |
| 			<input name="" type="submit" value="Post Reply" class="btn btn-primary">
 | |
| 		</form>
 | |
| 	<?php } ?>
 | |
| 	<?php
 | |
| } else {
 | |
| 	?>
 | |
| 	<h1>Latest Tickets</h1>
 | |
| 	<?php
 | |
| 	$tickets = mysql_select_multi("SELECT id,subject,creation,status FROM znote_tickets ORDER BY creation DESC");
 | |
| 	if ($tickets !== false) {
 | |
| 		?>
 | |
| 		<table>
 | |
| 			<tr class="yellow">
 | |
| 				<td>ID:</td>
 | |
| 				<td>Subject:</td>
 | |
| 				<td>Creation:</td>
 | |
| 				<td>Status:</td>
 | |
| 			</tr>
 | |
| 				<?php
 | |
| 				foreach ($tickets as $ticket) {
 | |
| 					echo '<tr class="special">';
 | |
| 						echo '<td>'. $ticket['id'] .'</td>';
 | |
| 						echo '<td><a href="admin_helpdesk.php?view='. $ticket['id'] .'">'. $ticket['subject'] .'</a></td>';
 | |
| 						echo '<td>'. getClock($ticket['creation'], true) .'</td>';
 | |
| 						echo '<td>'. $ticket['status'] .'</td>';
 | |
| 					echo '</tr>';
 | |
| 				}
 | |
| 				?>
 | |
| 		</table>
 | |
| 		<?php
 | |
| 	} else echo 'No helpdesk tickets has been submitted.';
 | |
| }
 | |
| include 'layout/overall/footer.php';
 | |
| ?>
 | 
