-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathts3delete.cron.php
59 lines (52 loc) · 1.78 KB
/
ts3delete.cron.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
require_once(dirname(__FILE__).'/library/ts3admin/src/ts3admin.class.php');
require_once(dirname(__FILE__).'/library/PHP-PDO-Wrapper/PdoWrapper.class.php');
require_once(dirname(__FILE__).'/library/ts3delete.class.php');
require_once(dirname(__FILE__).'/ts3delete.settings.php');
$ts3 = new ts3admin(settingsTS3::HostName, settingsTS3::QueryPort);
$ts3del = new ts3delete(settingsSQL::HostName, settingsSQL::DataBase, settingsSQL::CharSet, settingsSQL::UserName, settingsSQL::PassWord, settingsSQL::Table);
if ( $ts3->getElement('success', $ts3->connect()) )
{
$ts3->login(settingsTS3::UserName, settingsTS3::PassWord);
$ts3->selectServer(settingsTS3::VoicePort);
$ts3->setName(settingsTS3::BotName);
$ts3del->setIgnoreList(settingsTS3::ignoreChannelId());
// ChannelCrawl
$channelList = $ts3->getElement('data', $ts3->channelList());
if ( is_array($channelList) )
{
foreach ( $channelList as $key => $value )
{
$ts3del->setChannelName($value['channel_name']);
$ts3del->setChannelId($value['cid']);
if ( $value['total_clients'] > 0 )
{
if ( $ts3del->getDbFoundChannel() && !$ts3del->isChannelIgnore() )
{
$ts3del->setDbDeleteChannel();
}
}
else
{
if ( !$ts3del->isChannelSpacer() && !$ts3del->getDbFoundChannel() && !$ts3del->isChannelIgnore() )
{
$ts3del->setDbAddChannel();
}
}
}
}
// ChannelDelete
$dbChannelList = $ts3del->getDbAllData();
if ( is_array($dbChannelList) )
{
foreach ( $dbChannelList as $key => $value )
{
if ( (time() - $value['lastTime']) >= settingsTS3::DeleteTime && !$ts3del->isChannelIgnore() )
{
$ts3del->setChannelId($value['channelID']);
$ts3del->setDbDeleteChannel();
$ts3->channelDelete($value['channelID'], 0);
}
}
}
}