59 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
		
		
			
		
	
	
			59 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								require_once('include/global.php');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if(!$authenticated) {
							 | 
						||
| 
								 | 
							
									if ( $config['recaptcha_enabled'] ) {
							 | 
						||
| 
								 | 
							
										$smarty->assign('recaptcha_html', recaptcha_get_html($config['recaptcha_publickey']));
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									$smarty->display('login.tpl');
							 | 
						||
| 
								 | 
							
								} else {
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									// Login count (today)
							 | 
						||
| 
								 | 
							
									$data = qfetch('SELECT COUNT( * ) as `login_count`
							 | 
						||
| 
								 | 
							
										FROM  `sessions` 
							 | 
						||
| 
								 | 
							
										WHERE  `creation_time` > UNIX_TIMESTAMP( CURDATE( ) );', $db);
							 | 
						||
| 
								 | 
							
									$smarty->assign('login_count_today', $data['login_count']);
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									// Last user logged in
							 | 
						||
| 
								 | 
							
									$data = qfetch('SELECT `sessions`.`user_id`, `sessions`.`creation_time`, `users`.`username`
							 | 
						||
| 
								 | 
							
										FROM  `sessions` 
							 | 
						||
| 
								 | 
							
										LEFT JOIN `users` ON `sessions`.`user_id` = `users`.`id`
							 | 
						||
| 
								 | 
							
										ORDER BY `creation_time` DESC;', $db);
							 | 
						||
| 
								 | 
							
									$smarty->assign('last_user', $data['username']);
							 | 
						||
| 
								 | 
							
									$smarty->assign('last_user_time', $data['creation_time']);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									// active users
							 | 
						||
| 
								 | 
							
									$data = qfetch('SELECT COUNT(*) as `active_sessions`
							 | 
						||
| 
								 | 
							
										FROM `sessions` 
							 | 
						||
| 
								 | 
							
										WHERE (`last_ping_time` > UNIX_TIMESTAMP() - 900 AND `terminated` = 0);', $db);
							 | 
						||
| 
								 | 
							
									$smarty->assign('active_sessions', $data['active_sessions']);
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									// active sessions
							 | 
						||
| 
								 | 
							
									$data = qfetch('SELECT COUNT(DISTINCT `user_id`) as `active_users`
							 | 
						||
| 
								 | 
							
										FROM  `sessions` 
							 | 
						||
| 
								 | 
							
										WHERE (`last_ping_time` > UNIX_TIMESTAMP() - 900 AND `terminated` = 0);', $db);
							 | 
						||
| 
								 | 
							
									$smarty->assign('active_users', $data['active_users']);
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									// failed login attempts
							 | 
						||
| 
								 | 
							
									$data = qfetch('SELECT COUNT(*) as `failed_login_attempts`
							 | 
						||
| 
								 | 
							
										FROM  `activity_logs` 
							 | 
						||
| 
								 | 
							
										WHERE  `action` = \'login_error\' AND `activity_time` > UNIX_TIMESTAMP( CURDATE( ) );', $db);
							 | 
						||
| 
								 | 
							
									$smarty->assign('failed_login_attempts', $data['failed_login_attempts']);
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									// total failed login attempts
							 | 
						||
| 
								 | 
							
									$data = qfetch('SELECT COUNT(*) as `failed_login_attempts`
							 | 
						||
| 
								 | 
							
										FROM  `activity_logs` 
							 | 
						||
| 
								 | 
							
										WHERE  `action` = \'login_error\';', $db);
							 | 
						||
| 
								 | 
							
									$smarty->assign('total_failed_login_attempts', $data['failed_login_attempts']);
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									// program count
							 | 
						||
| 
								 | 
							
									$data = qfetch('SELECT COUNT(*) as `program_count` FROM  `programs`;', $db);
							 | 
						||
| 
								 | 
							
									$smarty->assign('program_count', $data['program_count']);
							 | 
						||
| 
								 | 
							
									
							 | 
						||
| 
								 | 
							
									// user count
							 | 
						||
| 
								 | 
							
									$data = qfetch('SELECT COUNT(*) as `user_count` FROM `users`;', $db);
							 | 
						||
| 
								 | 
							
									$smarty->assign('user_count', $data['user_count']);
							 | 
						||
| 
								 | 
							
										
							 | 
						||
| 
								 | 
							
									$smarty->display('index.tpl');
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								?>
							 |