Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class adminMysql {
- private static $interval;
- public static $config;
- public static function isTriggered() {
- if (time() > self::$interval) {
- self::$interval = time() + HelpfulParrot::timer(self::$config['interval']);
- return true;
- }
- return false;
- }
- public static function handle() {
- global $ts3, $db;
- $connect = $db->prepare('SELECT * FROM adminOnTheServer');
- $connect->execute();
- foreach ($ts3->getElement('data', $ts3->serverGroupList()) as $groups) {
- if (in_array($groups['sgid'], self::$config['groups'])) {
- foreach ($ts3->getElement('data', $ts3->serverGroupClientList($groups['sgid'], true)) as $sgClientList) {
- if (isset($sgClientList['cldbid'])) {
- $admins[] = [
- 'groupSgid' => $groups['sgid'],
- 'nick' => $sgClientList['client_nickname'],
- 'cldbid' => $sgClientList['cldbid'],
- 'cuid' => $sgClientList['client_unique_identifier'],
- 'groupName' => $groups['name']
- ];
- $cldbid[] = $sgClientList['cldbid'];
- }
- }
- }
- }
- foreach ($admins as $admin) {
- if ($connect->rowCount() < count($admins)) {
- $db->insert('adminOnTheServer', array(
- 'groupSgid' => $admin['groupSgid'],
- 'nick' => $admin['nick'],
- 'cldbid' => $admin['cldbid'],
- 'cuid' => $admin['cuid'],
- 'groupName' => $admin['groupName']
- ));
- } else {
- $update = array(
- 'groupSgid' => $admin['groupSgid'],
- 'nick' => $admin['nick'],
- 'groupName' => $admin['groupName'],
- );
- $db->update('adminOnTheServer', $update, "`cldbid` = '{$admin['cldbid']}'");
- }
- }
- $adminMsql = $connect->fetchAll(PDO::FETCH_COLUMN, 2);
- $adminDel = array_diff($adminMsql, $cldbid);
- if (!empty($adminDel)) {
- foreach ($adminDel as $adminRemove) {
- $db->delete("adminOnTheServer", "cldbid = $adminRemove", 1);
- }
- }
- unset($admins, $cldbid, $adminMsql);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement