All pastes #415479 Raw Edit

Miscellany

public text v1 · immutable
#415479 ·published 2007-03-29 17:40 UTC
rendered paste body
<?php
require_once("../class2.php");
require_once(HEADERF);

	
echo "<br/>
<br/>
<center><b>Submit a dvdid.</b></center>";



////////////////////////////////////////
// Get and format dvdid if it's there //
////////////////////////////////////////
$dvdid = $_GET["dvdid"];



//////////////////////
// Dvdid input form //
//////////////////////
echo "<center><form id='form1' name='form1' method='get' action='$PHP_SELF'>
  <input type='text' name='dvdid' value='$dvdid' class='tbox' maxlength='17' />
  <br />
  <input type='submit' value='Submit' class='button'/>
  </form></center>";
  

///////////////////////////////////////////////
// Check that the dvdid is in a valid format //
///////////////////////////////////////////////
if ($dvdid == '') {
echo "<center><p><br><b>Please enter a dvdid.</b></b></p></center>";
require_once(FOOTERF);
exit;
}
elseif ((strlen($dvdid) == 17) || (strlen($dvdid) == 16)) {
		$Parts[0] = substr($dvdid, 0, 8);
        $Parts[1] = substr($dvdid, -8, 8);
		$dvdid = $Parts[0] . $Parts[1];
        $dvdid = strtoupper($dvdid);
}
else
{
echo "<center><p><br>The DVDid information you entered is invalid. <br>Acceptable formats are <b>1234567898765432</b> and <b>12345678|98765432.</b></p></center>";
require_once(FOOTERF);
exit;
}

  
///////////////////////////////////
// Are we already in an XML tag? //
///////////////////////////////////
$insideitem = false;


///////////////////////////////
// Set Start Element for XML //
///////////////////////////////
function startElement($parser, $name, $attrs) {
	global $insideitem, $tag, $title, $description, $link, $rating, $releasedate, $duration, $genre, $studio, $leadperformer;
	if ($insideitem) {
		$tag = $name;
	} elseif ($name == "MDR-DVD") {
		$insideitem = true;
	}
}


/////////////////////////////
// Set End Element for XML //
/////////////////////////////
function endElement($parser, $name) {
	global $insideitem, $tag, $title, $description, $link, $rating, $releasedate, $duration, $genre, $studio, $leadperformer;
	if ($name == "MDR-DVD") {
		$insideitem = false;
	}
}



///////////////////////////
// Set XML tag variables //
///////////////////////////
function characterData($parser, $data) {
	global $insideitem, $tag, $title, $synopsis, $link, $rating, $releasedate, $duration, $genre, $studio, $leadperformer;
	if ($insideitem) {
	switch ($tag) {
		case "TITLETITLE":
		$title = $data;
		break;
		case "SYNOPSIS":
		$synopsis = $data;
		break;
		case "SMALLCOVERPARAMS":
		$link = "http://services.windowsmedia.com/dvdcover/".$data;
		break;
		case "MPAARATING":
		$rating = $data;
		break;
		case "RELEASEDATE":
		$releasedate = $data;
		break;
		case "DURATION":
		$duration = $data;
		break;
		case "GENRE":
		$genre = $data;
		break;
		case "STUDIO":
		$studio = $data;
		break;
		case "LEADPERFORMER":
		$leadperformer = $data;
		break;
	}
	}
}


////////////////////////////
// Let the parsing begin! //
////////////////////////////
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
$fp = fopen("http://movie.metaservices.microsoft.com/dvdinfopages/querycrcextendedMCE.aspx?locale=1033&geoId=XX&clientType=MCE&clientVersion=5.0&clientID=1234&DVDID=".$dvdid,"r")
	or die("Error reading RSS data.");
 while ($data = fread($fp, 4096))
	xml_parse($xml_parser, $data, feof($fp))
		or die(sprintf("XML error: %s at line %d", 
			xml_error_string(xml_get_error_code($xml_parser)), 
			xml_get_current_line_number($xml_parser)));
