All pastes #884675 Raw Edit

Someone

public text v1 · immutable
#884675 ·published 2008-01-30 15:00 UTC
rendered paste body
<?php

class xDriver {
  var $xd_rank;
  var $xd_name;
  var $xstarts;
  var $xbest;
  var $xworst;
  var $xavgstart;
  var $xavgfinish;
  var $xtrackname;
}

// general vars

$d_rank = "";
$d_name = "";
$starts = "";
$best = "";
$worst = "";
$avgstart = "";
$avgfinish = "";
$trackname = "";


$arItems = array();
$itemCount = 0;

// ********* Start User-Defined Vars ************
// rss url goes here
$uFile = "http://www.onebadwheel.com/nascar-data/xml/driver-full-point-standings.xml";
// descriptions (true or false) goes here
$bDesc = true;
// font goes here
$uFont = "Verdana, Arial, Helvetica, sans-serif";
$uFontSize = "2";
// ********* End User-Defined Vars **************

function startElement($parser, $name, $attrs) {
  global $curTag;

  $curTag .= "^$name";

}

function endElement($parser, $name) {
  global $curTag;

  $caret_pos = strrpos($curTag,'^');

  $curTag = substr($curTag,0,$caret_pos);

}

function characterData($parser, $data) { global $curTag; // get the Channel information first
  global $d_rank,$d_name,$starts,$best,$worst,$avgstart,$avgfinish, $trackname;
	 $d_rankKey = "^STANDINGS^DRIVER^RANK";
	 $d_nameKey = "^STANDINGS^DRIVER^NAME";
	 $startsKey = "^STANDINGS^DRIVER^POINTS";
	 $bestKey = "^STANDINGS^DRIVER^BACK";
	 $worstKey = "^STANDINGS^DRIVER^WINS";
	 $avgstartKey = "^STANDINGS^DRIVER^TOP5";
	 $avgfinishKey = "^STANDINGS^DRIVER^TOP10";
	 $tracknameKey = "^STANDINGS^DESCRIPTION";
	 
  if ($curTag == $d_rankKey) {
    $d_rank = $data;
  }
  elseif ($curTag == $d_nameKey) {
    $d_name = $data;
  }
  elseif ($curTag == $startsKey) {
    $starts = $data;
  }
elseif ($curTag == $bestKey) {
    $best = $data;
  }
  elseif ($curTag == $worstKey) {
    $worst = $data;
  }
  elseif ($curTag == $avgstartKey) {
    $avgstart = $data;
  }
  elseif ($curTag == $avgfinishKey) {
    $avgfinish = $data;
  }
  elseif ($curTag == $tracknameKey) {
    $trackname = $data;
  }



  // now get the items 
  global $arItems, $itemCount;
  $driverd_rankKey = "^STANDINGS^DRIVER^RANK";
  $driverd_nameKey = "^STANDINGS^DRIVER^NAME";
  $driverstartsKey = "^STANDINGS^DRIVER^POINTS";
  $driverbestKey = "^STANDINGS^DRIVER^BACK";
  $driverworstKey = "^STANDINGS^DRIVER^WINS";
  $driveravgstartKey = "^STANDINGS^DRIVER^TOP5";
  $driveravgfinishKey = "^STANDINGS^DRIVER^TOP10";
  $tracknameKey = "^STANDINGS^DESCRIPTION";

  if ($curTag == $driverd_rankKey) {
    // make new xItem    
    $arItems[$itemCount] = new xDriver();     
    // set new item objects properties    
    $arItems[$itemCount]->xd_rank = $data;
  }
  elseif ($curTag == $driverd_nameKey) {
    $arItems[$itemCount]->xd_name = $data;
  }
   elseif ($curTag == $driverstartsKey) {
    $arItems[$itemCount]->xstarts = $data;
  }
   elseif ($curTag == $driverbestKey) {
    $arItems[$itemCount]->xbest = $data;
  }
   elseif ($curTag == $driverworstKey) {
    $arItems[$itemCount]->xworst = $data;
  }
   elseif ($curTag == $driveravgstartKey) {
    $arItems[$itemCount]->xavgstart = $data;
  }
 
  elseif ($curTag == $driveravgfinishKey) {
    $arItems[$itemCount]->xavgfinish = $data;
    // increment item counter
    $itemCount++;
  }

  if ($curTag == $tracknameKey) {
		$nameoftrack=$data;
  }
}

// main loop
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($uFile,"r"))) {
  die ("could not open RSS for input");
}
while ($data = fread($fp, 4096)) {
  if (!xml_parse($xml_parser, $data, feof($fp))) {
    die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser)));
  }
}
xml_parser_free($xml_parser);


// write out the items
?>


<table width=524 align=center bgcolor="#e2e2e2">
<tr bgcolor="#003366">
	<td colspan=7 align=center><font color="#FFFFFF"><?php echo($trackname); ?></font></td>
</tr>
<tr bgcolor="#003366">
	<td align=center><font color=white>Rank</font></td>
	<td align=center><font color=white>Driver</font></td>
	<td align=center><font color=white>Points</font></td>
	<td align=center><font color=white>Back</font></td>
	<td align=center><font color=white>Wins</font></td>
	<td align=center><font color=white>Top 5</font></td>
	<td align=center><font color=white>Top 10</font></td>
</tr>
<?php
for ($i=0;$i<count($arItems);$i++) {
  $txItem = $arItems[$i];
?>
<tr bgcolor="#FFFFFF">
	<td align=center>
			<?php echo($txItem->xd_rank); ?>
	</td>
	<td align=left>
			<?php echo($txItem->xd_name); ?>
	</td>
	<td align=center>
			<?php echo($txItem->xstarts); ?>
	</td>
	<td align=center>
			<?php echo($txItem->xbest); ?>
	</td>
	<td align=center>
			<?php echo($txItem->xworst); ?>
	</td>
	<td align=center>
			<?php echo($txItem->xavgstart); ?>
	</td>
	<td align=center>
			<?php echo($txItem->xavgfinish); ?>
	</td>

</tr></td>


<?php


}
?>
</table>