QUOTE
Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /www/clanteam.com/x/d/r/xdrx/htdocs/iccupTeamStatGrab.php on line 162
Warning: file_get_contents(http://www.iccup.com/teams.php?lookup=2239&output=1) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /www/clanteam.com/x/d/r/xdrx/htdocs/iccupTeamStatGrab.php on line 162
ICCup is not accessible
Warning: file_get_contents(http://www.iccup.com/teams.php?lookup=2239&output=1) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /www/clanteam.com/x/d/r/xdrx/htdocs/iccupTeamStatGrab.php on line 162
ICCup is not accessible
This is the source code.
CODE
<?php
//
//=============================================================
//ICCup Stats ver 1.1 © Sp)shr & unk & b1te[uTm] , 2007-06-16
//=============================================================
//server-side written by unk
//client-side written by shr
//ver 1.0->1.1 changes by b1te:
//-added install steps instruction
//-fixed "ICCup is not accessible" while cached file is
//-fixed image tag parsing error, which lead to
//'height=... text near country and rank images
//-changed user options configuration code
//-added statistics column order option
//-changed client-side html parsing code
//-omptimized overall performance
//installation:
//1) edit CONFIG section of this file
//2) save it to your web-server with the .php extension
//-on some servers it may be .php3 , .php4 or .php5
//3) add this code line into place where you want ICCup statistics to be displayed:
// include_once('path');
//where path - is a path to this file on yours web-server
//-important: this line must be inserted into some other php module,
//not into the site template. except, if you have smarty templates in your
//site`s engine then you can this code to it:
// {php}include_once('path');{/php}
//4) enjoy :)
//
//-------------------------- CONFIG -------------------------
// user defined options:
// change value to false for temporary display disabling
define('ICCUP_TEAM_STATISTICS_ENABLED',true);
// team page on ICCup
// if you use free hosting set parameters listed below to local page, u should
// open http://www.iccup.com/teams.php?lookup=[your team id]&output=1 , save
// its output to your hard drive and manually upload on webserver
// if your hosting support sockets/connections just change MY_TEAM parameter
// http address of ICCup -no need to change
define('ICCUP','http://www.iccup.com/');
// ICCup teams stats page -no need to change
define('TEAMS_PAGE','teams.php');
// your team unique ID, replace 1 with it
define('MY_TEAM','?lookup=2239');
// set page output parameter for use in this script -no need to change
define('PAGE_OUTPUT','&output=1');
// link to this page on ICCup from 1x1 table header
define('LADDER_1X1_PAGE','ladder.php?type=1x1');
// link to this page on ICCup from 2x2 table header
define('LADDER_2X2_PAGE','ladder.php?type=2x2');
// change to false if your server don`t support local file access
// this file is used to cache created statistics table
// its not reccomended turning off this feature
define('CACHE_ENABLED',true);
// full path to cache file on your host computer
// in some cases you might have to create this file first time
// manually, and set access permissions to 777 for it
define('CACHE_FILE_PATH','iccup_stats.cache');
// ICCup statistics refresh interval time in seconds
define('CACHE_EXPIRES',3600);
// choose what you want to be displayed in stats table
// true -display false -don`t
// show 1x1 ICCup team statistics
define('DISPLAY_1X1_STATISTICS_TABLE',true);
// show title at top of 1x1 stats table
define('DISPLAY_1X1_TABLE_TITLE',true);
// show 2x2 ICCup team statistics
define('DISPLAY_2X2_STATISTICS_TABLE',true);
// show title at top of 2x2 stats table
define('DISPLAY_2X2_TABLE_TITLE',true);
// show column headers for both stats tables
define('DISPLAY_COLUMN_HEADERS',true);
// show last statistics update date&time
define('DISPLAY_LAST_UPDATE',true);
// you can change column order, by changing positions of each column in this
// string. or just delete one of them, then it won`t be displayed. no spaces
// allowed. separation only with comma`s.
define('DISPLAY_COLUMNS_ORDER','country,rank,player,points,stats');
// show players with 0-0 stats in 1x1 stats table
define('DISPLAY_1X1_NOT_PLAYED_TEAMMATES',true);
// show players with 0-0 stats in 2x2 stats table
define('DISPLAY_2X2_NOT_PLAYED_TEAMMATES',true);
// style options, change css style of any element here:
// your own style must be written inside string ' style=""'
// don`t delete starting space or style= with quotes
// 'div' element, container for all other html output
// id="ICCupStatistics"
define('STYLE_MAIN_CONTAINER',' style="width:auto;text-align:center;vertical-align:top;margin:0px;padding:0px"');
// 'a' element, in which 1x1 table title is placed
define('STYLE_1X1_TABLE_TITLE',' style="width:90%;background:black;color:white;font:11pt/12.5pt \'Verdana\', serif;text-decoration:none;text-align:center;"');
// 'a' element, in which 2x2 table title is placed
define('STYLE_2X2_TABLE_TITLE',' style="width:90%;background:black;color:white;font:11pt/12.5pt \'Verdana\', serif;text-decoration:none;text-align:center;"');
// 'table' element, for 1x1 stats
define('STYLE_1X1_TABLE',' style="border:1px solid gray;width:100%"');
// 'table' element, for 2x2 stats
define('STYLE_2X2_TABLE',' style="border:1px solid gray;width:100%"');
// 'tr' element, for each players 1x1 stats
define('STYLE_1X1_TR',' style=""');
// 'tr' element, for each players 2x2 stats
define('STYLE_2X2_TR',' style=""');
// 'td' element, for each 1x1 player stats column
define('STYLE_1X1_TD',' style="text-align:center;color:black;font:7pt"');
// 'td' element, for each 2x2 player stats column
define('STYLE_2X2_TD',' style="text-align:center;color:black;font:7pt"');
// 'th' element, for each column header in both tables
define('STYLE_PLAYER_LINK',' style="color:black;font:700 8pt;text-decoration:none"');
// 'th' element, for each column header in both tables
define('STYLE_COLUMN_HEADERS',' style="font-weight:bold;color:gray;font-size:8pt"');
// 'span' element, in which last update info is placed
define('STYLE_LAST_UPDATE',' style="font-weight:lighter;color:black;font-size:7pt;text-align:center"');
// choose your page`s DOCTYPE here
// XHTML -just leave ' /' HTML -change to ''
// unsure? don`t care, and leave it intact
define('XHTML',' /');
// do not edit anything under this line, unless you know, what are you doing
//----------------------- END CONFIG ------------------------
define('BR','<br'.XHTML.'>');
define('ICCUP_GET_STATS',ICCUP.TEAMS_PAGE.MY_TEAM.PAGE_OUTPUT);
function _displayTable($x,&$ICCupStats,&$columns)
{
$thead='';
if(DISPLAY_COLUMN_HEADERS)
{
$thead='<thead>';
foreach($columns as $v)
$thead.='<th'.STYLE_COLUMN_HEADERS.'>'.ucfirst($v).'</th>';
$thead.='</thead>';
}
$out=(constant('DISPLAY_'.$x.'_TABLE_TITLE')?('<tr'.constant('STYLE_'.$x.'_TR').'><td colspan="'.strval(count($columns)).'"'.constant('STYLE_'.$x.'_TD').'>
<a href="'.ICCUP.constant('LADDER_'.$x.'_PAGE').'"'.constant('STYLE_'.$x.'_TABLE_TITLE').'>ICCup '.str_replace('x','X',$x).' stats</a></td></tr>'):'').
'<tr'.constant('STYLE_'.$x.'_TR').'><td'.constant('STYLE_'.$x.'_TD').'><table cellspacing="0" cellpadding="0"'.constant('STYLE_'.$x.'_TABLE').'>'.$thead.'<tbody>';
foreach($ICCupStats[$x] as $ICCupPlayerStats)
{
$out.='<tr'.constant('STYLE_'.$x.'_TR').'>';
for($q=0;$q<count($columns);$q++)
$out.='<td'.constant('STYLE_'.$x.'_TD').'>'.($ICCupPlayerStats[$columns[$q]]!=''?$ICCupPlayerStats[$columns[$q]]:' ').'</td>';
$out.='</tr>';
}
return str_replace('upload/images',ICCUP.'upload/images',$out).'</tbody></table></td></tr>';
}
function _parseICCupStatistics()
{
$columns=explode(',',strtolower(preg_replace('[^a-zA-Z,]','',DISPLAY_COLUMNS_ORDER)));
$ICCupStats=array('1X1'=>array(),'2X2'=>array());
$page=file_get_contents(ICCUP_GET_STATS);
if(!($page>'' && eregi(';',$page)))
{
if(file_exists(CACHE_FILE_PATH))
return file_get_contents(CACHE_FILE_PATH);
}
else
{
$players=explode(';<br>',$page);
foreach($players as $v)
{
$player=explode(';',str_replace('&','&',$v));
if(count($player)<9/* || !preg_match('',$v)*/) //TODO: it`l be nice to add here check for column format also
continue;
$player_link='<a href="'.$player[1].'"'.STYLE_PLAYER_LINK.'>'.str_replace('</font></nobr>','',str_replace('<nobr><font color=\'black\'>','',$player[2])).'</a>';
if(DISPLAY_1X1_NOT_PLAYED_TEAMMATES || $player[5]!='0 - 0')
$ICCupStats['1X1'][]=array('country'=>$player[0],'player'=>$player_link,'rank'=>$player[3],'points'=>$player[4],'stats'=>$player[5]);
if(DISPLAY_2X2_NOT_PLAYED_TEAMMATES || $player[8]!='0 - 0')
$ICCupStats['2X2'][]=array('country'=>$player[0],'player'=>$player_link,'rank'=>$player[6],'points'=>$player[7],'stats'=>$player[8]);
}
}
// for webmasters: for your own html code generation issues, delete following 9 lines
// from 'if(DISPLAY_COLUMN_HEADERS)...' to '$output=...', also delete function _displayTable
// declared upper, and fill $output string variable here as you want from
// $ICCupStats 2-dimensional array ['1X1' and '2X2'][player counter][stats table column]
$output="
".'<table cellspacing="0" cellpadding="0" id="ICCupStatistics"'.STYLE_MAIN_CONTAINER.'>'.((!empty($ICCupStats['1X1']) ||
!empty($ICCupStats['2X2']))?(((DISPLAY_1X1_STATISTICS_TABLE && !empty($ICCupStats['1X1']))?
_displayTable('1X1',$ICCupStats,$columns):'').((DISPLAY_2X2_STATISTICS_TABLE &&
!empty($ICCupStats['2X2']))?_displayTable('2X2',$ICCupStats,$columns):'').'<tr><td>'.(
'<span'.(!DISPLAY_LAST_UPDATE?(strpos(STYLE_LAST_UPDATE,'style="')!==false?
str_replace('style="','style="display:none;',STYLE_LAST_UPDATE):(strpos(STYLE_LAST_UPDATE,'style=\'"')!==false
?str_replace('style=\'','style=\'display:none;',STYLE_LAST_UPDATE): ' style="display:none"')):STYLE_LAST_UPDATE).'>
Last update: '.date('d M Y H:i:s').BR.'<b><a href="'.ICCUP.'"'.STYLE_LAST_UPDATE.'>ICCup</a> stats © unk &
<a href="http://spteam.ru/"'.STYLE_LAST_UPDATE.'>shr</a> & <a href="http://utm.org.ru/"'.STYLE_LAST_UPDATE.'>b1te</a>
</b></span>')):'ICCup is not accessible').'</td></tr></table>'."
"; if(strpos($output,'ICCup is not accessible')===false &&
CACHE_ENABLED && (!file_exists(CACHE_FILE_PATH) || (file_exists(CACHE_FILE_PATH) && is_writeable(CACHE_FILE_PATH))))
{
$cache=fopen(CACHE_FILE_PATH,'w');
fwrite($cache,$output);
fclose($cache);
}
return $output;
}
// *****************************************
// returns string with html ICCup statistics
function getICCupStatistics()
{
if(!ICCUP_TEAM_STATISTICS_ENABLED)
return '';
else if(CACHE_ENABLED && file_exists(CACHE_FILE_PATH) && filemtime(CACHE_FILE_PATH)+CACHE_EXPIRES>time())
return file_get_contents(CACHE_FILE_PATH);
else
return _parseICCupStatistics();
}
echo getICCupStatistics();
?>
//
//=============================================================
//ICCup Stats ver 1.1 © Sp)shr & unk & b1te[uTm] , 2007-06-16
//=============================================================
//server-side written by unk
//client-side written by shr
//ver 1.0->1.1 changes by b1te:
//-added install steps instruction
//-fixed "ICCup is not accessible" while cached file is
//-fixed image tag parsing error, which lead to
//'height=... text near country and rank images
//-changed user options configuration code
//-added statistics column order option
//-changed client-side html parsing code
//-omptimized overall performance
//installation:
//1) edit CONFIG section of this file
//2) save it to your web-server with the .php extension
//-on some servers it may be .php3 , .php4 or .php5
//3) add this code line into place where you want ICCup statistics to be displayed:
// include_once('path');
//where path - is a path to this file on yours web-server
//-important: this line must be inserted into some other php module,
//not into the site template. except, if you have smarty templates in your
//site`s engine then you can this code to it:
// {php}include_once('path');{/php}
//4) enjoy :)
//
//-------------------------- CONFIG -------------------------
// user defined options:
// change value to false for temporary display disabling
define('ICCUP_TEAM_STATISTICS_ENABLED',true);
// team page on ICCup
// if you use free hosting set parameters listed below to local page, u should
// open http://www.iccup.com/teams.php?lookup=[your team id]&output=1 , save
// its output to your hard drive and manually upload on webserver
// if your hosting support sockets/connections just change MY_TEAM parameter
// http address of ICCup -no need to change
define('ICCUP','http://www.iccup.com/');
// ICCup teams stats page -no need to change
define('TEAMS_PAGE','teams.php');
// your team unique ID, replace 1 with it
define('MY_TEAM','?lookup=2239');
// set page output parameter for use in this script -no need to change
define('PAGE_OUTPUT','&output=1');
// link to this page on ICCup from 1x1 table header
define('LADDER_1X1_PAGE','ladder.php?type=1x1');
// link to this page on ICCup from 2x2 table header
define('LADDER_2X2_PAGE','ladder.php?type=2x2');
// change to false if your server don`t support local file access
// this file is used to cache created statistics table
// its not reccomended turning off this feature
define('CACHE_ENABLED',true);
// full path to cache file on your host computer
// in some cases you might have to create this file first time
// manually, and set access permissions to 777 for it
define('CACHE_FILE_PATH','iccup_stats.cache');
// ICCup statistics refresh interval time in seconds
define('CACHE_EXPIRES',3600);
// choose what you want to be displayed in stats table
// true -display false -don`t
// show 1x1 ICCup team statistics
define('DISPLAY_1X1_STATISTICS_TABLE',true);
// show title at top of 1x1 stats table
define('DISPLAY_1X1_TABLE_TITLE',true);
// show 2x2 ICCup team statistics
define('DISPLAY_2X2_STATISTICS_TABLE',true);
// show title at top of 2x2 stats table
define('DISPLAY_2X2_TABLE_TITLE',true);
// show column headers for both stats tables
define('DISPLAY_COLUMN_HEADERS',true);
// show last statistics update date&time
define('DISPLAY_LAST_UPDATE',true);
// you can change column order, by changing positions of each column in this
// string. or just delete one of them, then it won`t be displayed. no spaces
// allowed. separation only with comma`s.
define('DISPLAY_COLUMNS_ORDER','country,rank,player,points,stats');
// show players with 0-0 stats in 1x1 stats table
define('DISPLAY_1X1_NOT_PLAYED_TEAMMATES',true);
// show players with 0-0 stats in 2x2 stats table
define('DISPLAY_2X2_NOT_PLAYED_TEAMMATES',true);
// style options, change css style of any element here:
// your own style must be written inside string ' style=""'
// don`t delete starting space or style= with quotes
// 'div' element, container for all other html output
// id="ICCupStatistics"
define('STYLE_MAIN_CONTAINER',' style="width:auto;text-align:center;vertical-align:top;margin:0px;padding:0px"');
// 'a' element, in which 1x1 table title is placed
define('STYLE_1X1_TABLE_TITLE',' style="width:90%;background:black;color:white;font:11pt/12.5pt \'Verdana\', serif;text-decoration:none;text-align:center;"');
// 'a' element, in which 2x2 table title is placed
define('STYLE_2X2_TABLE_TITLE',' style="width:90%;background:black;color:white;font:11pt/12.5pt \'Verdana\', serif;text-decoration:none;text-align:center;"');
// 'table' element, for 1x1 stats
define('STYLE_1X1_TABLE',' style="border:1px solid gray;width:100%"');
// 'table' element, for 2x2 stats
define('STYLE_2X2_TABLE',' style="border:1px solid gray;width:100%"');
// 'tr' element, for each players 1x1 stats
define('STYLE_1X1_TR',' style=""');
// 'tr' element, for each players 2x2 stats
define('STYLE_2X2_TR',' style=""');
// 'td' element, for each 1x1 player stats column
define('STYLE_1X1_TD',' style="text-align:center;color:black;font:7pt"');
// 'td' element, for each 2x2 player stats column
define('STYLE_2X2_TD',' style="text-align:center;color:black;font:7pt"');
// 'th' element, for each column header in both tables
define('STYLE_PLAYER_LINK',' style="color:black;font:700 8pt;text-decoration:none"');
// 'th' element, for each column header in both tables
define('STYLE_COLUMN_HEADERS',' style="font-weight:bold;color:gray;font-size:8pt"');
// 'span' element, in which last update info is placed
define('STYLE_LAST_UPDATE',' style="font-weight:lighter;color:black;font-size:7pt;text-align:center"');
// choose your page`s DOCTYPE here
// XHTML -just leave ' /' HTML -change to ''
// unsure? don`t care, and leave it intact
define('XHTML',' /');
// do not edit anything under this line, unless you know, what are you doing
//----------------------- END CONFIG ------------------------
define('BR','<br'.XHTML.'>');
define('ICCUP_GET_STATS',ICCUP.TEAMS_PAGE.MY_TEAM.PAGE_OUTPUT);
function _displayTable($x,&$ICCupStats,&$columns)
{
$thead='';
if(DISPLAY_COLUMN_HEADERS)
{
$thead='<thead>';
foreach($columns as $v)
$thead.='<th'.STYLE_COLUMN_HEADERS.'>'.ucfirst($v).'</th>';
$thead.='</thead>';
}
$out=(constant('DISPLAY_'.$x.'_TABLE_TITLE')?('<tr'.constant('STYLE_'.$x.'_TR').'><td colspan="'.strval(count($columns)).'"'.constant('STYLE_'.$x.'_TD').'>
<a href="'.ICCUP.constant('LADDER_'.$x.'_PAGE').'"'.constant('STYLE_'.$x.'_TABLE_TITLE').'>ICCup '.str_replace('x','X',$x).' stats</a></td></tr>'):'').
'<tr'.constant('STYLE_'.$x.'_TR').'><td'.constant('STYLE_'.$x.'_TD').'><table cellspacing="0" cellpadding="0"'.constant('STYLE_'.$x.'_TABLE').'>'.$thead.'<tbody>';
foreach($ICCupStats[$x] as $ICCupPlayerStats)
{
$out.='<tr'.constant('STYLE_'.$x.'_TR').'>';
for($q=0;$q<count($columns);$q++)
$out.='<td'.constant('STYLE_'.$x.'_TD').'>'.($ICCupPlayerStats[$columns[$q]]!=''?$ICCupPlayerStats[$columns[$q]]:' ').'</td>';
$out.='</tr>';
}
return str_replace('upload/images',ICCUP.'upload/images',$out).'</tbody></table></td></tr>';
}
function _parseICCupStatistics()
{
$columns=explode(',',strtolower(preg_replace('[^a-zA-Z,]','',DISPLAY_COLUMNS_ORDER)));
$ICCupStats=array('1X1'=>array(),'2X2'=>array());
$page=file_get_contents(ICCUP_GET_STATS);
if(!($page>'' && eregi(';',$page)))
{
if(file_exists(CACHE_FILE_PATH))
return file_get_contents(CACHE_FILE_PATH);
}
else
{
$players=explode(';<br>',$page);
foreach($players as $v)
{
$player=explode(';',str_replace('&','&',$v));
if(count($player)<9/* || !preg_match('',$v)*/) //TODO: it`l be nice to add here check for column format also
continue;
$player_link='<a href="'.$player[1].'"'.STYLE_PLAYER_LINK.'>'.str_replace('</font></nobr>','',str_replace('<nobr><font color=\'black\'>','',$player[2])).'</a>';
if(DISPLAY_1X1_NOT_PLAYED_TEAMMATES || $player[5]!='0 - 0')
$ICCupStats['1X1'][]=array('country'=>$player[0],'player'=>$player_link,'rank'=>$player[3],'points'=>$player[4],'stats'=>$player[5]);
if(DISPLAY_2X2_NOT_PLAYED_TEAMMATES || $player[8]!='0 - 0')
$ICCupStats['2X2'][]=array('country'=>$player[0],'player'=>$player_link,'rank'=>$player[6],'points'=>$player[7],'stats'=>$player[8]);
}
}
// for webmasters: for your own html code generation issues, delete following 9 lines
// from 'if(DISPLAY_COLUMN_HEADERS)...' to '$output=...', also delete function _displayTable
// declared upper, and fill $output string variable here as you want from
// $ICCupStats 2-dimensional array ['1X1' and '2X2'][player counter][stats table column]
$output="
".'<table cellspacing="0" cellpadding="0" id="ICCupStatistics"'.STYLE_MAIN_CONTAINER.'>'.((!empty($ICCupStats['1X1']) ||
!empty($ICCupStats['2X2']))?(((DISPLAY_1X1_STATISTICS_TABLE && !empty($ICCupStats['1X1']))?
_displayTable('1X1',$ICCupStats,$columns):'').((DISPLAY_2X2_STATISTICS_TABLE &&
!empty($ICCupStats['2X2']))?_displayTable('2X2',$ICCupStats,$columns):'').'<tr><td>'.(
'<span'.(!DISPLAY_LAST_UPDATE?(strpos(STYLE_LAST_UPDATE,'style="')!==false?
str_replace('style="','style="display:none;',STYLE_LAST_UPDATE):(strpos(STYLE_LAST_UPDATE,'style=\'"')!==false
?str_replace('style=\'','style=\'display:none;',STYLE_LAST_UPDATE): ' style="display:none"')):STYLE_LAST_UPDATE).'>
Last update: '.date('d M Y H:i:s').BR.'<b><a href="'.ICCUP.'"'.STYLE_LAST_UPDATE.'>ICCup</a> stats © unk &
<a href="http://spteam.ru/"'.STYLE_LAST_UPDATE.'>shr</a> & <a href="http://utm.org.ru/"'.STYLE_LAST_UPDATE.'>b1te</a>
</b></span>')):'ICCup is not accessible').'</td></tr></table>'."
"; if(strpos($output,'ICCup is not accessible')===false &&
CACHE_ENABLED && (!file_exists(CACHE_FILE_PATH) || (file_exists(CACHE_FILE_PATH) && is_writeable(CACHE_FILE_PATH))))
{
$cache=fopen(CACHE_FILE_PATH,'w');
fwrite($cache,$output);
fclose($cache);
}
return $output;
}
// *****************************************
// returns string with html ICCup statistics
function getICCupStatistics()
{
if(!ICCUP_TEAM_STATISTICS_ENABLED)
return '';
else if(CACHE_ENABLED && file_exists(CACHE_FILE_PATH) && filemtime(CACHE_FILE_PATH)+CACHE_EXPIRES>time())
return file_get_contents(CACHE_FILE_PATH);
else
return _parseICCupStatistics();
}
echo getICCupStatistics();
?>
Any assistance will be GREATLY appreciated.
P.S. i know i need to do
CODE
include_once('iccupTeamStatGrab.php')
I know that is not the problem.