protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { $visitor = XenForo_Visitor::getInstance(); if (XenForo_Permission::hasPermission($visitor['permissions'], 'moturdrn_gw2api', 'verified')) { require_once "library/Moturdrn/TS3GW2Auth/Includes/TeamSpeak3/ts3admin.class.php"; $tsAdmin = new ts3admin(XenForo_Application::getOptions()->ts3gw2auth_ts3server, XenForo_Application::getOptions()->ts3gw2auth_ts3sqport); if ($tsAdmin->getElement('success', $tsAdmin->connect())) { $tsAdmin->login(XenForo_Application::getOptions()->ts3gw2auth_ts3username, XenForo_Application::getOptions()->ts3gw2auth_ts3password); $tsAdmin->selectServer(XenForo_Application::getOptions()->ts3gw2auth_ts3port); } $ts3server = array(); $serverinfo = $tsAdmin->serverInfo(); $ts3server['server_name'] = $serverinfo['data']['virtualserver_name']; $ts3server['connected_clients'] = $serverinfo['data']['virtualserver_clientsonline']; $channellist = $tsAdmin->channelList("-topic -flags -voice -limits -icon"); $clientlist = $tsAdmin->clientList("-uid -away -voice -times -groups -info -country -icon -ip -badges"); foreach ($channellist['data'] as $channelInfo) { $ts3server['channellist'][$channelInfo['cid']] = $channelInfo; } foreach ($clientlist['data'] as $clientInfo) { if ($clientInfo['client_type'] == 1) { $this->subtractClient($ts3server['channellist'], $clientInfo['cid']); } else { $ts3server['clientlist'][] = $clientInfo; } } $ts3server['channellist'] = $this->buildTree($ts3server['channellist']); $ts3server['clientlist'] = $this->array_orderby($ts3server['clientlist'], 'client_talk_power', SORT_DESC, 'client_nickname', SORT_ASC); $output = ""; foreach ($ts3server['channellist'] as $channel) { $output .= $this->outputChannel($channel, $ts3server['clientlist']); } $tsOutput = <<<HTML <b><a href="https://www.gunnars-hold.eu/resources/gunnars-hold-ts-information.10/" class='tschannellink'>* Connection & Server Details</a></b><br /> <b><a href='ts3server://ts3.gunnars-hold.eu/?port=9987' class='tschannellink'>* Or Click Here To Connect Now!</a></b><br /><br /> {$output} HTML; } else { $tsOutput = 'You cannot view this item'; } $renderTemplateObject->setParam('tsOutput', $tsOutput); return $renderTemplateObject->render(); }
function buildCache() { $teamspeakData = array(); $config = Config::get(); switch ($config->ts_version) { case 2: require 'includes/libs/teamspeak/cyts/cyts.class.php'; $ts = new cyts(); if ($ts->connect($config->ts_server, $config->ts_tcpport, $config->ts_udpport, $config->ts_timeout)) { $serverInfo = $ts->info_serverInfo(); $teamspeakData = array('password' => '', 'current' => $serverInfo["server_currentusers"], 'maxuser' => $serverInfo["server_maxusers"]); $ts->disconnect(); } else { $error = $ts->debug(); throw new Exception('Teamspeak-Error: ' . implode("<br>\r\n", $error)); } break; case 3: require 'includes/libs/teamspeak/ts3admin/ts3admin.class.php'; $tsAdmin = new ts3admin($config->ts_server, $config->ts_udpport, $config->ts_timeout); $connected = $tsAdmin->connect(); if (!$connected['success']) { throw new Exception('Teamspeak-Error: ' . implode("<br>\r\n", $connected['errors'])); } $selected = $tsAdmin->selectServer($config->ts_tcpport, 'port', true); if (!$selected['success']) { throw new Exception('Teamspeak-Error: ' . implode("<br>\r\n", $selected['errors'])); } $loggedIn = $tsAdmin->login($config->ts_login, $config->ts_password); if (!$loggedIn['success']) { throw new Exception('Teamspeak-Error: ' . implode("<br>\r\n", $loggedIn['errors'])); } $serverInfo = $tsAdmin->serverInfo(); if (!$serverInfo['success']) { throw new Exception('Teamspeak-Error: ' . implode("<br>\r\n", $serverInfo['errors'])); } $teamspeakData = array('password' => $serverInfo['data']['virtualserver_password'], 'current' => $serverInfo['data']['virtualserver_clientsonline'] - 1, 'maxuser' => $serverInfo['data']['virtualserver_maxclients']); $tsAdmin->logout(); break; } return $teamspeakData; }
$ts3_pass = '******'; /*----------------------*/ $tsAdmin = new ts3admin($ts3_ip, $ts3_queryport); if ($tsAdmin->getElement('success', $tsAdmin->connect())) { $tsAdmin->login($ts3_user, $ts3_pass); $link = mysqli_connect("localhost", "user", "password", "database") or die("Error " . mysqli_error($link)); $query_mode = "SELECT * FROM server_properties WHERE value = '3' and ident = 'virtualserver_hostmessage_mode'"; $query_msg = "SELECT * FROM server_properties WHERE value LIKE '%error%' or value LIKE '%plugin%' or value LIKE '%sound%' or value LIKE '%audio%' or value LIKE '%missing%' or value LIKE '%portal%' and ident = 'virtualserver_hostmessage'"; $query_name = "SELECT * FROM server_properties WHERE value LIKE '%error%' or value LIKE '%plugin%' or value LIKE '%sound%' or value LIKE '%audio%' or value LIKE '%missing%' or value LIKE '%portal%' and ident = 'virtualserver_welcomemessage'"; // Hostmessage mode $result = $link->query($query_mode); while ($row = mysqli_fetch_array($result)) { $id = $row['server_id']; // echo "Selected server id = " . $id . PHP_EOL; $tsAdmin->selectServer($id, 'serverId'); $info = $tsAdmin->serverInfo(); $data = array(); $data['virtualserver_hostmessage_mode'] = '0'; $tsAdmin->serverEdit($data); if (count($tsAdmin->getDebugLog()) > 0) { foreach ($tsAdmin->getDebugLog() as $logEntry) { echo $logEntry . PHP_EOL; } } } // Hostmessage $result = $link->query($query_msg); while ($row = mysqli_fetch_array($result)) { $id = $row['server_id']; // echo "Selected server id = " . $id . PHP_EOL; $tsAdmin->selectServer($id, 'serverId');
function ShowOverviewPage() { global $CONF, $LNG, $PLANET, $USER, $db, $resource; $PlanetRess = new ResourceUpdate(); $PlanetRess->CalcResource(); $PlanetRess->SavePlanetToDB(); $template = new template(); $template->getplanets(); $AdminsOnline = $AllPlanets = $Moon = array(); foreach ($template->UserPlanets as $ID => $CPLANET) { if ($ID == $_SESSION['planet'] || $CPLANET['planet_type'] == 3) { continue; } if (!empty($CPLANET['b_building']) && $CPLANET['b_building'] > TIMESTAMP) { $Queue = explode(';', $CPLANET['b_building_id']); $CurrBuild = explode(',', $Queue[0]); $BuildPlanet = $LNG['tech'][$CurrBuild[0]] . " (" . $CurrBuild[1] . ")<br><span style=\"color:#7F7F7F;\">(" . pretty_time($CurrBuild[3] - TIMESTAMP) . ")</span>"; } else { $BuildPlanet = $LNG['ov_free']; } $AllPlanets[] = array('id' => $CPLANET['id'], 'name' => $CPLANET['name'], 'image' => $CPLANET['image'], 'build' => $BuildPlanet); } if ($PLANET['id_luna'] != 0) { $Moon = $db->uniquequery("SELECT `id`, `name` FROM " . PLANETS . " WHERE `id` = '" . $PLANET['id_luna'] . "';"); } if (!empty($PLANET['b_building'])) { $Queue = explode(';', $PLANET['b_building_id']); $CurrBuild = explode(',', $Queue[0]); $Build = $LNG['tech'][$CurrBuild[0]] . ' (' . $CurrBuild[1] . ')<br><div id="blc">"' . pretty_time($PLANET['b_building'] - TIMESTAMP) . '</div>'; $template->execscript('BuildTime();'); } else { $Build = $LNG['ov_free']; } $Teamspeak = ''; if ($CONF['ts_modon'] == 1) { if ($CONF['ts_version'] == 2) { include_once ROOT_PATH . "includes/libs/teamspeak/class.teamspeak2." . PHP_EXT; $ts = new cyts(); if ($ts->connect($CONF['ts_server'], $CONF['ts_tcpport'], $CONF['ts_udpport'], $CONF['ts_timeout'])) { $tsdata = $ts->info_serverInfo(); $tsdata2 = $ts->info_globalInfo(); $ts->disconnect(); $trafges = pretty_number($tsdata2["total_bytessend"] / 1024 / 1024 + $tsdata2["total_bytesreceived"] / 1024 / 1024); $Teamspeak = sprintf($LNG['ov_teamspeak_v2'], $CONF['ts_server'], $CONF['ts_udpport'], $USER['username'], $tsdata["server_currentusers"], $tsdata["server_maxusers"], $tsdata["server_currentchannels"], $trafges); } else { $Teamspeak = $LNG['ov_teamspeak_not_online']; } } elseif ($CONF['ts_version'] == 3) { $ip = $CONF['ts_server']; $port = $CONF['ts_tcpport']; $t_port = $CONF['ts_udpport']; $sid = $CONF['ts_timeout']; require_once ROOT_PATH . "includes/libs/teamspeak/class.teamspeak3." . PHP_EXT; $tsAdmin = new ts3admin($ip, $t_port); if ($tsAdmin->connect()) { $tsAdmin->selectServer($sid); #$tsAdmin->login($username, $password); Insert the SA Account Details, if Teamspeak banned you. $sinfo = $tsAdmin->serverInfo(); $tsAdmin->logout(); $tsAdmin->quit(); $trafges = round($sinfo['connection_bytes_received_total'] / 1024 / 1024 + $sinfo['connection_bytes_sent_total'] / 1024 / 1024, 2); $Debug = $tsAdmin->getDebugLog(); if ($Debug == "Error while fetching: 'error id=518 msg=not logged in'<br>") { $Teamspeak = sprintf($LNG['ov_teamspeak_v3'], $ip, $port, $USER['username'], $sinfo['virtualserver_password'], $sinfo['virtualserver_clientsonline'] - 1, $sinfo['virtualserver_maxclients'], $sinfo['virtualserver_channelsonline'], $trafges); } else { $Teamspeak = $Debug; } } else { $Teamspeak = $LNG['ov_teamspeak_not_online']; } } } $OnlineAdmins = $db->query("SELECT `id`,`username` FROM " . USERS . " WHERE `onlinetime` >= '" . (TIMESTAMP - 10 * 60) . "' AND `authlevel` > '0';"); while ($AdminRow = $db->fetch_array($OnlineAdmins)) { $AdminsOnline[$AdminRow['id']] = $AdminRow['username']; } $db->free_result($OnlineAdmins); $template->loadscript('mbContainer.js'); $template->loadscript('overview.js'); $template->execscript('GetFleets(true);'); $template->page_header(); $template->page_topnav(); $template->page_leftmenu(); $template->page_planetmenu(); $template->page_footer(); $template->assign_vars(array('user_rank' => sprintf($LNG['ov_userrank_info'], pretty_number($USER['total_points']), $LNG['ov_place'], $USER['total_rank'], $USER['total_rank'], $LNG['ov_of'], $CONF['users_amount']), 'is_news' => $CONF['OverviewNewsFrame'], 'news' => makebr($CONF['OverviewNewsText']), 'planetname' => $PLANET['name'], 'planetimage' => $PLANET['image'], 'galaxy' => $PLANET['galaxy'], 'system' => $PLANET['system'], 'planet' => $PLANET['planet'], 'buildtime' => $PLANET['b_building'], 'userid' => $USER['id'], 'username' => $USER['username'], 'build' => $Build, 'Moon' => $Moon, 'AllPlanets' => $AllPlanets, 'AdminsOnline' => $AdminsOnline, 'Teamspeak' => $Teamspeak, 'messages' => $USER['new_message'] > 0 ? $USER['new_message'] == 1 ? $LNG['ov_have_new_message'] : sprintf($LNG['ov_have_new_messages'], pretty_number($USER['new_message'])) : false, 'planet_diameter' => pretty_number($PLANET['diameter']), 'planet_field_current' => $PLANET['field_current'], 'planet_field_max' => CalculateMaxPlanetFields($PLANET), 'planet_temp_min' => $PLANET['temp_min'], 'planet_temp_max' => $PLANET['temp_max'], 'ov_news' => $LNG['ov_news'], 'fcm_moon' => $LNG['fcm_moon'], 'ov_server_time' => $LNG['ov_server_time'], 'ov_planet' => $LNG['ov_planet'], 'ov_planetmenu' => $LNG['ov_planetmenu'], 'ov_diameter' => $LNG['ov_diameter'], 'ov_distance_unit' => $LNG['ov_distance_unit'], 'ov_developed_fields' => $LNG['ov_developed_fields'], 'ov_max_developed_fields' => $LNG['ov_max_developed_fields'], 'ov_fields' => $LNG['ov_fields'], 'ov_temperature' => $LNG['ov_temperature'], 'ov_aprox' => $LNG['ov_aprox'], 'ov_temp_unit' => $LNG['ov_temp_unit'], 'ov_to' => $LNG['ov_to'], 'ov_position' => $LNG['ov_position'], 'ov_points' => $LNG['ov_points'], 'ov_events' => $LNG['ov_events'], 'ov_admins_online' => $LNG['ov_admins_online'], 'ov_no_admins_online' => $LNG['ov_no_admins_online'], 'ov_userbanner' => $LNG['ov_userbanner'], 'ov_teamspeak' => $LNG['ov_teamspeak'], 'ov_your_planet' => $LNG['ov_your_planet'], 'ov_coords' => $LNG['ov_coords'], 'ov_planet_name' => $LNG['ov_planet_name'], 'ov_actions' => $LNG['ov_actions'], 'ov_abandon_planet' => $LNG['ov_abandon_planet'], 'ov_planet_rename' => $LNG['ov_planet_rename'], 'ov_planet_rename_action' => $LNG['ov_planet_rename_action'], 'ov_password' => $LNG['ov_password'], 'ov_with_pass' => $LNG['ov_with_pass'], 'ov_security_confirm' => $LNG['ov_security_confirm'], 'ov_security_request' => $LNG['ov_security_request'], 'ov_delete_planet' => $LNG['ov_delete_planet'], 'ov_planet_abandoned' => $LNG['ov_planet_abandoned'], 'path' => PROTOCOL . $_SERVER['HTTP_HOST'] . HTTP_ROOT)); $template->show("overview_body.tpl"); }
<?php /** * * Ts-Islam * **/ require "lib/ts3admin.class.php"; include 'config.php'; $tsAdmin = new ts3admin($ts3_ip, $ts3_queryport); if ($tsAdmin->getElement('success', $tsAdmin->connect())) { $tsAdmin->login($ts3_user, $ts3_pass); $tsAdmin->selectServer($ts3_port); $tsAdmin->setName($bot_nickname); $whoami = $tsAdmin->getElement('data', $tsAdmin->whoAmI()); $tsAdmin->clientMove($whoami['client_id'], $bot_move); while (1) { $serverInfo = $tsAdmin->getElement('data', $tsAdmin->serverInfo()); $clientsOnline = $serverInfo['virtualserver_clientsonline'] - $serverInfo['virtualserver_queryclientsonline']; if ($Channel == 1) { $tsAdmin->channelEdit($channel_id, array('channel_name' => $channel_name . ' ' . $clientsOnline)); } if ($Server == 1) { $tsAdmin->serverEdit(array('virtualserver_name' => $server_name . ' ' . $clientsOnline)); } sleep($sleep); } } else { echo "Connetcion Problem"; }
function tslink_admin() { global $db, $lang, $mybb, $page, $run_module, $action_file, $plugins, $cache; $lang->load('tslink'); if ($run_module == 'user' && $action_file == 'tslink') { $page->add_breadcrumb_item($lang->tslink_plugin_name, 'index.php?module=tslink'); if ($mybb->input['action'] == 'tslink_changestatus') { $mybb_uid = intval($mybb->input['uid']); $changeto = intval($mybb->input['changeto']); $db->query('UPDATE ' . TABLE_PREFIX . "users SET memberstatus= '" . $changeto . "' WHERE uid='" . $mybb_uid . "'"); $queryUser = $db->simple_select('users', 'username, lastip', "uid='{$mybb_uid}'"); $bin_ip_in_db = $db->fetch_field($queryUser, 'lastip'); $givenip = my_inet_ntop($db->unescape_binary($bin_ip_in_db)); $forUser = $db->fetch_field($queryUser, 'username'); // If there's an ip of the user in de database, update the unique id's in the database if (!empty($givenip)) { tslink_log("=============================================================\n=================== " . date('d-m-Y H:i:s') . " =====================\n=============================================================\n", $forUser); tslink_log('Started on AdminCP by ' . $mybb->user['username'] . ' - IP address of user available (' . $givenip . ') - doing tslink_update_uids & tslink_update_groups', $forUser); $tslink_update_uids_results = tslink_update_uids($givenip); tslink_log($tslink_update_uids_results, $forUser); $message = $lang->tslink_status_changed; } // If there's no lastip of the user in the database - dont try to update the unique id's in the database if (empty($givenip)) { tslink_log("=============================================================\n=================== " . date('d-m-Y H:i:s') . " =====================\n=============================================================\n", $forUser); tslink_log('Started on AdminCP ' . $mybb->user['username'] . ' - IP address of user NOT available - only doing tslink_update_groups to update previously registered TS uids', $forUser); $tslink_update_groups_results = tslink_update_groups($mybb_uid); tslink_log($tslink_update_groups_results, $forUser); $message = $lang->tslink_status_changed; } admin_redirect('index.php?module=user-tslink'); } if (!$mybb->input['action'] || $mybb->input['action'] == 'conntest') { $page->output_header($lang->tslink); $sub_tabs['tslink'] = ['title' => $lang->tslink_tab_home, 'link' => 'index.php?module=user-tslink', 'description' => $lang->tslink_admin_tab_home_desc]; $sub_tabs['tslink-conntest'] = ['title' => $lang->tslink_admin_tsinfo_title, 'link' => 'index.php?module=user-tslink&action=conntest', 'description' => $lang->tslink_admin_tsinfo_desc]; } if ($mybb->input['action'] == 'conntest') { require __DIR__ . '/config.php'; $page->output_nav_tabs($sub_tabs, 'tslink-conntest'); //build a new ts3admin object $ts3 = new ts3admin($ts3_server, $ts3_query_port); if ($ts3->getElement('success', $ts3->connect())) { //login as serveradmin $ts3->login($ts3_username, $ts3_password); //select teamspeakserver $ts3->selectServer($ts3_server_port); // Set displayed name in TS to given $ts3->setName($ts3_nickname); $form = new Form('index.php?module=user-tslink&action=conntest', 'post'); $form_container = new FormContainer($lang->tslink_admin_tsinfo_full_title); $form_container->output_row($lang->tslink_admin_server_version, $ts3->version()['data']['version']); $form_container->output_row($lang->tslink_admin_server_platform, $ts3->version()['data']['platform']); $form_container->output_row($lang->tslink_admin_server_online_clients, $ts3->serverInfo()['data']['virtualserver_clientsonline'] . '/' . $ts3->serverInfo()['data']['virtualserver_maxclients']); $form_container->end(); $form->end(); } else { echo 'Connection could not be established.'; } /* * This code retuns all errors from the debugLog */ if (count($ts3->getDebugLog()) > 0) { foreach ($ts3->getDebugLog() as $logEntry) { echo '<script>alert("' . $logEntry . '");</script>'; } } $page->output_footer(); } if (!$mybb->input['action']) { $page->output_nav_tabs($sub_tabs, 'tslink'); $form = new Form('index.php?module=user-tslink', 'post'); $form_container = new FormContainer($lang->tslink_admin_table_heading_users); $form_container->output_row_header($lang->tslink_admin_row_username, ['class' => 'align_left', width => '50%']); $form_container->output_row_header($lang->tslink_admin_row_status, ['class' => 'align_center']); $form_container->output_row_header($lang->tslink_admin_row_options, ['class' => 'align_center']); $form_container->output_row_header($lang->tslink_admin_row_options, ['class' => 'align_center']); $query = $db->simple_select('users', 'uid, username, memberstatus', '', ['order_by' => 'username', 'order_dir' => 'ASC']); while ($users = $db->fetch_array($query)) { $form_container->output_cell("<div style=\"\"><strong>{$users['username']}</strong></div>"); if ($users['memberstatus'] == '0') { $form_container->output_cell('<div style=""><strong>Member</strong></div>', ['class' => 'align_center']); $form_container->output_cell("<a href=\"index.php?module=user-tslink&action=tslink_changestatus&uid={$users['uid']}&changeto=1\">{$lang->tslink_admin_row_changestatus1}</a>", ['class' => 'align_center']); $form_container->output_cell("<a href=\"index.php?module=user-tslink&action=tslink_changestatus&uid={$users['uid']}&changeto=2\">{$lang->tslink_admin_row_changestatus2}</a>", ['class' => 'align_center']); } elseif ($users['memberstatus'] == '1') { $form_container->output_cell('<div style=""><strong>Donating Member</strong></div>', ['class' => 'align_center']); $form_container->output_cell("<a href=\"index.php?module=user-tslink&action=tslink_changestatus&uid={$users['uid']}&changeto=0\">{$lang->tslink_admin_row_changestatus0}</a>", ['class' => 'align_center']); $form_container->output_cell("<a href=\"index.php?module=user-tslink&action=tslink_changestatus&uid={$users['uid']}&changeto=2\">{$lang->tslink_admin_row_changestatus2}</a>", ['class' => 'align_center']); } elseif ($users['memberstatus'] == '2') { $form_container->output_cell('<div style=""><strong>VIP Member</strong></div>', ['class' => 'align_center']); $form_container->output_cell("<a href=\"index.php?module=user-tslink&action=tslink_changestatus&uid={$users['uid']}&changeto=0\">{$lang->tslink_admin_row_changestatus0}</a>", ['class' => 'align_center']); $form_container->output_cell("<a href=\"index.php?module=user-tslink&action=tslink_changestatus&uid={$users['uid']}&changeto=1\">{$lang->tslink_admin_row_changestatus1}</a>", ['class' => 'align_center']); } $form_container->construct_row(); } $form_container->end(); $form->end(); $page->output_footer(); } } }