fclose($fp);
xml_parser_free($xml_parser);



/////////////////////////////////////////////
// Escape special characters for DB insert //
/////////////////////////////////////////////
$title = mysql_real_escape_string($title);
$studio = mysql_real_escape_string($studio);
$leadperformer = mysql_real_escape_string($leadperformer);
$synopsis = mysql_real_escape_string($synopsis);
$genre = mysql_real_escape_string($genre);



/////////////////////////
// Insert data into DB //
/////////////////////////
if ($title != NULL) {
//$query_insert = "INSERT INTO download(Title, Disc_1_DiscIDSideA, Rating, Released, RunningTime, Genre, Studio, Cast, Overview) VALUES('" .$title. "', '" .$dvdid. "', '" .$rating. "', '" .$releasedate. "', '" .$duration. "', '" .$genre. "', '" .$studio. "', '" .$leadperformer. "', '" .$synopsis. "')";
//$result_insert = mysql_query($query_insert);



////////////////////////
//Check if it's a dupe//
////////////////////////
if (mysql_errno()) {
if (mysql_errno()==1062){
echo "<br><br><center><p>I'm sorry, but this movie <b><em>$title</em></b> already exists in our database.<br />In order to minimize database clutter, we don't accept duplicate entries.</p></center>";
require_once(FOOTERF);
exit;
}
} 
}

/////////////////////////////////////////////
// Make release date an actual date format //
/////////////////////////////////////////////
$Date0 = substr($releasedate, 0, 4);
$Date1 = substr($releasedate, 5, 2);
$Date2 = substr($releasedate, 8, 2);
$releasedate = $Date0.$Date1.$Date2;
$releasedate = date('M d, Y', strtotime($releasedate));



//////////////////////////////////////////////////////////
// Strip slashes from results so they display correctly //
//////////////////////////////////////////////////////////
$title = stripslashes($title);
$studio = stripslashes($studio);
$leadperformer = stripslashes($leadperformer);
$synopsis = stripslashes($synopsis);
$genre = stripslashes($genre);


////////////////////////////////////////////////////////
// Add the | back into the dvdid so we can display it //
////////////////////////////////////////////////////////
if ((strlen($dvdid) == 17) || (strlen($dvdid) == 16)) {
$dvdid = $Parts[0] . "|" . $Parts[1];
$dvdid = strtoupper($dvdid);
}

/////////////////////////////////////////////////////////
// If movie exists show data pulled from Microsoft XML //
/////////////////////////////////////////////////////////
if (isset ($dvdid)) {
	if ($title != NULL) {
echo "<br />";
echo "<br />";
echo "<div><table cellpadding='2' width='85%'>";
echo "<tr><td width='100'></td><td><img src='$link'></td></tr>";
echo "<tr><td><b>DVD Title: </b></td><td>".$title."</td></tr>";
echo "<tr><td><b>Dvdid: </b></td><td>".$dvdid."</td></tr>";
echo "<tr><td><b>Rating: </b></td><td>".$rating."</td></tr>";
echo "<tr><td><b>Release Date: </b></td><td>" .$releasedate."</td></tr>"; 
echo "<tr><td><b>Run Time: </b></td><td>".$duration." Minutes</td></tr>";
echo "<tr><td><b>Genre: </b></td><td>".$genre."</td></tr>";
echo "<tr><td><b>Studio: </b></td><td>".$studio."</td></tr>";
echo "<tr><td><b>Cast: </b></td><td>".$leadperformer."</td></tr>";
echo "<tr><td valign='top'><b>Description: </b></td><td>".substr($synopsis, 0, 200)."... (continued)</td></tr>";  // limit synopsis to 200 characters
echo "</table></div>";
echo "<br />";
echo "<br />";
}

////////////////////////////////////////
// If it doesnt exist, tell the moron.//
////////////////////////////////////////
else {
echo "<br /><br /><center><b>DVD not found!</b></center>";
}
}



require_once(FOOTERF);
?>