hllog.php

Go to the documentation of this file.
00001 <?php
00013 require_once(dirname(__FILE__).'/base.php');    
00014  
00021 class LFSWorldHotlapLog extends LFSWorldDataProvider
00022 {
00027     var $m_sURL = 'http://www.lfsworld.net/pubstat/get_stat2.php?action=hl_log';
00028     
00033     var $m_aSrcMetaData = array('lifeTime' => 60, 'actualTarpit' => 5);
00034  
00045     function parse($rawList, &$outputList)
00046     {
00047         switch($this->m_nFormat)
00048         {
00049             case 2:
00050                 $outputList = $rawList;
00051                 break;
00052             case 3:
00053                 // do actual parsing
00054                 $offset = 0;
00055                 while(true)
00056                 {
00057                     $chunk = substr($rawList, $offset, 88);
00058                     $offset += 88;
00059 
00060                     if(strlen($chunk) == 88)
00061                     {
00062                         $data = unpack('l1time/a24racer/a32country/c1track/c1config/c1reversed/c1car/l4split/v1pos/v1flags/l1id', $chunk);
00063                         $data['track'] = $data['track'].$data['config'].$data['reversed'];
00064                         unset($data['config'], $data['reversed']);
00065                         //$data['car'] = ord($data['car']);
00066                         $outputList[] = $data;
00067                     }
00068                     else
00069                     {
00070                         break;
00071                     }
00072                     
00073                 }
00074                 break;
00075             case 1:
00076             default:
00077                 if(is_array($outputList))
00078                 {
00079                     $outputList = array_merge($outputList, explode("\n", $rawList));
00080                 }
00081                 else
00082                 {
00083                     $outputList = explode("\n", $rawList);
00084                 }
00085                 break;
00086                 
00087         }
00088         
00089         return true;
00090     }
00091     
00099     function initParams(&$params)
00100     {
00101         if(!isset($params['version']) || $params['version'] < 1.2)
00102             $params['version'] = '1.2';
00103         
00104         if(isset($params['format']))
00105             $this->m_nFormat = $params['format'];
00106         else
00107             $params['format'] = $this->m_nFormat = 3;
00108 
00109         return parent::initParams($params);
00110     }
00111 }
00112 
00113 ?>

Generated on Wed Oct 25 03:13:32 2006 for LFSWorldParsingProviderFramework by  doxygen 1.4.6