| 
									
										
										
										
											2024-06-28 17:05:32 +00:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-01 09:45:07 +00:00
										 |  |  | /** | 
					
						
							|  |  |  |  * Jilo web logs observer | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Description: A web interface to Jilo (JItsi Logs Observer), written in PHP | 
					
						
							|  |  |  |  * Author: Yasen Pramatarov | 
					
						
							|  |  |  |  * License: GPLv2 | 
					
						
							|  |  |  |  * Project URL: https://lindeas.com/jilo | 
					
						
							|  |  |  |  * Year: 2024 | 
					
						
							|  |  |  |  * Version: 0.1 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // list of available pages
 | 
					
						
							|  |  |  | // edit accordingly, add 'pages/PAGE.php'
 | 
					
						
							|  |  |  | $allowed_urls = [ | 
					
						
							|  |  |  |     'front', | 
					
						
							|  |  |  |     'login', | 
					
						
							|  |  |  |     'logout', | 
					
						
							|  |  |  |     'register', | 
					
						
							|  |  |  |     'profile', | 
					
						
							|  |  |  |     'config', | 
					
						
							| 
									
										
										
										
											2024-07-04 09:04:27 +00:00
										 |  |  |     'conferences', | 
					
						
							| 
									
										
										
										
											2024-07-01 09:45:07 +00:00
										 |  |  | ]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // cnfig file
 | 
					
						
							|  |  |  | $config_file = '/home/yasen/work/code/git/lindeas-code/jilo-web/jilo-web.conf.php'; | 
					
						
							|  |  |  | if (file_exists($config_file)) { | 
					
						
							|  |  |  |     require_once $config_file; | 
					
						
							|  |  |  | } else { | 
					
						
							|  |  |  |     die('Config file not found'); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | session_start(); | 
					
						
							| 
									
										
										
										
											2024-06-28 17:05:32 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | if (isset($_GET['page'])) { | 
					
						
							|  |  |  |     $page = $_GET['page']; | 
					
						
							|  |  |  | } elseif (isset($_POST['page'])) { | 
					
						
							|  |  |  |     $page = $_POST['page']; | 
					
						
							|  |  |  | } else { | 
					
						
							|  |  |  |     $page = 'front'; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-03 06:37:35 +00:00
										 |  |  | // check if logged in
 | 
					
						
							|  |  |  | if (isset($_COOKIE['username'])) { | 
					
						
							|  |  |  |     if ( !isset($_SESSION['username']) ) { | 
					
						
							|  |  |  |         $_SESSION['username'] = $_COOKIE['username']; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2024-07-01 09:45:07 +00:00
										 |  |  |     $user = htmlspecialchars($_SESSION['username']); | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2024-06-28 17:05:32 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-01 09:45:07 +00:00
										 |  |  | // redirect to login
 | 
					
						
							| 
									
										
										
										
											2024-07-03 15:15:32 +00:00
										 |  |  | if ( !isset($_COOKIE['username']) && ($page !== 'login' && $page !== 'register') ) { | 
					
						
							| 
									
										
										
										
											2024-06-28 17:05:32 +00:00
										 |  |  |     header('Location: index.php?page=login'); | 
					
						
							|  |  |  |     exit(); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-01 09:45:07 +00:00
										 |  |  | // we use 'notice' for all non-critical messages and 'error' for errors
 | 
					
						
							|  |  |  | if (isset($_SESSION['notice'])) { | 
					
						
							|  |  |  |     $notice = $_SESSION['notice']; | 
					
						
							| 
									
										
										
										
											2024-06-28 17:05:32 +00:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2024-07-01 09:45:07 +00:00
										 |  |  | if (isset($_SESSION['error'])) { | 
					
						
							|  |  |  |     $error = $_SESSION['error']; | 
					
						
							| 
									
										
										
										
											2024-06-28 17:05:32 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-01 09:45:07 +00:00
										 |  |  | // page building
 | 
					
						
							|  |  |  | if (in_array($page, $allowed_urls)) { | 
					
						
							|  |  |  |     // logout is a special case, as we can't use session vars for notices
 | 
					
						
							|  |  |  |     if ($page == 'logout') { | 
					
						
							| 
									
										
										
										
											2024-06-28 17:05:32 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-01 09:45:07 +00:00
										 |  |  |         // clean up session
 | 
					
						
							|  |  |  |         session_unset(); | 
					
						
							|  |  |  |         session_destroy(); | 
					
						
							| 
									
										
										
										
											2024-07-03 06:37:35 +00:00
										 |  |  |         setcookie('username', "", time() - 100, $config['folder'], $config['domain'], isset($_SERVER['HTTPS']), true); | 
					
						
							| 
									
										
										
										
											2024-06-28 17:05:32 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-01 09:45:07 +00:00
										 |  |  |         $notice = "You were logged out.<br />You can log in again."; | 
					
						
							|  |  |  |         include 'templates/header.php'; | 
					
						
							|  |  |  |         include 'templates/menu.php'; | 
					
						
							|  |  |  |         include 'templates/message.php'; | 
					
						
							|  |  |  |         include 'pages/login.php'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // all other normal pages
 | 
					
						
							|  |  |  |     } else { | 
					
						
							|  |  |  |         include 'templates/header.php'; | 
					
						
							|  |  |  |         include 'templates/menu.php'; | 
					
						
							|  |  |  |         include 'templates/message.php'; | 
					
						
							|  |  |  |         include "pages/{$page}.php"; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // the page is not in allowed urls, loading front page
 | 
					
						
							| 
									
										
										
										
											2024-06-28 17:05:32 +00:00
										 |  |  | } else { | 
					
						
							| 
									
										
										
										
											2024-07-01 09:45:07 +00:00
										 |  |  |     include 'templates/header.php'; | 
					
						
							|  |  |  |     include 'templates/menu.php'; | 
					
						
							|  |  |  |     include 'templates/message.php'; | 
					
						
							| 
									
										
										
										
											2024-06-28 17:05:32 +00:00
										 |  |  |     include 'pages/front.php'; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | include 'templates/footer.php'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-01 09:45:07 +00:00
										 |  |  | // clear errors and notices before next page just in case
 | 
					
						
							|  |  |  | unset($_SESSION['error']); | 
					
						
							|  |  |  | unset($_SESSION['notice']); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-28 17:05:32 +00:00
										 |  |  | ?>
 |