summaryrefslogtreecommitdiff
path: root/html/includes
diff options
context:
space:
mode:
authorMatthijs Kuiper <info@matthijskuiper.nl>2017-02-04 16:05:45 +0100
committerMatthijs Kuiper <info@matthijskuiper.nl>2017-02-04 16:05:45 +0100
commit40dfa7d5c0dc8e4cb2c95e403b6b4b2c4bf70644 (patch)
tree6ac6279ac26749ffe7ca0ae9603fbcae2e757e6e /html/includes
Original UTStats beta 4.2.84.2.8
Diffstat (limited to 'html/includes')
-rwxr-xr-xhtml/includes/clanbase.php90
-rwxr-xr-xhtml/includes/config.php188
-rwxr-xr-xhtml/includes/config_pic.php239
-rwxr-xr-xhtml/includes/countries.php244
-rwxr-xr-xhtml/includes/footer.php16
-rwxr-xr-xhtml/includes/ftp.php411
-rwxr-xr-xhtml/includes/ftp_class.php492
-rwxr-xr-xhtml/includes/ftp_class_native.php142
-rwxr-xr-xhtml/includes/ftp_class_pure.php192
-rwxr-xr-xhtml/includes/ftp_class_sockets.php249
-rwxr-xr-xhtml/includes/ftptimestamp.php1
-rwxr-xr-xhtml/includes/functions.php605
-rwxr-xr-xhtml/includes/functions_admin.php332
-rwxr-xr-xhtml/includes/geoip.inc498
-rwxr-xr-xhtml/includes/header.php66
-rwxr-xr-xhtml/includes/hints.php81
-rwxr-xr-xhtml/includes/index.htm0
-rwxr-xr-xhtml/includes/overlib_mini.js322
-rwxr-xr-xhtml/includes/sidebar.php27
-rwxr-xr-xhtml/includes/teamstats.php177
-rwxr-xr-xhtml/includes/weaponstats.php216
21 files changed, 4588 insertions, 0 deletions
diff --git a/html/includes/clanbase.php b/html/includes/clanbase.php
new file mode 100755
index 0000000..5ad7640
--- /dev/null
+++ b/html/includes/clanbase.php
@@ -0,0 +1,90 @@
+<?php
+/*
+ This function is to get the players from a clan.
+ It will return an array with all the information.
+*/
+
+function get_players($cid) {
+ //Load the page where all players are listed into a var.
+
+ $url = 'http://www.clanbase.com/claninfo.php?cid='.$cid.'&frame=1';
+ $file = implode('', file($url));
+
+
+ //Use an expression to get the pid + name from each player
+
+ preg_match_all("/personinfo\.php\?pid+=(.*)(<.a>|&nbsp;)/U", $file, $out, PREG_SET_ORDER);
+
+
+ //for each player split the information and put all info in one array
+
+ for ($x=0;$x<count($out);$x++) {
+ $player[$x]=explode('" class="slink">',$out[$x][1]);
+ }
+
+ //return the array
+
+ return ($player);
+
+ //All players are listed as:
+ //$player[0]
+ //$player[1]
+ //$player[2]
+ //etc.
+
+ //the info for each player is listed as:
+ //$player[0][0] = pid;
+ //$player[0][1] = name;
+}
+
+
+/*
+ This function is to get the clans from a war.
+ It will return an array with all the information.
+*/
+
+function get_clans($wid) {
+ //Load the page where all players are listed into a var.
+
+ $url = 'http://www.clanbase.com/warinfo.php?wid='.$wid.'&frame=1';
+ $file = implode('', file($url));
+
+ //Use an expression to get the tags from each clan
+
+ preg_match_all("/pagetitle'>Match (.*)vs (.*)<.div>/U", $file, $out, PREG_SET_ORDER);
+
+ //Add the information to one array
+
+ $clan[0][0]=$out[0][1];
+ $clan[1][0]=$out[0][2];
+
+ //Use an expression to get the cid + full name from each clan
+
+ preg_match_all("/claninfo\.php\?cid+=(.*)<.a>/U", $file, $out, PREG_SET_ORDER);
+
+ //Add the information to one array
+
+ $temp = explode('" class="slink">', $out[0][1]);
+ $clan[0][1]=$temp[0];
+ $clan[0][2]=$temp[1];
+
+ $temp = explode('" class="slink">', $out[1][1]);
+ $clan[1][1]=$temp[0];
+ $clan[1][2]=$temp[1];
+
+ //return the array
+
+ return ($clan);
+
+
+ //The clans are listed as:
+ //$clan[0]
+ //$clan[1]
+
+ //the info for each clan is listed as:
+ //$clan[0][0] = tag
+ //$clan[0][1] = cid
+ //$clan[0][2] = full name
+
+}
+?> \ No newline at end of file
diff --git a/html/includes/config.php b/html/includes/config.php
new file mode 100755
index 0000000..7e9bd6f
--- /dev/null
+++ b/html/includes/config.php
@@ -0,0 +1,188 @@
+<?php
+// Database connection details
+$dbname = "";
+$hostname = "";
+$uname = "";
+$upass = "";
+
+$dbconnect = mysql_connect($hostname,$uname,$upass);
+$dbconnect2 = mysql_select_db($dbname);
+
+// The key needed to run the import script
+$import_adminkey = 'fietsbel';
+
+// When runnning from the command-line (cron jobs):
+// The absolute path to UTStats's home directory.
+// Only needed if you're starting the importer from another directory
+// Leave emtpy if unsure
+$import_homedir = '';
+
+// Use the MySQL temporary tables feature?
+// Available since MySQL 3.23 - requires CREATE TEMPORARY TABLE privilege since 4.0.2
+$import_use_temporary_tables = true; // set to true if available
+
+// Use temporary heap tables?
+// This will (at any cost) keep the entire table in RAM and may speed and/or fuck things up
+$import_use_heap_tables = false; // DON'T USE IF YOU DON'T KNOW WHAT YOU'RE DOING!
+
+// Log files start with...
+$import_log_start = "Unreal.ngLog";
+
+// Log files end with...
+$import_log_extension = ".log";
+
+// How to backup logfiles?
+// Possible values: yes - move logfiles to the backup directory
+// no - don't make a backup. The file will be lost after it was imported
+// compress - will compress the logfile and move it to the backup directory
+// It'll first try bzip2 compression, then gzip (your php must be
+// compiled to support these)
+// If both fail, it will backup the uncompressed log
+// gzip - same as compress but will only try to gzip the file
+$import_log_backup = "yes";
+
+// Purge old logs after x days. 0 to disable.
+$import_log_backups_purge_after = 0;
+
+
+// After how many seconds should we reload the import page?
+// This is to prevent the 'maximum execution time exeeded' error. It will reload
+// the page after the amount of seconds you specify in order to bypass php's time limit.
+// Set to 0 to disable (f.e. if your php does not run in safe mode)
+$import_reload_after = 22;
+
+// Ignore bots and bot kills/deaths?
+$import_ignore_bots = true;
+
+// How to deal with banned players?
+// 1 - (recommended) import the player and display him/her on matchpages (without values :D)
+// but don't include him/her in rankings and don't allow to show individual player stats
+// You may unban a player banned with this setting and all stuff will display again
+// 2 - don't import at all
+// will lead to 'strange' results on matchpages because kills of and against this player
+// won't be shown; efficiency etc. will be calculated including these kills though.
+$import_ban_type = 1;
+
+// Try to import logs from previous versions of UTStats
+// Set this to true and you'll probably some strange results - You've been warned ;)
+$import_incompatible_logs = false;
+
+// Don't import if the gametime was less than x minutes. Set to 0 to import all logs.
+$import_ignore_if_gametime_less_than = 0;
+
+
+// UTStats can download and manage your UTDC logs
+// Enable downloading of UTDC logs?
+$import_utdc_download_enable = false;
+
+// Log files start with...
+$import_utdc_log_start = "[UTDC]";
+
+// Log files end with...
+$import_utdc_log_extension = ".log";
+
+// Screenshot files start with...
+$import_utdc_screenshot_start = "[UTDC]";
+
+// Screenshot files end with...
+$import_utdc_screenshot_extension = ".enc";
+
+// Compress UTDC logfiles after download? [compress/gzip/no]
+// (see $import_log_backup for available options)
+$import_utdc_log_compress = "compress";
+
+// Purge old UTDC logs after x days. 0 to disable.
+$import_utdc_log_purge_after = 0;
+
+// UTStats can download and manage your AnthChecker logs
+// Enable downloading of AC logs?
+$import_ac_download_enable = true;
+
+// Log files start with...
+$import_ac_log_start = "[AC]";
+
+// Log files end with...
+$import_ac_log_extension = ".log";
+
+// Compress AnthChecker logfiles after download? [compress/gzip/no]
+// (see $import_log_backup for available options)
+$import_ac_log_compress = "compress";
+
+// Purge old AnthChecker logs after x days. 0 to disable.
+$import_ac_log_purge_after = 0;
+
+// UTStats can download and manage your ACE logs
+// Enable downloading of ACE logs?
+$import_ace_download_enable = true;
+
+// Log files start with...
+$import_ace_log_start = "[ACE]";
+
+// Log files end with...
+$import_ace_log_extension = ".log";
+
+// Log files start with...
+$import_ace_screenshot_start = "[ACE]";
+
+// Log files end with...
+$import_ace_screenshot_extension = ".jpg";
+
+// Compress ACE logfiles after download? [compress/gzip/no]
+// (see $import_log_backup for available options)
+$import_ace_log_compress = "compress";
+
+// Purge old ACE logs after x days. 0 to disable.
+$import_ace_log_purge_after = 0;
+
+// Enable the creation of pictures? (Signature pictures for users where they can see their current ranking and stuff)
+// Requires GD- and FreeType support.
+// see config_pic.php for picture configuration options
+$pic_enable = true;
+
+
+// FTP Connection Details
+$ftp_use = false; // Whether to auto get the log files
+$ftp_interval = 0; // How often in minutes to allow stats update
+$ftp_type = 'sockets'; // Which FTP module do you want to use?
+ // sockets - (recommended)
+ // Use PHP's socket extension to connect to the FTP server
+ // will fallback to 'pure' if no sockets available
+ // pure - Use fsockopen() to connnect to the FTP server
+ // should work with any php version
+ // php - Use PHP's FTP extension (must be compiled in)
+ // Debugging will not be available with this module and
+ // error handling may not be as good as with the other modules
+
+$ftp_debug = false; // Debugging output that may help you to resolve ftp problems
+
+
+// UT Server 1
+$i = 0;
+$ftp_hostname[$i] = ''; // FTP server location here
+$ftp_port[$i] = 21; // FTP Port - do not remove this even if you do not use ftp
+ // Do not add '' around the port either
+$ftp_uname[$i] = ''; // FTP Username
+$ftp_upass[$i] = ''; // FTP Password
+$ftp_dir[$i][] = '/'; // Directory of the log files - MUST NOT end with a /
+//$ftp_dir[$i][] = '/'; // You may repeat this entry as often as you wish but please remember
+//$ftp_dir[$i][] = '/'; // to enter the directory relative to the last one
+//$ftp_dir[$i][] = '/'; // (or use an absolute path)
+$ftp_passive[$i] = true; // Use passive transfer mode for this connection?
+$ftp_delete[$i] = true; // Delete logs after download?
+
+/*
+// UT Server 2 --- Uncomment this one if needed, or copy/paste the block above if more servers are needed.
+$i++;
+$ftp_hostname[$i] = ''; // FTP server location here
+$ftp_port[$i] = 21; // FTP Port - do not remove this even if you do not use ftp
+ // Do not add '' around the port either
+$ftp_uname[$i] = ''; // FTP Username
+$ftp_upass[$i] = ''; // FTP Password
+$ftp_dir[$i][] = '/'; // Directory of the log files - MUST NOT end with a /
+//$ftp_dir[$i][] = '/'; // You may repeat this entry as often as you wish but please remember
+//$ftp_dir[$i][] = '/'; // to enter the directory relative to the last one
+//$ftp_dir[$i][] = '/'; // (or use an absolute path)
+$ftp_passive[$i] = true; // Use passive transfer mode for this connection?
+$ftp_delete[$i] = true; // Delete logs after download?
+*/
+?> \ No newline at end of file
diff --git a/html/includes/config_pic.php b/html/includes/config_pic.php
new file mode 100755
index 0000000..e70aee5
--- /dev/null
+++ b/html/includes/config_pic.php
@@ -0,0 +1,239 @@
+<?php
+// Picture configuration file
+
+
+// General note about colors:
+// When specifying a color, you specify it's RGB values in hex (like you do in HTML).
+// Example: 00FF00 = green (0 red, 255 green, 0 blue)
+//
+// One speciality:
+// You may also add a fourth 'color', the alpha value.
+// It determines the transparency of your color.
+// Acceptable values are 00 (completely opaque) to 7F (completely transparent)
+// FFFF003F will become half transparent yellow
+
+
+
+
+$i=0;
+// Enable users to use this picutre or (temporary) disable it?
+$pic[$i]['enabled'] = true;
+
+// Set to true if a gid is required for this image
+// (if you're using game related stuff such as rankings or gamename
+// or if you want to be the values limited to one game)
+$pic[$i]['gidrequired'] = true;
+
+// The template picture where we're going to write stuff at
+// We're searching for it in images/templates.
+$pic[$i]['load']['template'] = 'basic.png';
+// Create a copy of the picture and work with that copy?
+// That's needed f.e. if you're using a picture with a palette of colors and want
+// to use colors that aren't in the current palette of that picture
+$pic[$i]['load']['recreate'] = true;
+// If recreating the picture: What shall the background color of the new picture be
+// before we copy the template over it?
+// (Probably only useful if your template contains transparency)
+$pic[$i]['load']['bgcolor'] = 'AAAAAA';
+// Do you want to be this background color to become the transparent color?
+// (if set to yes, everything painted in this color will be transparent)
+$pic[$i]['load']['bgtransparent'] = false;
+
+// What picture type shall we output? (png/jpg/gif)
+$pic[$i]['output']['type'] = 'png';
+
+// You may set some defaults here (explanation of the values in the next block)
+// If a standard is set, you may omit it in the process blocks -- or use it there to
+// override the standard ;)
+$pic[$i]['default']['align'] = 'left';
+$pic[$i]['default']['angle'] = 0;
+$pic[$i]['default']['font'] = 'arbocrest.ttf';
+$pic[$i]['default']['fontcolor'] = 'FFFFFF';
+$pic[$i]['default']['fontsize'] = 12;
+
+
+
+// Now we've loaded the picture and know how to output it.
+// Let's place some fancy stuff on it:
+
+// We use 'process' blocks to place things on our image.
+// You may use as many process blocks as you like
+// Explanation of the possible values:
+//
+// type - the type of the process block (currently only allowed: text)
+//
+// The text-block:
+// value - The text to place on the picure
+// inline variables are available (see below)
+// align - The alignment of the text (left, center, right)
+// (optional, default: left)
+// fontname - The name of the TTF file (must be in images/fonts)
+// (optional if you specified a default value)
+// fontsize - The font size. Depending on your version of GD, this should be specified
+// as the pixel size (GD1) or point size (GD2).
+// (optional, default: 12 [or your default value])
+// fontcolor - The font color :)
+// (optional, default: FFFFFF [or your default value])
+// x_from
+// y_from - The basepoint (roughly the lower-left corner) of the text you want to place
+// x_to - You need to specify this value if you want to alinments center or right
+// we will use an imaginary box, the left corner being x_from and the right corner beiong x_to
+// and then place the text with the alignment you specified into that box
+// angle - The angle in degrees, with 0 degrees being left-to-right reading text. Higher values represent
+// a counter-clockwise rotation. For example, a value of 90 would result in bottom-to-top reading text.
+// Only supported for left aligned text
+// (optional, default: 0 [or your default value])
+
+// It is possible to use inline variables in the 'value' property
+// The following texts will be replaced by their appropriate values:
+// (333 total ;))
+//
+//
+// %GID% - The game id
+// %PID% - The player id
+// %GAMENAME% - The gamename (CTF, DM, ...)
+// %PLAYERNAME% - The player's name
+// %PLAYERCOUNTRY% - Two letter ISO-code of the player's country
+// %LM_GAMEDATE% - Date of the last match
+//
+// %RT% - Rank text (1st, 2nd, ...)
+// %RN% - Rank number (1, 2, ...)
+// %RP% - Ranking points (1934.34)
+//
+// The following values are available for different groups of matches:
+// %xxx_GAMES% - number of games in this category
+// %xxx_GAMESCORE%
+// %xxx_FRAGS%
+// %xxx_KILLS%
+// %xxx_DEATHS%
+// %xxx_SUICIDES%
+// %xxx_EFF% - Efficiency (%)
+// %xxx_ACC% - Accuracy (%)
+// %xxx_TTL% - Time to Live (mm:ss)
+// %xxx_GAMETIME% - Time played (hours as 9,99)
+// %xxx_FLAG_CAPTURE% - Flag events:
+// %xxx_FLAG_COVER%
+// %xxx_FLAG_SEAL%
+// %xxx_FLAG_ASSIST%
+// %xxx_FLAG_KILL%
+// %xxx_FLAG_PICKEDUP%
+// %xxx_DOM_CP% - DOM ControlPoint captures
+// %xxx_ASS_OBJ% - Assault objectives
+// %xxx_SPREE_DOUBLE% - xxx kills
+// %xxx_SPREE_TRIPLE%
+// %xxx_SPREE_MULTI%
+// %xxx_SPREE_MEGA%
+// %xxx_SPREE_ULTRA%
+// %xxx_SPREE_MONSTER%
+// %xxx_SPREE_KILL% - Killing sprees:
+// %xxx_SPREE_RAMPAGE%
+// %xxx_SPREE_DOM%
+// %xxx_SPREE_UNS%
+// %xxx_SPREE_GOD%
+// %xxx_PU_PADS% - Pickups
+// %xxx_PU_ARMOUR%
+// %xxx_PU_KEG%
+// %xxx_PU_INVIS%
+// %xxx_PU_BELT%
+// %xxx_PU_AMP%
+// %xxx_RANKMOVEMENT% - Rank movement (+/- 9.99)
+//
+// replace xxx with:
+// LM for the last match
+// WEEK for all matches of the current week
+// LWEEK for all matches of the last week
+// MONTH for all matches of the current month
+// LMONTH for all matches of the last month
+// YEAR for all matches of the current year
+// LYEAR for all matches of the last year
+// TOTAL for all matches played
+// (the above values are always limited to the GID the user specified)
+// GTOTAL for all matches played regardless of GID
+//
+//
+// Examples: '%PLAYERNAME% has played a total of %TOTAL_GAMES% %GAMENAME% games.'
+// ==> 'Player has played a total of 57 Capture the Flag games.'
+//
+// '%PLAYERNAME%'s overall accuracy this month was %MONTH_ACC% % while it was %LMONTH_ACC% last month!'
+// ==> 'Player's overall accuracy this month was 42.22 % while it was 27.52 % last month!'
+
+
+$j=0;
+$pic[$i]['process'][$j]['type'] = 'text';
+$pic[$i]['process'][$j]['value'] = '%PLAYERNAME%';
+$pic[$i]['process'][$j]['fontcolor'] = '000000';
+$pic[$i]['process'][$j]['fontsize'] = 18;
+$pic[$i]['process'][$j]['x_from'] = 9;
+$pic[$i]['process'][$j]['y_from'] = 23;
+$j++;
+$pic[$i]['process'][$j]['type'] = 'text';
+$pic[$i]['process'][$j]['value'] = '%GAMENAME%';
+$pic[$i]['process'][$j]['fontsize'] = 14;
+$pic[$i]['process'][$j]['x_from'] = 9;
+$pic[$i]['process'][$j]['y_from'] = 43;
+$j++;
+$pic[$i]['process'][$j]['type'] = 'text';
+$pic[$i]['process'][$j]['value'] = 'Rank:';
+$pic[$i]['process'][$j]['fontcolor'] = 'DDDD20';
+$pic[$i]['process'][$j]['x_from'] = 9;
+$pic[$i]['process'][$j]['y_from'] = 69;
+$j++;
+$pic[$i]['process'][$j]['type'] = 'text';
+$pic[$i]['process'][$j]['align'] = 'left';
+$pic[$i]['process'][$j]['value'] = '%RT%';
+$pic[$i]['process'][$j]['x_from'] = 65;
+$pic[$i]['process'][$j]['y_from'] = 69;
+$j++;
+$pic[$i]['process'][$j]['type'] = 'text';
+$pic[$i]['process'][$j]['value'] = 'Hours:';
+$pic[$i]['process'][$j]['fontcolor'] = '000000';
+$pic[$i]['process'][$j]['x_from'] = 9;
+$pic[$i]['process'][$j]['y_from'] = 91;
+$j++;
+$pic[$i]['process'][$j]['type'] = 'text';
+$pic[$i]['process'][$j]['align'] = 'left';
+$pic[$i]['process'][$j]['value'] = '%TOTAL_GAMETIME%';
+$pic[$i]['process'][$j]['x_from'] = 75;
+$pic[$i]['process'][$j]['y_from'] = 91;
+$j++;
+
+
+
+
+
+
+
+
+// The next picture
+
+$i++;
+$pic[$i]['enabled'] = false;
+$pic[$i]['gidrequired'] = false;
+$pic[$i]['load']['template'] = 'basic.png';
+$pic[$i]['load']['recreate'] = true;
+$pic[$i]['load']['bgcolor'] = 'AAAAAA';
+$pic[$i]['load']['bgtransparent'] = false;
+
+$pic[$i]['output']['type'] = 'png';
+
+$pic[$i]['default']['align'] = 'left';
+$pic[$i]['default']['angle'] = 0;
+$pic[$i]['default']['font'] = 'microsbe.ttf';
+$pic[$i]['default']['fontcolor'] = 'FFFFFF';
+$pic[$i]['default']['fontsize'] = 10;
+
+$j=0;
+$pic[$i]['process'][$j]['type'] = 'text';
+$pic[$i]['process'][$j]['value'] = '%PLAYERNAME% sucks!';
+$pic[$i]['process'][$j]['x_from'] = 9;
+$pic[$i]['process'][$j]['y_from'] = 23;
+$j++;
+$pic[$i]['process'][$j]['type'] = 'text';
+$pic[$i]['process'][$j]['value'] = 'in %GAMENAME% games that is...';
+$pic[$i]['process'][$j]['x_from'] = 9;
+$pic[$i]['process'][$j]['y_from'] = 43;
+$j++;
+
+
+
+?> \ No newline at end of file
diff --git a/html/includes/countries.php b/html/includes/countries.php
new file mode 100755
index 0000000..4de8dde
--- /dev/null
+++ b/html/includes/countries.php
@@ -0,0 +1,244 @@
+<?php
+$a_countries = array(
+ 'af' => 'Afghanistan',
+ 'al' => 'Albania, People\'s Socialist Republic of',
+ 'dz' => 'Algeria, People\'s Democratic Republic of',
+ 'as' => 'American Samoa',
+ 'ad' => 'Andorra, Principality of',
+ 'ao' => 'Angola, Republic of',
+ 'ai' => 'Anguilla',
+ 'aq' => 'Antarctica (the territory South of 60 deg S)',
+ 'ag' => 'Antigua and Barbuda',
+ 'ar' => 'Argentina, Argentine Republic',
+ 'am' => 'Armenia',
+ 'aw' => 'Aruba',
+ 'au' => 'Australia, Commonwealth of',
+ 'at' => 'Austria, Republic of',
+ 'az' => 'Azerbaijan, Republic of',
+ 'bs' => 'Bahamas, Commonwealth of the',
+ 'bh' => 'Bahrain, Kingdom of',
+ 'bd' => 'Bangladesh, People\'s Republic of',
+ 'bb' => 'Barbados',
+ 'by' => 'Belarus',
+ 'be' => 'Belgium, Kingdom of',
+ 'bz' => 'Belize',
+ 'bj' => 'Benin, People\'s Republic of',
+ 'bm' => 'Bermuda',
+ 'bt' => 'Bhutan, Kingdom of',
+ 'bo' => 'Bolivia, Republic of',
+ 'ba' => 'Bosnia and Herzegovina',
+ 'bw' => 'Botswana, Republic of',
+ 'bv' => 'Bouvet Island (Bouvetoya)',
+ 'br' => 'Brazil, Federative Republic of',
+ 'io' => 'British Indian Ocean Territory (Chagos Archipelago)',
+ 'vg' => 'British Virgin Islands',
+ 'bn' => 'Brunei Darussalam',
+ 'bg' => 'Bulgaria, People\'s Republic of',
+ 'bf' => 'Burkina Faso',
+ 'bi' => 'Burundi, Republic of',
+ 'kh' => 'Cambodia, Kingdom of',
+ 'cm' => 'Cameroon, United Republic of',
+ 'ca' => 'Canada',
+ 'cv' => 'Cape Verde, Republic of',
+ 'ky' => 'Cayman Islands',
+ 'cf' => 'Central African Republic',
+ 'td' => 'Chad, Republic of',
+ 'cl' => 'Chile, Republic of',
+ 'cn' => 'China, People\'s Republic of',
+ 'cx' => 'Christmas Island',
+ 'cc' => 'Cocos (Keeling) Islands',
+ 'co' => 'Colombia, Republic of',
+ 'km' => 'Comoros, Federal and Islamic Republic of',
+ 'cd' => 'Congo, Democratic Republic of',
+ 'cg' => 'Congo, People\'s Republic of',
+ 'ck' => 'Cook Islands',
+ 'cr' => 'Costa Rica, Republic of',
+ 'ci' => 'Cote D\'Ivoire, Ivory Coast, Republic of the',
+ 'cu' => 'Cuba, Republic of',
+ 'cy' => 'Cyprus, Republic of',
+ 'cz' => 'Czech Republic',
+ 'dk' => 'Denmark, Kingdom of',
+ 'dj' => 'Djibouti, Republic of',
+ 'dm' => 'Dominica, Commonwealth of',
+ 'do' => 'Dominican Republic',
+ 'tl' => 'Timor-Leste',
+ 'ec' => 'Ecuador, Republic of',
+ 'eg' => 'Egypt, Arab Republic of',
+ 'sv' => 'El Salvador, Republic of',
+ 'gq' => 'Equatorial Guinea, Republic of',
+ 'er' => 'Eritrea',
+ 'ee' => 'Estonia',
+ 'et' => 'Ethiopia',
+ 'fo' => 'Faeroe Islands',
+ 'fk' => 'Falkland Islands (Malvinas)',
+ 'fj' => 'Fiji, Republic of the Fiji Islands',
+ 'fi' => 'Finland, Republic of',
+ 'fr' => 'France, French Republic',
+ 'gf' => 'French Guiana',
+ 'pf' => 'French Polynesia',
+ 'tf' => 'French Southern Territories',
+ 'ga' => 'Gabon, Gabonese Republic',
+ 'gm' => 'Gambia, Republic of the',
+ 'ge' => 'Georgia',
+ 'de' => 'Germany',
+ 'gh' => 'Ghana, Republic of',
+ 'gi' => 'Gibraltar',
+ 'gr' => 'Greece, Hellenic Republic',
+ 'gl' => 'Greenland',
+ 'gd' => 'Grenada',
+ 'gp' => 'Guadaloupe',
+ 'gu' => 'Guam',
+ 'gt' => 'Guatemala, Republic of',
+ 'gn' => 'Guinea, Revolutionary People\'s Rep\'c of',
+ 'gw' => 'Guinea-Bissau, Republic of',
+ 'gy' => 'Guyana, Republic of',
+ 'ht' => 'Haiti, Republic of',
+ 'hm' => 'Heard and McDonald Islands',
+ 'va' => 'Holy See (Vatican City State)',
+ 'hn' => 'Honduras, Republic of',
+ 'hk' => 'Hong Kong, Special Administrative Region of China',
+ 'hr' => 'Hrvatska (Croatia)',
+ 'hu' => 'Hungary, Hungarian People\'s Republic',
+ 'is' => 'Iceland, Republic of',
+ 'in' => 'India, Republic of',
+ 'id' => 'Indonesia, Republic of',
+ 'ir' => 'Iran, Islamic Republic of',
+ 'iq' => 'Iraq, Republic of',
+ 'ie' => 'Ireland',
+ 'il' => 'Israel, State of',
+ 'it' => 'Italy, Italian Republic',
+ 'jm' => 'Jamaica',
+ 'jp' => 'Japan',
+ 'jo' => 'Jordan, Hashemite Kingdom of',
+ 'kz' => 'Kazakhstan, Republic of',
+ 'ke' => 'Kenya, Republic of',
+ 'ki' => 'Kiribati, Republic of',
+ 'kp' => 'Korea, Democratic People\'s Republic of',
+ 'kr' => 'Korea, Republic of',
+ 'kw' => 'Kuwait, State of',
+ 'kg' => 'Kyrgyz Republic',
+ 'la' => 'Lao People\'s Democratic Republic',
+ 'lv' => 'Latvia',
+ 'lb' => 'Lebanon, Lebanese Republic',
+ 'ls' => 'Lesotho, Kingdom of',
+ 'lr' => 'Liberia, Republic of',
+ 'ly' => 'Libyan Arab Jamahiriya',
+ 'li' => 'Liechtenstein, Principality of',
+ 'lt' => 'Lithuania',
+ 'lu' => 'Luxembourg, Grand Duchy of',
+ 'mo' => 'Macao, Special Administrative Region of China',
+ 'mk' => 'Macedonia, the former Yugoslav Republic of',
+ 'mg' => 'Madagascar, Republic of',
+ 'mw' => 'Malawi, Republic of',
+ 'my' => 'Malaysia',
+ 'mv' => 'Maldives, Republic of',
+ 'ml' => 'Mali, Republic of',
+ 'mt' => 'Malta, Republic of',
+ 'mh' => 'Marshall Islands',
+ 'mq' => 'Martinique',
+ 'mr' => 'Mauritania, Islamic Republic of',
+ 'mu' => 'Mauritius',
+ 'yt' => 'Mayotte',
+ 'mx' => 'Mexico, United Mexican States',
+ 'fm' => 'Micronesia, Federated States of',
+ 'md' => 'Moldova, Republic of',
+ 'mc' => 'Monaco, Principality of',
+ 'mn' => 'Mongolia, Mongolian People\'s Republic',
+ 'ms' => 'Montserrat',
+ 'ma' => 'Morocco, Kingdom of',
+ 'mz' => 'Mozambique, People\'s Republic of',
+ 'mm' => 'Myanmar',
+ 'na' => 'Namibia',
+ 'nr' => 'Nauru, Republic of',
+ 'np' => 'Nepal, Kingdom of',
+ 'an' => 'Netherlands Antilles',
+ 'nl' => 'Netherlands, Kingdom of the',
+ 'nc' => 'New Caledonia',
+ 'nz' => 'New Zealand',
+ 'ni' => 'Nicaragua, Republic of',
+ 'ne' => 'Niger, Republic of the',
+ 'ng' => 'Nigeria, Federal Republic of',
+ 'nu' => 'Niue, Republic of',
+ 'nf' => 'Norfolk Island',
+ 'mp' => 'Northern Mariana Islands',
+ 'no' => 'Norway, Kingdom of',
+ 'om' => 'Oman, Sultanate of',
+ 'pk' => 'Pakistan, Islamic Republic of',
+ 'pw' => 'Palau',
+ 'ps' => 'Palestinian Territory, Occupied',
+ 'pa' => 'Panama, Republic of',
+ 'pg' => 'Papua New Guinea',
+ 'py' => 'Paraguay, Republic of',
+ 'pe' => 'Peru, Republic of',
+ 'ph' => 'Philippines, Republic of the',
+ 'pn' => 'Pitcairn Island',
+ 'pl' => 'Poland, Polish People\'s Republic',
+ 'pt' => 'Portugal, Portuguese Republic',
+ 'pr' => 'Puerto Rico',
+ 'qa' => 'Qatar, State of',
+ 're' => 'Reunion',
+ 'ro' => 'Romania, Socialist Republic of',
+ 'ru' => 'Russian Federation',
+ 'rw' => 'Rwanda, Rwandese Republic',
+ 'sh' => 'St. Helena',
+ 'kn' => 'St. Kitts and Nevis',
+ 'lc' => 'St. Lucia',
+ 'pm' => 'St. Pierre and Miquelon',
+ 'vc' => 'St. Vincent and the Grenadines',
+ 'ws' => 'Samoa, Independent State of',
+ 'sm' => 'San Marino, Republic of',
+ 'st' => 'Sao Tome and Principe, Democratic Republic of',
+ 'sa' => 'Saudi Arabia, Kingdom of',
+ 'sn' => 'Senegal, Republic of',
+ 'sc' => 'Seychelles, Republic of',
+ 'sl' => 'Sierra Leone, Republic of',
+ 'sg' => 'Singapore, Republic of',
+ 'sk' => 'Slovakia (Slovak Republic)',
+ 'si' => 'Slovenia',
+ 'sb' => 'Solomon Islands',
+ 'so' => 'Somalia, Somali Republic',
+ 'za' => 'South Africa, Republic of',
+ 'gs' => 'South Georgia and the South Sandwich Islands',
+ 'es' => 'Spain, Spanish State',
+ 'lk' => 'Sri Lanka, Democratic Socialist Republic of',
+ 'sd' => 'Sudan, Democratic Republic of the',
+ 'sr' => 'Suriname, Republic of',
+ 'sg' => 'Svalbard & Jan Mayen Islands',
+ 'sz' => 'Swaziland, Kingdom of',
+ 'se' => 'Sweden, Kingdom of',
+ 'ch' => 'Switzerland, Swiss Confederation',
+ 'sy' => 'Syrian Arab Republic',
+ 'tw' => 'Taiwan, Province of China',
+ 'tj' => 'Tajikistan',
+ 'tz' => 'Tanzania, United Republic of',
+ 'th' => 'Thailand, Kingdom of',
+ 'tg' => 'Togo, Togolese Republic',
+ 'tk' => 'Tokelau (Tokelau Islands)',
+ 'to' => 'Tonga, Kingdom of',
+ 'tt' => 'Trinidad and Tobago, Republic of',
+ 'tn' => 'Tunisia, Republic of',
+ 'tr' => 'Turkey, Republic of',
+ 'tm' => 'Turkmenistan',
+ 'tc' => 'Turks and Caicos Islands',
+ 'tv' => 'Tuvalu',
+ 'vi' => 'US Virgin Islands',
+ 'ug' => 'Uganda, Republic of',
+ 'ua' => 'Ukraine',
+ 'ae' => 'United Arab Emirates',
+ 'gb' => 'United Kingdom of Great Britain & N. Ireland',
+ 'um' => 'United States Minor Outlying Islands',
+ 'us' => 'United States of America',
+ 'uy' => 'Uruguay, Eastern Republic of',
+ 'uz' => 'Uzbekistan',
+ 'vu' => 'Vanuatu',
+ 've' => 'Venezuela, Bolivarian Republic of',
+ 'vn' => 'Viet Nam, Socialist Republic of',
+ 'wf' => 'Wallis and Futuna Islands',
+ 'eh' => 'Western Sahara',
+ 'ye' => 'Yemen',
+ 'yu' => 'Yugoslavia, Socialist Federal Republic of',
+ 'zm' => 'Zambia, Republic of',
+ 'zw' => 'Zimbabwe',
+ 'xx' => 'Unknown country'
+ );
+?> \ No newline at end of file
diff --git a/html/includes/footer.php b/html/includes/footer.php
new file mode 100755
index 0000000..0fd4f3f
--- /dev/null
+++ b/html/includes/footer.php
@@ -0,0 +1,16 @@
+<?php
+echo'<br><br><br>
+<table class = "box" border="0" cellpadding="1" width="720">';
+
+// Please leave this bit in, its the least you can do with all the work we have done :)
+
+ echo'<tr>
+ <td class="smheading" align="center"><a href="http://utstats.unrealadmin.org/" target="_blank">
+ UTStats Beta 4.2.8</a> &cop