Add Mumble/mumble_users.php
This commit is contained in:
		
							parent
							
								
									e7e857fc0a
								
							
						
					
					
						commit
						fa655d4281
					
				
					 1 changed files with 112 additions and 0 deletions
				
			
		
							
								
								
									
										112
									
								
								Mumble/mumble_users.php
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										112
									
								
								Mumble/mumble_users.php
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,112 @@
 | 
			
		|||
<?php
 | 
			
		||||
// Function to extract username from log line
 | 
			
		||||
function extractUsername($line) {
 | 
			
		||||
    preg_match('/<\d+:([^>]+)>/', $line, $matches);
 | 
			
		||||
    return isset($matches[1]) ? $matches[1] : null;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Function to read log file and update list of unique users
 | 
			
		||||
function updateUniqueUsers($filename, &$uniqueUsers) {
 | 
			
		||||
    if (($handle = fopen($filename, "r")) !== false) {
 | 
			
		||||
        while (($line = fgets($handle)) !== false) {
 | 
			
		||||
            $username = extractUsername($line);
 | 
			
		||||
            if ($username !== null && !in_array($username, $uniqueUsers)) {
 | 
			
		||||
                $uniqueUsers[] = $username;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        fclose($handle);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Function to save list of unique users to a file
 | 
			
		||||
function saveUniqueUsersToFile($filename, $uniqueUsers) {
 | 
			
		||||
    file_put_contents($filename, implode("\n", $uniqueUsers));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Main script
 | 
			
		||||
$logFilename = '/var/log/mumble-server/mumble-server.log'; // Change this to the path of your log file
 | 
			
		||||
$usersFilename = 'unique_users.txt'; // Change this to the path where you want to store the unique users
 | 
			
		||||
 | 
			
		||||
$uniqueUsers = [];
 | 
			
		||||
 | 
			
		||||
// Load existing unique users from file if it exists
 | 
			
		||||
// Main script continued
 | 
			
		||||
if (file_exists($usersFilename)) {
 | 
			
		||||
    $uniqueUsers = file($usersFilename, FILE_IGNORE_NEW_LINES);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Update list of unique users from the log file
 | 
			
		||||
updateUniqueUsers($logFilename, $uniqueUsers);
 | 
			
		||||
 | 
			
		||||
// Save updated list of unique users back to file
 | 
			
		||||
saveUniqueUsersToFile($usersFilename, $uniqueUsers);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//<?php
 | 
			
		||||
// Output the list of unique users in a table with numbering and borders
 | 
			
		||||
echo "<style>
 | 
			
		||||
        table {
 | 
			
		||||
            width: 100%;
 | 
			
		||||
            border-collapse: collapse;
 | 
			
		||||
            border-radius: 8px;
 | 
			
		||||
            overflow: hidden;
 | 
			
		||||
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
 | 
			
		||||
        }
 | 
			
		||||
        th, td {
 | 
			
		||||
            padding: 12px 15px;
 | 
			
		||||
            text-align: left;
 | 
			
		||||
            border-bottom: 1px solid #ddd;
 | 
			
		||||
        }
 | 
			
		||||
        th {
 | 
			
		||||
            background-color: #f2f2f2;
 | 
			
		||||
            font-weight: bold;
 | 
			
		||||
            color: #333;
 | 
			
		||||
            border-top: 2px solid #333;
 | 
			
		||||
        }
 | 
			
		||||
        tr:nth-child(even) {
 | 
			
		||||
            background-color: #f9f9f9;
 | 
			
		||||
        }
 | 
			
		||||
        tr:hover {
 | 
			
		||||
            background-color: #f2f2f2;
 | 
			
		||||
        }
 | 
			
		||||
      </style>";
 | 
			
		||||
 | 
			
		||||
echo "<table>";
 | 
			
		||||
echo "<thead><tr><th>#</th><th>Username</th></tr></thead>";
 | 
			
		||||
echo "<tbody>";
 | 
			
		||||
$count = 1;
 | 
			
		||||
foreach ($uniqueUsers as $user) {
 | 
			
		||||
    // Remove the suffix (-1) from usernames
 | 
			
		||||
    $user = str_replace('(-1)', '', $user);
 | 
			
		||||
    echo "<tr><td>$count</td><td>$user</td></tr>";
 | 
			
		||||
    $count++;
 | 
			
		||||
}
 | 
			
		||||
echo "</tbody>";
 | 
			
		||||
echo "</table>";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Output the list of unique users in a table with numbering and borders
 | 
			
		||||
//echo "<table style='border-collapse: collapse;'>";
 | 
			
		||||
//echo "<thead><tr><th style='border: 2px solid black;'># </th><th style='border: 2px solid black;'>Username</th></tr></thead>";
 | 
			
		||||
//echo "<tbody>";
 | 
			
		||||
//$count = 1;
 | 
			
		||||
//foreach ($uniqueUsers as $user) {
 | 
			
		||||
    // Remove the suffix (-1) from usernames
 | 
			
		||||
//    $user = str_replace('(-1)', '', $user);
 | 
			
		||||
//    echo "<tr><td style='border: 1px solid black;'>$count </td><td style='border: 1px solid black;'>$user</td></tr>";
 | 
			
		||||
//   $count++;
 | 
			
		||||
//}
 | 
			
		||||
//echo "</tbody>";
 | 
			
		||||
//echo "</table>";
 | 
			
		||||
?>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	Add table
		
		Reference in a new issue