Dalexhd icon

autopoke.php

Dalexhd | PRO | 10/25/17 08:12:48 AM UTC | 0 ⭐ | 319 👁️ | Never ⏰ | []
PHP |

2.6 KB

|

None

|

0 👍

/

0 👎

<?php
include_once 'include/config.php';
include_once 'include/ts3admin.class.php';
 
function autopoke()
{
    global $query;
    global $config;
    global $interval;
    
    $cache   = array();
    $welcome = array();
    
    $users = $query->getElement('data', $query->clientList('-groups -voice -away -times'));
    
    $pokes  = array();
    $admins = array();
    
    foreach ($users as $client) 
    {
        if ($client['client_nickname'] != $config['bot']['name']) 
        {
            $user_groups = explode(',', $client['client_servergroups']);
            
            if (isInGroup($user_groups, $config['autopoke']['admins_groups']) && !in_array($client['clid'], $cache)) 
            {
                $admins[$client['clid']] = $user_groups;
            }
            
            if (array_key_exists($client['cid'], $config['autopoke']['messages']) && !isInGroup($user_groups, $config['autopoke']['admins_groups']) && !$client['client_is_talker']) 
            {
                
                $pokes[] = $client['cid'];
                
                //priv dla usera 
                if (!in_array($client['clid'], $cache)) 
                {
                    $msg = file_get_contents($config['autopoke']['user_poke_path'], "r");
                    $query->sendMessage(1, $client['clid'], $msg);
                    $cache[time() - 1] = $client['clid'];
                }
            }
        }
    }
    
    $counter = 0;
    foreach ($pokes as $poke) 
    {
        foreach ($admins as $clid => $admin) 
        {
            if (isInGroup($admin, $config['autopoke']['messages'][$poke]['groups'])) 
            {
                if (!in_array($clid, $cache)) 
                {
                    $cache[time() + $counter] = $clid;
                    $msg2 = file_get_contents($config['autopoke']['admin_poke_path'], "r");
                    $query->clientPoke($clid, $msg2);
                    $counter++;
                }
            }
        }
    }
    
    foreach ($cache as $time => $user) 
    {
        if (time() - $time > $interval) 
        {
            unset($cache[$time]);
        }
    }
    
    if (date('H') == '23') 
    {
        foreach ($welcome as $time => $user) 
        {
            if (time() - $time > 60 * 60 * 24) 
            {
                unset($welcome[$time]);
            }
        }
    }
    
    unset($query);
    unset($config);
    unset($interval);
    
    unset($cache);
    unset($welcome);
    
    unset($users);
    
    unset($pokes);
    unset($admins);
}
 
?>

Comments