Submit a dvdid.";
////////////////////////////////////////
// Get and format dvdid if it's there //
////////////////////////////////////////
$dvdid = $_GET["dvdid"];
//////////////////////
// Dvdid input form //
//////////////////////
echo "";
///////////////////////////////////////////////
// Check that the dvdid is in a valid format //
///////////////////////////////////////////////
if ($dvdid == '') {
echo "
Please enter a dvdid.
";
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 "
The DVDid information you entered is invalid.
Acceptable formats are 1234567898765432 and 12345678|98765432.
";
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 "
I'm sorry, but this movie $title already exists in our database.
In order to minimize database clutter, we don't accept duplicate entries.
";
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 "
";
echo "
";
echo "";
echo " |  |
";
echo "| DVD Title: | ".$title." |
";
echo "| Dvdid: | ".$dvdid." |
";
echo "| Rating: | ".$rating." |
";
echo "| Release Date: | " .$releasedate." |
";
echo "| Run Time: | ".$duration." Minutes |
";
echo "| Genre: | ".$genre." |
";
echo "| Studio: | ".$studio." |
";
echo "| Cast: | ".$leadperformer." |
";
echo "| Description: | ".substr($synopsis, 0, 200)."... (continued) |
"; // limit synopsis to 200 characters
echo "
";
echo "
";
echo "
";
}
////////////////////////////////////////
// If it doesnt exist, tell the moron.//
////////////////////////////////////////
else {
echo "
DVD not found!";
}
}
require_once(FOOTERF);
?>