00001 <?php
00013 require_once(dirname(__FILE__).'/base.php');
00014
00023 class LFSWorldTeamsList extends LFSWorldDataProvider
00024 {
00029 var $m_sURL = 'http:
00030
00035 var $m_aSrcMetaData = array('lifeTime' => 180, 'actualTarpit' => 180);
00036
00074 function parse($rawList, &$outputList)
00075 {
00076
00077 $offset = 0;
00078
00079 while(true)
00080 {
00081
00082 $blob = substr($rawList, $offset, 172);
00083
00084
00085 if(strlen($blob) == 172)
00086 {
00087
00088 $data = $racers = array();
00089 $memberCount = 0;
00090
00091
00092 $data = unpack('a64name/a6tag/a32country/a64url/V1bits/v1infoLen', $blob);
00093 $offset += 172;
00094
00095
00096 $data['info'] = urldecode(substr($rawList, $offset, $data['infoLen']));
00097 $offset += $data['infoLen'];
00098
00099
00100 $memberCount = (ord($rawList{$offset})) | (ord($rawList{$offset+1}));
00101 $offset += 2;
00102
00103
00104 $members = explode('&', chunk_split(substr($rawList, $offset, $memberCount*24), 24, '&'));
00105
00106 array_pop($members);
00107
00108
00109 $data['members'] = array_map('rtrim', $members);
00110 $offset += $memberCount*24;
00111
00112
00113 $data['memberCount'] = $memberCount;
00114 unset($data['infoLen']);
00115
00116 $outputList[] = $data;
00117 }
00118 else
00119 {
00120 break;
00121 }
00122 }
00123
00124 return true;
00125 }
00126 }
00127
00128 ?>