You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							41 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
	
	
							41 lines
						
					
					
						
							1.3 KiB
						
					
					
				| <?php
 | |
| 
 | |
| require_once __DIR__ . '/../config/config.php';
 | |
| require_once __DIR__ . "/../lib/ts3phpframework/libraries/TeamSpeak3/TeamSpeak3.php";
 | |
| 
 | |
| function pingTeamspeakServerFromConfig() {
 | |
|     return pingTeamspeakServer(getTeamspeakConnection("?use_offline_as_virtual=1&no_query_clients=1"));
 | |
| }
 | |
| 
 | |
| function pingTeamspeakServer() {
 | |
|     try {
 | |
|         $tsAdmin = getTeamspeakConnection();
 | |
| 
 | |
|         if ($tsAdmin->isOffline())
 | |
|             throw new Exception("Server is offline");
 | |
| 
 | |
|         return $tsAdmin->getInfo();
 | |
|     } catch (TeamSpeak3_Exception $e) {
 | |
|         return false;
 | |
|     }
 | |
| }
 | |
| 
 | |
| function getTeamspeakConnection($arguments = '') {
 | |
|     try {
 | |
|         global $config;
 | |
|         $host   = $config['teamspeak']['host'];
 | |
|         $login  = $config['teamspeak']['login'];
 | |
|         $passwd = $config['teamspeak']['password'];
 | |
|         $sport  = $config['teamspeak']['server_port'];
 | |
|         $qport  = $config['teamspeak']['query_port'];
 | |
| 
 | |
|         $tsNodeHost = TeamSpeak3::factory("serverquery://$host:$qport/$arguments");
 | |
|         $code = mt_rand(100000, 999999); // random number with 6 digits
 | |
| 	    $tsNodeHost->setPredefinedQueryName("Group Assigner $code");
 | |
|         $tsNodeHost->login($login, $passwd);
 | |
|         return $tsNodeHost->serverGetByPort($sport);
 | |
|     } catch (Exception $e) {
 | |
|         throw $e;
 | |
|     }
 | |
| }
 |