Please make sure IN_MYBB is defined.");
}
define("SERVERSBOARD_CORE_PATH", MYBB_ROOT."inc/serversboard/");
define("SERVERSBOARD_IMAGES_PATH", "./images/serversboard/");
define("PLUGIN_WEBSITE", "http://polish-zone.pl/index.php");
define("PLUGIN_AUTHOR", "Krzysztof \"Supryk\" Supryczyński");
define("PLUGIN_AUTHORNAME", "Supryk");
define("PLUGIN_AUTHORSITE", "http://polish-zone.pl/index.php");
define("PLUGIN_VERSION", "3.0.9");
define("COMPATIBILITY", "1801,1802,1803");
define("CODENAME", "servers_board");
global $mybb;
$plugins->add_hook("admin_config_menu", "serversboard_admin_config_menu");
$plugins->add_hook("admin_config_action_handler", "serversboard_admin_config_action_handler");
$plugins->add_hook("admin_home_menu_quick_access", "serversboard_admin_home_menu_quick_access");
$plugins->add_hook("admin_config_permissions", "serversboard_admin_config_permissions");
if($mybb->settings['serversboard_index_onoff'] == '1')
$plugins->add_hook("index_start", "serversboard_index");
if($mybb->settings['serversboard_portal_onoff'] == '1')
$plugins->add_hook("portal_start", "serversboard_index");
$plugins->add_hook("serversboard_start", "serversboard_subpage");
$plugins->add_hook("serversboard_start", "serversboard_index");
$plugins->add_hook("build_friendly_wol_location_end", "serversboard_friendly_location");
$plugins->add_hook("fetch_wol_activity_end", "serversboard_wol");
$plugins->add_hook("pre_output_page", "serversboard_thanks");
if(my_strpos($_SERVER['PHP_SELF'], 'index.php') || my_strpos($_SERVER['PHP_SELF'], 'serversboard.php'))
{
global $templatelist;
if(isset($templatelist))
{
$templatelist .= ',';
}
$templatelist .= 'serversboard_index_row,serversboard_index_row_empty,serversboard_index_row_window_general,serversboard_index_row_window_players,serversboard_index_row_window_players_row,serversboard_index_row_window_players_row_empty,serversboard_index_summation,serversboard_more,serversboard_index,serversboard_more_general,serversboard_more_field,serversboard_more_map,serversboard_more_players,serversboard_more_players_row,serversboard_more_players_row_empty,serversboard_more_buddylist_row,serversboard_more_buddylist,serversboard_more_buddylist_row_empty,serversboard_more_buddylist_button_lowerbuddylist,serversboard_more_buddylist_button_joinbuddylist,serversboard_more_owner,serversboard_more_owner_row,serversboard_more_owner_row_empty,serversboard_index_row_window_players_link,serversboard_index_row_window_general_link';
}
function serversboard_info()
{
global $db, $lang, $mybb;
$lang->load("config_serversboard");
return array(
"name" => $lang->serversboard,
"description" => $lang->serversboard_desc,
"website" => PLUGIN_WEBSITE,
"author" => PLUGIN_AUTHOR,
"authorsite" => PLUGIN_AUTHORSITE,
"version" => PLUGIN_VERSION,
"compatibility" => COMPATIBILITY,
"codename" => CODENAME,
);
}
function serversboard_is_installed()
{
global $db, $lang, $mybb;
$lang->load("config_serversboard");
if($db->table_exists("serversboard"))
{
return true;
}
else
{
return false;
}
}
function serversboard_install()
{
global $db, $lang, $mybb;
$lang->load("config_serversboard");
if(!file_exists(MYBB_ROOT."serversboard.php"))
{
flash_message($lang->serversboard_upload_all_files, 'error');
admin_redirect("index.php?module=config-plugins");
}
if(!file_exists(SERVERSBOARD_CORE_PATH."gameq.php"))
{
flash_message($lang->serversboard_upload_all_files, 'error');
admin_redirect("index.php?module=config-plugins");
}
if(!in_array($mybb->version_code, explode("," ,"1801,1802,1803")))
{
flash_message($lang->serversboard_to_old_mybb, 'error');
admin_redirect("index.php?module=config-plugins");
}
if(!$db->table_exists("serversboard"))
{
$db->write_query("CREATE TABLE ".TABLE_PREFIX."serversboard (
`sid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`ip` varchar(35) NOT NULL DEFAULT '0',
`arma2qport` varchar(30) NOT NULL DEFAULT '',
`arma3qport` varchar(30) NOT NULL DEFAULT '',
`bf3qport` varchar(30) NOT NULL DEFAULT '',
`bf4qport` varchar(30) NOT NULL DEFAULT '',
`dayzqport` varchar(30) NOT NULL DEFAULT '',
`dayzmodqport` varchar(30) NOT NULL DEFAULT '',
`minecraftqport` varchar(30) NOT NULL DEFAULT '',
`mtaqport` varchar(30) NOT NULL DEFAULT '',
`mumbleqport` varchar(30) NOT NULL DEFAULT '',
`rustqport` varchar(30) NOT NULL DEFAULT '',
`terrariaqport` varchar(30) NOT NULL DEFAULT '',
`ts3qport` varchar(30) NOT NULL DEFAULT '10011',
`type` varchar(20) NOT NULL DEFAULT '0',
`offlinehostname` varchar(100) NOT NULL DEFAULT '',
`cuthostname` varchar(3) NOT NULL DEFAULT '',
`disporder` int(10) NOT NULL DEFAULT '0',
`field` int(1) NOT NULL default '0',
`field_link` varchar(100) NOT NULL DEFAULT '',
`field_icon` varchar(100) NOT NULL DEFAULT '',
`visible` int(1) NOT NULL default '1',
`new` int(1) NOT NULL default '0',
`new_color` varchar(20) NOT NULL DEFAULT '',
`new_text` varchar(20) NOT NULL DEFAULT '',
`forumid` varchar(20) NOT NULL DEFAULT '',
`buddylist` TEXT NOT NULL,
`cache` LONGTEXT NOT NULL,
`lastupdate` bigint(30) NOT NULL DEFAULT '0',
`recordplayers` int(10) NOT NULL DEFAULT '0',
`owner` varchar(100) NOT NULL,
`administrators` int(20) NOT NULL,
PRIMARY KEY (`sid`)
) ENGINE = MYISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
");
// ) ENGINE=MyISAM ".$db->build_create_table_collation().";");
}
$query = $db->simple_select("settinggroups", "MAX(disporder) AS max_disporder");
$max_disporder = $db->fetch_field($query, "max_disporder");
$settinggroup = array(
"gid" => NULL,
'name' => 'serversboard',
'title' => $db->escape_string($lang->setting_name),
'description' => $db->escape_string($lang->setting_desc),
'disporder' => $max_disporder + 1,
'isdefault' => '0',
);
$db->insert_query("settinggroups", $settinggroup);
$disporder = 0;
$gid = $db->insert_id();
$setting = array(
"sid" => NULL,
"name" => "serversboard_onoff",
"title" => $db->escape_string($lang->setting_onoff),
"description" => $db->escape_string($lang->setting_onoff_desc),
"optionscode" => "onoff",
"value" => '1',
"disporder" => $disporder++,
"gid" => $gid,
"isdefault" => '0',
);
$db->insert_query("settings", $setting);
$setting = array(
"sid" => NULL,
"name" => "serversboard_index_onoff",
"title" => $db->escape_string($lang->setting_index_onoff),
"description" => $db->escape_string($lang->setting_index_onoff_desc),
"optionscode" => "onoff",
"value" => '1',
"disporder" => $disporder++,
"gid" => $gid,
"isdefault" => '0',
);
$db->insert_query("settings", $setting);
$setting = array(
"sid" => NULL,
"name" => "serversboard_portal_onoff",
"title" => $db->escape_string($lang->setting_portal_onoff),
"description" => $db->escape_string($lang->setting_portal_onoff_desc),
"optionscode" => "onoff",
"value" => '1',
"disporder" => $disporder++,
"gid" => $gid,
"isdefault" => '0',
);
$db->insert_query("settings", $setting);
$setting = array(
"sid" => NULL,
"name" => "serversboard_show_index_row_window_general_link_onoff",
"title" => $db->escape_string($lang->setting_show_index_row_window_general_link_onoff),
"description" => $db->escape_string($lang->setting_show_index_row_window_general_link_onoff_desc),
"optionscode" => "onoff",
"value" => '0',
"disporder" => $disporder++,
"gid" => $gid,
"isdefault" => '0',
);
$db->insert_query("settings", $setting);
$setting = array(
"sid" => NULL,
"name" => "serversboard_show_index_row_window_players_link_onoff",
"title" => $db->escape_string($lang->setting_show_index_row_window_players_link_onoff),
"description" => $db->escape_string($lang->setting_show_index_row_window_players_link_onoff_desc),
"optionscode" => "onoff",
"value" => '0',
"disporder" => $disporder++,
"gid" => $gid,
"isdefault" => '0',
);
$db->insert_query("settings", $setting);
$setting = array(
"sid" => NULL,
"name" => "serversboard_show_barsplayersnum_onoff",
"title" => $db->escape_string($lang->setting_show_barsplayersnum_onoff),
"description" => $db->escape_string($lang->setting_show_barsplayersnum_onoff_desc),
"optionscode" => "onoff",
"value" => '0',
"disporder" => $disporder++,
"gid" => $gid,
"isdefault" => '0',
);
$db->insert_query("settings", $setting);
$setting = array(
"sid" => NULL,
"name" => "serversboard_bots_players_onoff",
"title" => $db->escape_string($lang->setting_show_bots_onoff),
"description" => $db->escape_string($lang->setting_show_bots_onoff_desc),
"optionscode" => "onoff",
"value" => '1',
"disporder" => $disporder++,
"gid" => $gid,
"isdefault" => '0',
);
$db->insert_query("settings", $setting);
$setting = array(
"sid" => NULL,
"name" => "serversboard_show_server_procents_onoff",
"title" => $db->escape_string($lang->setting_show_server_procents_onoff),
"description" => $db->escape_string($lang->setting_show_server_procents_onoff_desc),
"optionscode" => "onoff",
"value" => '1',
"disporder" => $disporder++,
"gid" => $gid,
"isdefault" => '0',
);
$db->insert_query("settings", $setting);
$setting = array(
"sid" => NULL,
"name" => "serversboard_show_desc_onoff",
"title" => $db->escape_string($lang->setting_show_desc_onoff),
"description" => $db->escape_string($lang->setting_show_desc_onoff_desc),
"optionscode" => "onoff",
"value" => '1',
"disporder" => $disporder++,
"gid" => $gid,
"isdefault" => '0',
);
$db->insert_query("settings", $setting);
$setting = array(
"sid" => NULL,
"name" => "serversboard_remove_host_onoff",
"title" => $db->escape_string($lang->setting_remove_host_onoff),
"description" => $db->escape_string($lang->setting_remove_host_onoff_desc),
"optionscode" => "onoff",
"value" => '2',
"disporder" => $disporder++,
"gid" => $gid,
"isdefault" => '0',
);
$db->insert_query("settings", $setting);
$setting = array(
"sid" => NULL,
"name" => "serversboard_remove_host",
"title" => $db->escape_string($lang->setting_remove_host),
"description" => $db->escape_string($lang->setting_remove_host_desc),
"optionscode" => "text",
"value" => '@hoting.pl,@ hosting.pl',
"disporder" => $disporder++,
"gid" => $gid,
"isdefault" => '0',
);
$db->insert_query("settings", $setting);
$setting = array(
"sid" => NULL,
"name" => "serversboard_summation_onoff",
"title" => $db->escape_string($lang->setting_summation),
"description" => $db->escape_string($lang->setting_summation_desc),
"optionscode" => "onoff",
"value" => '1',
"disporder" => $disporder++,
"gid" => $gid,
"isdefault" => '0',
);
$db->insert_query("settings", $setting);
$setting = array(
"sid" => NULL,
"name" => "serversboard_cache_time",
"title" => $db->escape_string($lang->setting_cache_time),
"description" => $db->escape_string($lang->setting_cache_time_desc),
"optionscode" => "numeric",
"value" => '300',
"disporder" => $disporder++,
"gid" => $gid,
"isdefault" => '0',
);
$db->insert_query("settings", $setting);
rebuild_settings();
$templategroup = array(
"gid" => NULL,
"prefix" => "serversboard",
"title" => $db->escape_string($lang->serversboard_templates_pack_name),
);
$db->insert_query("templategroups", $templategroup);
$template = array(
"tid" => "NULL",
"title" => "serversboard_index",
"template" => $db->escape_string('
{$lang->serversboard} - {$mybb->settings[\'bbname\']}
|
{$lang->number} |
{$lang->status} |
{$lang->type} |
{$lang->hostname} |
{$lang->ip} |
{$lang->players_slots} |
{$lang->map} |
{$lang->more} |
{$serversboard_index_row}
{$serversboard_index_summation}
'),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_index_row",
"template" => $db->escape_string('
{$data[\'gq_number\']} |
{$data[\'gq_status\']}{$data[\'gq_new\']} |
{$data[\'gq_icon\']} |
{$data[\'gq_hostname\']} |
{$data[\'gq_ip\']} |
{$data[\'gq_playersslots\']} |
{$data[\'gq_mapname\']} |
{$data[\'gq_gt\']} {$data[\'gq_join\']} {$data[\'gq_field\']}{$data[\'gq_general\']} {$data[\'gq_page\']} |
{$serversboard_index_row_window_players}
{$serversboard_index_row_window_general}'),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_index_row_empty",
"template" => $db->escape_string('
{$lang->no_servers}
|
'),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_index_row_window_general_link",
"template" => $db->escape_string(' '),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_index_row_window_general",
"template" => $db->escape_string('
{$data[\'gq_hostname\']} |
{$lang->status} |
{$data[\'gq_status\']}{$data[\'gq_new\']} |
{$lang->type} |
{$data[\'gq_icon\']} {$data[\'gq_desc\']} |
{$lang->ip} |
{$data[\'gq_ip\']} |
{$lang->players_slots} |
{$data[\'gq_playersslots\']} |
{$lang->record_players} |
{$data[\'gq_recordplayers\']} |
{$lang->map} |
{$data[\'gq_mapname\']} |
| '),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_index_row_window_players_link",
"template" => $db->escape_string('{$data[\'gq_playersslots\']}'),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_index_row_window_players",
"template" => $db->escape_string('
{$lang->players_online} |
{$lang->player_name} |
{$lang->player_time_online} |
{$serversboard_index_row_window_players_row}
| '),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_index_row_window_players_row",
"template" => $db->escape_string('{$gracz} |
{$czas} |
'),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_index_row_window_players_row_empty",
"template" => $db->escape_string('{$lang->players_empty} |
'),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_index_summation",
"template" => $db->escape_string('
{$lang->together_servers}
{$lang->together_players}
{$lang->together_slots}
{$lang->together_empty_slots}
{$lang->procent_players}
{$lang->record_players}
|
'),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_subpage",
"template" => $db->escape_string('
{$headerinclude}
{$mybb->settings[\'bbname\']} - {$lang->serversboard}
{$header}
{$serversboard_index}
{$footer}
'),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_more",
"template" => $db->escape_string('
{$headerinclude}
{$mybb->settings[\'bbname\']} - {$data[\'gq_hostname\']}
{$header}
{$field}
{$map}
{$owner}
{$buddylist}
{$general}
{$players}
{$footer}
'),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_more_general",
"template" => $db->escape_string('
{$lang->general_informations} |
{$lang->hostname} |
{$data[\'gq_hostname\']} |
{$lang->status} |
{$data[\'gq_status\']}{$data[\'gq_new\']} |
{$lang->ip} |
{$data[\'gq_ip\']} |
{$lang->type} |
{$data[\'gq_desc\']} |
{$lang->players} |
{$data[\'gq_bots\']}{$data[\'gq_numplayers\']} |
{$lang->slots} |
{$data[\'gq_maxplayers\']} |
{$lang->procent_players} |
{$data[\'gq_procents\']} |
{$lang->map} |
{$data[\'gq_mapname\']} |
{$lang->record_players} |
{$data[\'gq_recordplayers\']} |
{$lang->lastupdate} {$data[\'gq_lastupdate\']}. {$lang->nextupdate} {$data[\'gq_nextupdate\']}. |
'),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_more_field",
"template" => $db->escape_string('
{$lang->more} |
{$data[\'gq_gt\']} {$data[\'gq_join\']} {$data[\'gq_field\']} |
'),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_more_map",
"template" => $db->escape_string('
{$lang->map} {$data[\'gq_mapname\']} |
{$data[\'gq_mapscreen\']} |
'),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_more_players",
"template" => $db->escape_string('
{$lang->players_online} |
{$lang->player_name} |
{$lang->player_time_online} |
{$players_row}
'),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_more_players_row",
"template" => $db->escape_string('{$gracz} |
{$czas} |
'),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_more_players_row_empty",
"template" => $db->escape_string('{$lang->players_empty} |
'),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_more_owner",
"template" => $db->escape_string('
{$lang->owner} |
{$owner_row}
'),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_more_owner_row",
"template" => $db->escape_string('
{$owner[\'profilelink\']} {$lang->send_pm}
|
'),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_more_owner_row_empty",
"template" => $db->escape_string('
{$lang->owner_empty}
|
'),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_more_buddylist",
"template" => $db->escape_string('
{$lang->buddylist} |
{$buddylist_row}
|
{$buddylist_button}
'),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_more_buddylist_row",
"template" => $db->escape_string('{$buddy[\'profilelink\']}'),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_more_buddylist_row_empty",
"template" => $db->escape_string('{$lang->buddylist_empty}'),
"sid" => "-2",
"version" => "1800",
"status" => "0",
"dateline" => TIME_NOW,
);
$db->insert_query("templates", $template);
$template = array(
"tid" => "NULL",
"title" => "serversboard_more_buddylist_button_joinbuddylist",
"template" => $db->escape_string('