|
From: Brad S. <sc...@us...> - 2007-09-06 03:22:43
|
Update of /cvsroot/offl/offl/www In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv22553 Modified Files: Tag: 1.20 players.php Log Message: Unified place to update all players from CBS Sportsline. Index: players.php =================================================================== RCS file: /cvsroot/offl/offl/www/players.php,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** players.php 3 Sep 2007 08:11:03 -0000 1.19 --- players.php 6 Sep 2007 03:22:43 -0000 1.20 *************** *** 36,39 **** --- 36,40 ---- $thisPlayer->setLastName($_REQUEST["lname"]); $thisPlayer->setFirstName($_REQUEST["fname"]); + $thisPlayer->setPictureLoc($_REQUEST["picture_loc"]); $thisPlayer->setNFLTeamID($_REQUEST["nflteam_id"]); $thisPlayer->setPositionID($_REQUEST["position_id"]); *************** *** 136,189 **** <?php } ! else // playerid is not empty ! { ! // Show information of given player ! $thisPlayer = new OFFL_Player($_REQUEST["player_id"], $_SESSION["league_id"]); ! ?> ! <table border="0" width="75%"> ! <tr> ! <td> ! <?php ! $pos = strrpos($thisPlayer->getNFLProfile(), "/"); ! if ($pos === false) ! { ! // not found ! // check if it is a team ! $length = strlen($thisPlayer->getNFLProfile()); ! if ($length > 1) ! { ! // is a team ! $pic = "http://images.nfl.com/images/helmets/134x121/"; ! $temp = $thisPlayer->getNFLProfile(); ! $pic = $pic . $temp; ! $pic = $pic . ".gif"; ! } ! else ! { ! $pic = ""; ! } ! } ! else ! { ! // found ! $pic="http://images.nfl.com/images/players/60x80"; ! $temp = substr($thisPlayer->getNFLProfile(),$pos); ! $pic = $pic . $temp; ! $pic = $pic . ".jpg"; ! } ! ! // only display pic if found ! if($pic != "") ! { ! ?> ! <img src="<?php echo $pic; ?>" alt="<?php echo $thisPlayer->getName("FL");; ?>" align="left"> ! <? ! } ! ?> ! <div class="bigger"><?php echo $thisPlayer->getName("FL"); ?></div> ! ! <?php echo $thisPlayer->getPositionName() . ", " . $thisPlayer->getNFLTeamCity() . " " . $thisPlayer->getNFLTeamName(); ?><br> ! <?php /* ******************* *\ stats here --- 137,157 ---- <?php } ! else // playerid is not empty ! { ! // Show information of given player ! $thisPlayer = new OFFL_Player($_REQUEST["player_id"], $_SESSION["league_id"]); ! ?> ! <table border="0" width="75%"> ! <tr> ! <td> ! <?php $pic = "http://images.nfl.com/images/players/60x80/" . $thisPlayer->getPictureLoc() . ".jpg"; ! //if (is_file("$pic")) { ?> ! <img src="<?php echo $pic; ?>" alt="<?php echo $thisPlayer->getName("FL");; ?>" align="left"> ! <?php //} ?> ! <div class="bigger"><?php echo $thisPlayer->getName("FL"); ?></div> ! ! <?php echo $thisPlayer->getPositionName() . ", " . $thisPlayer->getNFLTeamCity() . " " . $thisPlayer->getNFLTeamName(); ?><br> ! <?php /* ******************* *\ stats here *************** *** 641,645 **** </td> <td> ! <form name="getnfltrades" action="<?php echo $WEB_ROOT; ?>/updateroster-CBS-htmlparser.php"> <input type="hidden" name="mode" value="getall" /> <input type="hidden" name="tradetrack" value="on" /> --- 609,613 ---- </td> <td> ! <form name="getnfltrades" action="<?php echo $WEB_ROOT; ?>/players.php"> <input type="hidden" name="mode" value="getall" /> <input type="hidden" name="tradetrack" value="on" /> *************** *** 737,740 **** --- 705,712 ---- </tr> <tr> + <th align="right">Picture Filename:</th> + <td colspan="2"><input type="text" name="picture_loc" size="40" maxlength="80"<?php if($_REQUEST["mode"] == "edit") { ?> value="<?php echo $thisPlayer->getPictureLoc() ?>"<?php } ?>></td> + </tr> + <tr> <th align="right">NFL Team:</th> <td colspan="2"> *************** *** 1002,1149 **** */ ! $x = new OFFL_NFLTeam(); ! $teams = $x->getAllNFLTeams(); ! $x = new OFFL_Position(); ! $positions = $x->getAllPositions(); ! $pos_id = Array(); ! $pos_name = Array(); ! foreach ($positions as $position) ! { ! $pos_id[$position->getPositionAbbv()] = $position->getPositionID(); ! $pos_name[$position->getPositionID()] = $position->getPositionAbbv(); ! } $sqllist = Array(); ! $sqllist[0] = "UPDATE players SET active=0 WHERE position_id<>8"; // not defense (I can ignore that) ! // here's the main team iterative loop ! foreach($teams as $i=>$team) ! { ! // echo $team->getNFLTeamAbbv() . " (" . $team->getNFLTeamID() . ")<br>"; ! ! $nflteam = $team->getNFLTeamAbbv(); ! $nflteam_id = $team->getNFLTeamID(); ! ! $teamroster = file("http://www.nfl.com/teams/rosters/$nflteam"); ! $teamstring = ""; ! ! foreach ($teamroster as $teamline) ! { ! $teamstring .= $teamline; ! } ! ! //echo $teamstring; ! ! // debugprint($teamstring); ! $teamstring = str_replace("</tr>", "</tr>\n", $teamstring); ! ! list($beforetable, $tableandafter) = explode("<div class=SLTables1>", $teamstring, 2); ! ! // debugprint($tableandafter); ! unset($beforetable); ! unset($teamstring); ! list($table, $aftertable) = explode("</table>", $tableandafter, 2); ! unset($aftertable); ! unset($tableandafter); ! list($empty, $table) = explode("College</td></tr>", $table, 2); ! ! // debugprint($table); ! ! // echo $table; ! ! $players_raw = explode("<tr", $table); ! ! // for ($i = 3; $i < sizeof($players_raw); $i++) ! foreach($players_raw as $i=>$player_row) ! { ! if ($i == 0) ! continue; //skip the empty first entry ! ! $player_temp = explode("<td", $player_row, 5); ! ! if (strpos($player_temp[2], "/players")) ! // this finds players who don't have NFL.com profiles ! // the condition might should be changed to check for "href=", though ! { ! @list($temp1, $player[$i][3], $player[$i][0], $temp2) = explode(">", $player_temp[2]); ! } ! else ! { ! @list($temp1, $player[$i][0], $temp2) = explode(">", $player_temp[2]); ! } ! @list($temp1, $player[$i][2], $temp2) = explode(">", $player_temp[3]); ! ! @list($player[$i][0], $player[$i][1]) = explode(",", $player[$i][0], 2); ! @list($player[$i][1], $temp1) = explode("<", $player[$i][1], 2); ! @list($player[$i][2], $temp1) = explode("<", $player[$i][2], 2); ! @list($temp1, $player[$i][3], $temp2) = explode("\"", $player[$i][3], 3); ! $player[$i][3] = trim($player[$i][3]); ! if ($player[$i][3] != "") // should fix finding players w/o profiles. ! $player[$i][3] = "http://www.nfl.com" . $player[$i][3]; ! ! // get rid of the leading space on player first names ! $player[$i][1] = ltrim($player[$i][1]); ! ! $player[$i][0] = mysql_escape_string($player[$i][0]); // last name ! $player[$i][1] = mysql_escape_string($player[$i][1]); // first name ! ! if (strcmp($player[$i][2], "FB") == 0) ! $player[$i][2] = "RB"; ! ! foreach ($pos_name as $pos) ! { ! if (strcmp($player[$i][2], $pos) == 0) ! { ! $player[$i][2] = $pos_id[$pos]; ! break; ! } ! } ! ! debugprint($player[$i]); ! ! } ! $teaminfo = $players_raw[1]; ! list($temp1, $teaminfo, $temp2) = explode("font>", $teaminfo); ! list($teaminfo, $temp1) = explode("<", $teaminfo); ! $teaminfo = explode(" ", $teaminfo); ! $teamname = $teaminfo[sizeof($teaminfo) - 1]; ! ! // echo ($teamname) . "<br>"; ! ! unset($players_raw); ! unset($player_temp); ! ! $player_lookup = new OFFL_Player(); ! ! foreach($player as $plyr) ! { ! // if (($plyr[2] == "QB") || ($plyr[2] == "RB") || ($plyr[2] == "WR") || ($plyr[2] == "TE") || ($plyr[2] == "K")) ! if (($plyr[2] > 0) && ($plyr[2] < 50)) ! { ! $new_player = $player_lookup->getPlayerByNFLProfile($plyr[3]); ! ! if ($new_player === FALSE) ! $sqllist[] = "INSERT INTO `players` (lname,fname,nflteam_id,position_id,nfl_profile) VALUES ('$plyr[0]','$plyr[1]',$nflteam_id,$plyr[2],'$plyr[3]')"; ! else ! $sqllist[] = "UPDATE players SET active=1, nflteam_id=$nflteam_id WHERE player_id=" . $new_player->getPlayerID(); } } ! unset ($player); ! } ! ! $sqllist[] = "UPDATE players SET nflteam_id=0 WHERE active=0"; ! /* ! The SQL statements are prepared. Now open the database and run them. ! */ ! $db = new OFFL_DBObject(); ! $dbconn = $db->getConn(); ! ! foreach ($sqllist as $sql) ! $result = mysql_query($sql, $dbconn); ! ! // echo "$sql<br>\n"; ! ! $db->closeDB(); echo "<h2>Trade update complete!</h2>"; --- 974,1291 ---- */ ! // $x = new OFFL_NFLTeam(); ! // $teams = $x->getAllNFLTeams(); ! // $x = new OFFL_Position(); ! // $positions = $x->getAllPositions(); ! // $pos_id = Array(); ! // $pos_name = Array(); ! // ! // foreach ($positions as $position) ! // { ! // $pos_id[$position->getPositionAbbv()] = $position->getPositionID(); ! // $pos_name[$position->getPositionID()] = $position->getPositionAbbv(); ! // } ! // ! // $sqllist = Array(); ! // $sqllist[0] = "UPDATE players SET active=0 WHERE position_id<>8"; // not defense (I can ignore that) ! // ! // // here's the main team iterative loop ! // foreach($teams as $i=>$team) ! // { ! // // echo $team->getNFLTeamAbbv() . " (" . $team->getNFLTeamID() . ")<br>"; ! // ! // $nflteam = $team->getNFLTeamAbbv(); ! // $nflteam_id = $team->getNFLTeamID(); ! // ! // $teamroster = file("http://www.nfl.com/teams/rosters/$nflteam"); ! // $teamstring = ""; ! // ! // foreach ($teamroster as $teamline) ! // { ! // $teamstring .= $teamline; ! // } ! // ! // //echo $teamstring; ! // ! // // debugprint($teamstring); ! // $teamstring = str_replace("</tr>", "</tr>\n", $teamstring); ! // ! // list($beforetable, $tableandafter) = explode("<div class=SLTables1>", $teamstring, 2); ! // ! // // debugprint($tableandafter); ! // unset($beforetable); ! // unset($teamstring); ! // list($table, $aftertable) = explode("</table>", $tableandafter, 2); ! // unset($aftertable); ! // unset($tableandafter); ! // list($empty, $table) = explode("College</td></tr>", $table, 2); ! // ! // // debugprint($table); ! // ! // // echo $table; ! // ! // $players_raw = explode("<tr", $table); ! // ! // // for ($i = 3; $i < sizeof($players_raw); $i++) ! // foreach($players_raw as $i=>$player_row) ! // { ! // if ($i == 0) ! // continue; //skip the empty first entry ! // ! // $player_temp = explode("<td", $player_row, 5); ! // ! // if (strpos($player_temp[2], "/players")) ! // // this finds players who don't have NFL.com profiles ! // // the condition might should be changed to check for "href=", though ! // { ! // @list($temp1, $player[$i][3], $player[$i][0], $temp2) = explode(">", $player_temp[2]); ! // } ! // else ! // { ! // @list($temp1, $player[$i][0], $temp2) = explode(">", $player_temp[2]); ! // } ! // @list($temp1, $player[$i][2], $temp2) = explode(">", $player_temp[3]); ! // ! // @list($player[$i][0], $player[$i][1]) = explode(",", $player[$i][0], 2); ! // @list($player[$i][1], $temp1) = explode("<", $player[$i][1], 2); ! // @list($player[$i][2], $temp1) = explode("<", $player[$i][2], 2); ! // @list($temp1, $player[$i][3], $temp2) = explode("\"", $player[$i][3], 3); ! // $player[$i][3] = trim($player[$i][3]); ! // if ($player[$i][3] != "") // should fix finding players w/o profiles. ! // $player[$i][3] = "http://www.nfl.com" . $player[$i][3]; ! // ! // // get rid of the leading space on player first names ! // $player[$i][1] = ltrim($player[$i][1]); ! // ! // $player[$i][0] = mysql_escape_string($player[$i][0]); // last name ! // $player[$i][1] = mysql_escape_string($player[$i][1]); // first name ! // ! // if (strcmp($player[$i][2], "FB") == 0) ! // $player[$i][2] = "RB"; ! // ! // foreach ($pos_name as $pos) ! // { ! // if (strcmp($player[$i][2], $pos) == 0) ! // { ! // $player[$i][2] = $pos_id[$pos]; ! // break; ! // } ! // } ! // ! // debugprint($player[$i]); ! // ! // } ! // $teaminfo = $players_raw[1]; ! // list($temp1, $teaminfo, $temp2) = explode("font>", $teaminfo); ! // list($teaminfo, $temp1) = explode("<", $teaminfo); ! // $teaminfo = explode(" ", $teaminfo); ! // $teamname = $teaminfo[sizeof($teaminfo) - 1]; ! // ! // // echo ($teamname) . "<br>"; ! // ! // unset($players_raw); ! // unset($player_temp); ! // ! // $player_lookup = new OFFL_Player(); ! // ! // foreach($player as $plyr) ! // { ! // // if (($plyr[2] == "QB") || ($plyr[2] == "RB") || ($plyr[2] == "WR") || ($plyr[2] == "TE") || ($plyr[2] == "K")) ! // if (($plyr[2] > 0) && ($plyr[2] < 50)) ! // { ! // $new_player = $player_lookup->getPlayerByNFLProfile($plyr[3]); ! // ! // if ($new_player === FALSE) ! // $sqllist[] = "INSERT INTO `players` (lname,fname,nflteam_id,position_id,nfl_profile) VALUES ('$plyr[0]','$plyr[1]',$nflteam_id,$plyr[2],'$plyr[3]')"; ! // else ! // $sqllist[] = "UPDATE players SET active=1, nflteam_id=$nflteam_id WHERE player_id=" . $new_player->getPlayerID(); ! // } ! // } ! // unset ($player); ! // } ! // ! // $sqllist[] = "UPDATE players SET nflteam_id=0 WHERE active=0"; ! // /* ! // The SQL statements are prepared. Now open the database and run them. ! // */ ! // $db = new OFFL_DBObject(); ! // $dbconn = $db->getConn(); ! // ! // foreach ($sqllist as $sql) ! // $result = mysql_query($sql, $dbconn); ! // ! // // echo "$sql<br>\n"; ! // ! // $db->closeDB(); ! // ! include ("./lib/inc/htmlparser.inc"); + $x = new OFFL_NFLTeam(); + $teams = $x->getAllNFLTeams(); + + foreach($teams as $team) { + $nflteamcity = $team->getNFLTeamCity(); + $nflteamname = $team->getNFLTeamName(); + $nflteamabbv = $team->getNFLTeamAbbv(); + $nflteamfullname = str_replace(" ", "", strtolower($nflteamcity . $nflteamname)); + + echo $nflteamfullname . "<br/>"; + } + + $x = new OFFL_Position(); + $positions = $x->getAllPositions(); + $pos_id = Array(); + $pos_name = Array(); + + foreach ($positions as $position) { + $pos_id[$position->getPositionAbbv()] = $position->getPositionID(); + $pos_name[$position->getPositionID()] = $position->getPositionAbbv(); + } + + $warnings = array(); + $playersmoved = array(); $sqllist = Array(); ! ! //do not reset defense ! $sqllist[0] = "UPDATE players SET active=0 WHERE position_id<>8"; ! $num = 0; ! ! // here's the main team iterative loop ! foreach($teams as $team) { ! $player = array(); ! // structure of the old player object: ! // $player[$i][0] last name ! // $player[$i][1] first name ! // $player[$i][2] position abbv ! // $player[$i][3] profile relative url ! // $player[$i][4] trash, but I'll use this to store nflteam_id ! ! $nflteamcity = $team->getNFLTeamCity(); ! $nflteamname = $team->getNFLTeamName(); ! $nflteamabbv = $team->getNFLTeamAbbv(); ! $nflteamfullname = str_replace(" ", "", strtolower($nflteamcity . $nflteamname)); ! ! //$teamurl = "http://www.nfl.com/teams/" . $nflteamfullname . "/roster?team=" . $nflteamabbv; ! $teamurl = "http://www.sportsline.com/nfl/teams/roster/" . $nflteamabbv; ! ! $nflteam_id = $team->getNFLTeamID(); ! ! $teamroster = file("$teamurl"); ! $teamstring = ""; ! ! foreach ($teamroster as $teamline) { ! $teamstring .= $teamline; ! } ! ! list($beforetable, $tableandafter) = explode("COLLEGE</a></td></tr>", $teamstring, 2); ! unset($beforetable); ! unset($teamstring); ! list($table, $aftertable) = explode("<tr id=special align=middle class=bg1>", $tableandafter, 2); ! unset($aftertable); ! unset($tableandafter); ! ! //echo $table; ! ! $parser = new HtmlParser ($table); ! ! $currentPlayerNbr = ''; ! $currentPlayerName = ''; ! $currentPlayerPosition = ''; ! $currentPlayerProfile = ''; ! ! while ($parser->parse()) { ! //echo $players_raw[$i] . "<br/>"; ! ! //echo $parser->iNodeType . " - " . $parser->iNodeName . " - " . $parser->iNodeValue . "<br/>"; ! ! if (($parser->iNodeType == 1) && ($parser->iNodeName == 'tr')) { ! //echo "new player<br/>"; ! $i++; ! $currentPlayerNbr = ''; ! $currentPlayerName = ''; ! $player_lname = ''; ! $player_fname = ''; ! $currentPlayerPosition = ''; ! $currentPlayerProfile = ''; ! } elseif (($parser->iNodeType == 1) && ($parser->iNodeName == 'a') && ($currentPlayerProfile == '')) { ! $attrValues = $parser->iNodeAttributes; ! $currentPlayerProfile = "http://www.sportsline.com" . $attrValues['href']; ! //$currentPlayerProfile = $attrValues['href']; ! } elseif (($parser->iNodeType == 3) && ($parser->iNodeName == 'Text') && ($currentPlayerNbr == '')) { ! $currentPlayerNbr = $parser->iNodeValue; ! } elseif (($parser->iNodeType == 3) && ($parser->iNodeName == 'Text') && ($currentPlayerName == '')) { ! $currentPlayerName = $parser->iNodeValue; ! ! list ($player_lname, $player_fname) = explode(", ", $currentPlayerName, 2); ! } elseif (($parser->iNodeType == 3) && ($parser->iNodeName == 'Text') && (trim($parser->iNodeValue) != '') && ($currentPlayerPosition == '')) { ! $currentPlayerPosition = $parser->iNodeValue; ! ! $player[$i][0] = $player_lname; ! $player[$i][1] = $player_fname; ! $player[$i][2] = $currentPlayerPosition; ! $player[$i][3] = $currentPlayerProfile; ! // $player[$i][4] = ''; // blank this out to use later for nflteam_id ! ! $player[$i][0] = mysql_escape_string($player[$i][0]); // last name ! $player[$i][1] = mysql_escape_string($player[$i][1]); // first name ! ! if (strcmp($player[$i][2], "FB") == 0) ! $player[$i][2] = "RB"; ! ! foreach ($pos_name as $pos) { ! if (strcmp($player[$i][2], $pos) == 0) { ! $player[$i][2] = $pos_id[$pos]; ! break; ! } ! } ! ! //echo $i . ":" . $currentPlayerNbr . " - " . $player_lname . " - " . $player_fname . " - " . $currentPlayerPosition . " - " . $currentPlayerProfile . "<br/>"; } + } + + foreach ($player AS $i=>$plr) { + //only handle players that are in a valid FFL position + if(is_numeric($player[$i][2])) { + //$sql = "SELECT player_id, nflteam_id, fname, lname, position_id, nfl_profile FROM players WHERE lname = '" . $player[$i][0] . "' AND fname = '" . $player[$i][1] . "'"; //nflteam_id = " . $team->getNFLTeamID() . " AND + $sql = "SELECT player_id, nflteam_id, fname, lname, position_id, nfl_profile FROM players WHERE nfl_profile = '" . $player[$i][3] . "'"; //nflteam_id = " . $team->getNFLTeamID() . " AND + $result = mysql_query($sql) or die (mysql_error() . ": $sql");//,$this->_conn + $multi = mysql_num_rows($result); + if($multi > 1) { + $warnings[]= "<tr><td colspan=\"8\">Warning, multiple players by this name: " . $player[$i][1] . " " . $player[$i][0] . "</td></tr>"; + } else { + if(mysql_result($result,0,"player_id") != "") { + $sqllist[] = "UPDATE players SET active=1, lname='" . $player[$i][0] . "', fname='" . $player[$i][1] . "', nflteam_id=" . $team->getNFLTeamID() . ", nfl_profile='" . $player[$i][3] . "' WHERE player_id=" . mysql_result($result,0,"player_id"); } + else { + $sqllist[] = "INSERT INTO players (lname,fname,nflteam_id,position_id,nfl_profile) VALUES ('" . $player[$i][0] . "','" . $player[$i][1] . "'," . $team->getNFLTeamID() . "," . $player[$i][2] . ",'" . $player[$i][3] . "')"; } + } + $num++; + } else { + unset($player[$i]); + } } ! } ! ! if(sizeof($warnings)) { ! echo "<table>"; ! echo "<tr><td>Following players not updated; handle these players manually:</td></tr>"; ! ! foreach($warnings AS $warning) { ! echo $warning; ! } ! ! echo "</table>"; ! } ! ! $db = new OFFL_DBObject(); ! $dbconn = $db->getConn(); ! ! foreach ($sqllist as $sql) { ! $result = mysql_query($sql, $dbconn); ! echo "$result - $sql<br>\n"; ! } ! ! $db->closeDB(); echo "<h2>Trade update complete!</h2>"; |