Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //SQL Connection
- $servername = "localhost";
- $username = "root";
- $password = "";
- $database = "C3RP_ts3monitor";
- // Create connection
- $conn = new mysqli($servername, $username, $password, $database);
- // Check connection
- if ($conn->connect_error) {
- die("Database Connection failed: " . $conn->connect_error);
- }
- // load framework files
- require_once("ts3lib/TeamSpeak3.php");
- require_once("ts3lib/Exception.php");
- //Read tracked fields
- $activity_fields = explode("\n", str_replace("\r", "", file_get_contents("activity.log")));
- $channel_fields = explode("\n", str_replace("\r", "", file_get_contents("channels.log")));
- // IPv4 connection URI
- $conf = array(
- "tsip" => "ts.alzlper.com",
- "tsport" => "9987",
- "ts_query_admin" => "tsbot",
- "ts_query_password" => "------",
- "ts_query_port" => "10011",
- "ts_query_user_nick" => "Teamspeak-Baron"
- );
- $uri = "serverquery://".$conf["ts_query_admin"].":".$conf["ts_query_password"]."@".$conf["tsip"].":".$conf["ts_query_port"]."/?server_port=".$conf["tsport"]."&nickname=".$conf["ts_query_user_nick"];
- $ts3_coon;
- try {
- TeamSpeak3::init();
- $ts3_coon = TeamSpeak3::factory($uri);
- } catch(Exception $e) {
- echo "Es konnte keine Verbindung zum TS3 Server hergestellt werden! ErrorID: <b>". $e->getCode() ."</b>; Error Message: <b>". $e->getMessage() ."</b>;";
- exit;
- }
- //Select the virtual server
- $ts3 = $ts3_coon->serverGetById(1);
- while(true) {
- updateActivity($activity_fields, $conn, $conf, $ts3);
- updateChannels($channel_fields, $conn, $conf, $ts3);
- sleep(10);
- }
- function updateTs3FieldData($list, $fields, $conn, $conf, $ts3, $table) {
- $sql_cache = "";
- foreach($list as $node_obj) {
- if($table == "activity" && $node_obj["client_nickname"] == $conf["ts_query_user_nick"]) continue;
- $sql_fields = [];
- foreach ($fields as $field) {
- $sql_fields["fields"][] = "`$field`";
- $sql_fields["data"][] = "'$node_obj[$field]'";
- }
- echo count($sql_fields["data"])."\n";
- $sql_cache .= "INSERT INTO `$table` (".implode(",",$sql_fields["fields"]).") VALUES (".implode(",",$sql_fields["data"]).");";
- }
- $conn->query($sql_cache);
- return $sql_cache;
- }
- function updateActivity($activity_fields, $conn, $conf, $ts3) {
- updateTs3FieldData(
- $ts3->clientList(),
- $activity_fields,
- $conn,
- $conf,
- $ts3,
- "activity"
- );
- }
- function updateChannels($channel_fields, $conn, $conf, $ts3) {
- updateTs3FieldData(
- $ts3->channelList(),
- $channel_fields,
- $conn,
- $conf,
- $ts3,
- "channel"
- );
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement