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(); } } }