$imdb_html = ""; if (preg_match('/^http\\:\\/\\/(.*?)imdb\\.com\\/title\\/tt([\\d]{7})/i', $torrents['url'], $imdb_tmp)) { $imdb_id = $imdb_tmp[2]; unset($imdb_tmp); if (!($imdb_html = $mc1->get_value('imdb::' . $imdb_id))) { $movie = new imdb($imdb_id); $movie->setid($imdb_id); $imdb_data['director'] = $movie->director(); $imdb_data['writing'] = $movie->writing(); $imdb_data['producer'] = $movie->producer(); $imdb_data['composer'] = $movie->composer(); $imdb_data['cast'] = $movie->cast(); $imdb_data['cast'] = array_slice($imdb_data['cast'], 0, 10); $imdb_data['genres'] = $movie->genres(); $imdb_data['plot'] = $movie->plot(); $imdb_data['plotoutline'] = $movie->plotoutline(); $imdb_data['trailers'] = $movie->trailers(); $imdb_data['language'] = $movie->language(); $imdb_data['rating'] = $movie->rating(); $imdb_data['title'] = $movie->title(); $imdb_data['year'] = $movie->year(); $imdb_data['runtime'] = $movie->runtime(); $imdb_data['votes'] = $movie->votes(); $imdb_data['country'] = $movie->country(); $imdb = array('country' => 'Country', 'director' => 'Directed by', 'writing' => 'Writing by', 'producer' => 'Produced by', 'cast' => 'Cast', 'plot' => 'Description', 'composer' => 'Music', 'genres' => 'All genres', 'plotoutline' => 'Plot outline', 'trailers' => 'Trailers', 'language' => 'Language', 'rating' => 'Rating', 'title' => 'Title', 'year' => 'Year', 'runtime' => 'Runtime', 'votes' => 'Votes'); foreach ($imdb as $foo => $boo) { if (isset($imdb_data[$foo]) && !empty($imdb_data[$foo])) { if (!is_array($imdb_data[$foo])) { $imdb_html .= "<span style='font-weight:bold;color:#800517'>" . $boo . ":</span> " . $imdb_data[$foo] . "<br />\n"; } elseif (is_array($imdb_data[$foo]) && in_array($foo, array('director', 'writing', 'producer', 'composer', 'cast', 'trailers'))) { foreach ($imdb_data[$foo] as $pp) {
return ''; } if ($cdata) { return " <{$name}><![CDATA[{$content}]]></{$name}>\n"; } return " <{$name}>{$content}</{$name}>\n"; } require_once "imdb.class.php"; // Load the API require_once "imdb_budget.class.php"; $xml = "<?xml version='1.0' encoding='iso-8859-15'?>\n<imdbdata>\n"; // start XML output foreach ($imdbids as $imdbid) { // process each ID $movie = new imdb($imdbid); $xml .= " <movie>\n" . " <imdbid>{$imdbid}</imdbid>\n" . elem('title', $movie->title()) . elem('year', $movie->year()) . elem('rating', $movie->rating()) . elem('votes', $movie->votes()) . elem('tagline', $movie->tagline(), TRUE) . elem('plot', $movie->plotoutline(), TRUE); $people = ''; foreach ($movie->prodCompany() as $person) { $people .= ";" . $person['name']; } if (!empty($people)) { $xml .= elem('company', substr($people, 1)); } $people = ''; foreach ($movie->director() as $person) { $people .= ";" . $person['name']; } if (!empty($people)) { $xml .= elem('director', substr($people, 1)); } $people = '';
function getimdb($imdb_id, $cache_stamp, $mode = 'minor') { global $lang_functions; global $showextinfo; $thenumbers = $imdb_id; $movie = new imdb($thenumbers); $movieid = $thenumbers; $movie->setid($movieid); $target = array('Title', 'Credits', 'Plot'); switch ($movie->cachestate($target)) { case "0": return false; break; case "1": $title = $movie->title(); $year = $movie->year(); $country = $movie->country(); $countries = ""; $temp = ""; for ($i = 0; $i < count($country); $i++) { $temp .= "{$country[$i]}, "; } $countries = rtrim(trim($temp), ","); $director = $movie->director(); $director_or_creator = ""; if ($director) { $temp = ""; for ($i = 0; $i < count($director); $i++) { $temp .= $director[$i]["name"] . ", "; } $director_or_creator = "<strong><font color=\"DarkRed\">" . $lang_functions['text_director'] . ": </font></strong>" . rtrim(trim($temp), ","); } else { //for tv series $creator = $movie->creator(); $director_or_creator = "<strong><font color=\"DarkRed\">" . $lang_functions['text_creator'] . ": </font></strong>" . $creator; } $cast = $movie->cast(); $temp = ""; for ($i = 0; $i < count($cast); $i++) { if ($i > 2) { break; } $temp .= $cast[$i]["name"] . ", "; } $casts = rtrim(trim($temp), ","); $gen = $movie->genres(); $genres = $gen[0] . (count($gen) > 1 ? ", " . $gen[1] : ""); //get first two genres; $rating = $movie->rating(); $votes = $movie->votes(); if ($votes) { $imdbrating = "<b>" . $rating . "</b>/10 (" . $votes . $lang_functions['text_votes'] . ")"; } else { $imdbrating = $lang_functions['text_awaiting_five_votes']; } $tagline = $movie->tagline(); switch ($mode) { case 'minor': $autodata = "<font class=\"big\"><b>" . $title . "</b></font> (" . $year . ") <br /><strong><font color=\"DarkRed\">" . $lang_functions['text_imdb'] . ": </font></strong>" . $imdbrating . " <strong><font color=\"DarkRed\">" . $lang_functions['text_country'] . ": </font></strong>" . $countries . " <strong><font color=\"DarkRed\">" . $lang_functions['text_genres'] . ": </font></strong>" . $genres . "<br />" . $director_or_creator . "<strong><font color=\"DarkRed\"> " . $lang_functions['text_starring'] . ": </font></strong>" . $casts . "<br /><p><strong>" . $tagline . "</strong></p>"; break; case 'median': if (($photo_url = $movie->photo_localurl()) != FALSE) { $smallth = "<img src=\"" . $photo_url . "\" width=\"105\" alt=\"poster\" />"; } else { $smallth = ""; } $runtime = $movie->runtime(); $language = $movie->language(); $plot = $movie->plot(); $plots = ""; if (count($plot) != 0) { //get plots from plot page $plots .= "<font color=\"DarkRed\">*</font> " . strip_tags($plot[0], '<br /><i>'); $plots = mb_substr($plots, 0, 300, "UTF-8") . (mb_strlen($plots, "UTF-8") > 300 ? " ..." : ""); $plots .= strpos($plots, "<i>") == true && strpos($plots, "</i>") == false ? "</i>" : ""; //sometimes <i> is open and not ended because of mb_substr; $plots = "<font class=\"small\">" . $plots . "</font>"; } elseif ($plotoutline = $movie->plotoutline()) { //get plot from title page $plots .= "<font color=\"DarkRed\">*</font> " . strip_tags($plotoutline, '<br /><i>'); $plots = mb_substr($plots, 0, 300, "UTF-8") . (mb_strlen($plots, "UTF-8") > 300 ? " ..." : ""); $plots .= strpos($plots, "<i>") == true && strpos($plots, "</i>") == false ? "</i>" : ""; //sometimes <i> is open and not ended because of mb_substr; $plots = "<font class=\"small\">" . $plots . "</font>"; } $autodata = "<table style=\"background-color: transparent;\" border=\"0\" cellspacing=\"0\" cellpadding=\"3\">\n" . ($smallth ? "<td class=\"clear\" valign=\"top\" align=\"right\">\n{$smallth}\n</td>" : "") . "<td class=\"clear\" valign=\"top\" align=\"left\">\n<table style=\"background-color: transparent;\" border=\"0\" cellspacing=\"0\" cellpadding=\"3\" width=\"350\">\n<tr><td class=\"clear\" colspan=\"2\"><img class=\"imdb\" src=\"pic/trans.gif\" alt=\"imdb\" /> <font class=\"big\"><b>" . $title . "</b></font> (" . $year . ") </td></tr>\n<tr><td class=\"clear\"><strong><font color=\"DarkRed\">" . $lang_functions['text_imdb'] . ": </font></strong>" . $imdbrating . "</td>\n" . ($runtime ? "<td class=\"clear\"><strong><font color=\"DarkRed\">" . $lang_functions['text_runtime'] . ": </font></strong>" . $runtime . $lang_functions['text_min'] . "</td>" : "<td class=\"clear\"></td>") . "</tr>\n<tr><td class=\"clear\"><strong><font color=\"DarkRed\">" . $lang_functions['text_country'] . ": </font></strong>" . $countries . "</td>\n" . ($language ? "<td class=\"clear\"><strong><font color=\"DarkRed\">" . $lang_functions['text_language'] . ": </font></strong>" . $language . "</td>" : "<td class=\"clear\"></td>") . "</tr>\n<tr><td class=\"clear\">" . $director_or_creator . "</td>\n<td class=\"clear\"><strong><font color=\"DarkRed\">" . $lang_functions['text_genres'] . ": </font></strong>" . $genres . "</td></tr>\n<tr><td class=\"clear\" colspan=\"2\"><strong><font color=\"DarkRed\">" . $lang_functions['text_starring'] . ": </font></strong>" . $casts . "</td></tr>\n" . ($plots ? "<tr><td class=\"clear\" colspan=\"2\">" . $plots . "</td></tr>" : "") . "\n</table>\n</td>\n</table>"; break; } return $autodata; case "2": return false; break; case "3": return false; break; } }
$cast = $movie->cast(); if (!empty($cast)) { ++$rows; echo '<TR><TD valign=top><B>Cast:</B></TD><TD>'; echo "<table align='left' border='1' style='border-collapse:collapse;background-color:#ddd;'><tr><th style='background-color:#07f;'>Actor</th><th style='background-color:#07f;'>Role</th></tr>"; for ($i = 0; $i < count($cast); $i++) { echo '<tr><td width=200>'; echo '<a href="person.php?mid=' . $cast[$i]["imdb"] . '">'; echo $cast[$i]["name"] . '</a></td><td>'; echo $cast[$i]["role"] . "</td></tr>"; } echo "</table></td></tr>\n"; } flush(); # Plot outline & plot $plotoutline = $movie->plotoutline(); if (!empty($plotoutline)) { ++$rows; echo "<tr><td valign='top'><b>Plot Outline:</b></td><td>{$plotoutline}</td></tr>\n"; } $plot = $movie->plot(); if (!empty($plot)) { ++$rows; echo '<tr><td valign=top><b>Plot:</b></td><td><ul>'; for ($i = 0; $i < count($plot); $i++) { echo "<li>" . $plot[$i] . "</li>\n"; } echo "</ul></td></tr>\n"; } flush(); # Taglines
function get_imdb($imdburl) { global $INSTALLER09, $mc1; $imdb_info['id'] = $imdb_info['title'] = $imdb_info['orig_title'] = $imdb_info['year'] = $imdb_info['rating'] = $imdb_info['votes'] = $imdb_info['gen'] = $imdb_info['runtime'] = $imdb_info['country'] = $imdb_info['lanuage'] = $imdb_info['director'] = $imdb_info['produce'] = $imdb_info['write'] = $imdb_info['compose'] = $imdb_info['plotoutline'] = $imdb_info['plot'] = $imdb_info['trailers'] = $imdb_info['comment'] = ""; require_once IMDB_DIR . 'imdb.class.php'; $rurl = trim($imdburl); $thenumbers = ltrim(strrchr($rurl, 'tt'), 'tt'); $thenumbers = $thenumbers[strlen($thenumbers) - 1] == "/" ? substr($thenumbers, 0, strlen($thenumbers) - 1) : $thenumbers; $thenumbers = preg_replace("[^A-Za-z0-9]", "", $thenumbers); if (($imdb_info = $mc1->get_value('imdb_info_' . $thenumbers)) === false) { $movie = new imdb($thenumbers); $movieid = $thenumbers; $movie->setid($movieid); $cast = $movie->cast(); $imdb_info['id'] = $movieid; $imdb_info['title'] = $movie->title(); $imdb_info['orig_title'] = $movie->orig_title(); $imdb_info['year'] = $movie->year(); $mvotes = $movie->votes(); $mvrating = $movie->rating(); if (!empty($mvrating)) { $imdb_info['rating'] = "{$mvrating}"; $imdb_info['votes'] = "{$mvotes}"; } else { $imdb_info['rating'] = "N/A"; } $gen = $movie->genres(); if (!empty($gen)) { //Changed count($gen) for 4 to limit to only two genres to help keep it tidy on site for ($i = 0; $i + 1 < count($gen); $i++) { $imdb_info['gen'] .= "{$gen[$i]}, "; } $imdb_info['gen'] .= "{$gen[$i]}"; } else { $imdb_info['gen'] = "None Found"; } $runtime = $movie->runtime(); if (!empty($runtime)) { $imdb_info['runtime'] = "{$runtime}"; } else { $imdb_info['runtime'] = "N/A"; } $country = $movie->country(); if (!empty($country)) { for ($i = 0; $i + 1 < count($country); $i++) { $imdb_info['country'] .= "{$country[$i]}, "; } $imdb_info['country'] .= "{$country[$i]}"; } else { $imdb_info['country'] = "None Available"; } $mvlang = $movie->language(); if (!empty($mvlang)) { $imdb_info['lanuage'] = "{$mvlang}"; } else { $imdb_info['lanuage'] = "None Available"; } $director = $movie->director(); if (!empty($director)) { for ($i = 0; $i < count($director); $i++) { $imdb_info['director'] .= "<a target=\"_blank\" href=\"http://www.imdb.com/name/nm" . "" . $director[$i]["imdb"] . "" . "\">" . "" . $director[$i]["name"] . "" . "</a>, "; } $imdb_info['director'] .= "<a target=\"_blank\" href=\"http://www.imdb.com/name/nm" . "" . $director[$i]["imdb"] . "" . "\">" . "" . $director[$i]["name"] . "" . "</a> "; } else { $imdb_info['director'] = "None Available"; } $produce = $movie->producer(); if (!empty($produce)) { for ($i = 0; $i < count($produce); $i++) { $imdb_info['produce'] .= "<a target=\"_blank\" href=\"http://www.imdb.com/name/nm" . "" . $produce[$i]["imdb"] . "" . " \">" . "" . $produce[$i]["name"] . "" . "</a>,"; } $imdb_info['produce'] .= "<a target=\"_blank\" href=\"http://www.imdb.com/name/nm" . "" . $produce[$i]["imdb"] . "" . " \">" . "" . $produce[$i]["name"] . "" . "</a>"; } else { $imdb_info['produce'] = "None Available"; } $write = $movie->writing(); if (!empty($write)) { for ($i = 0; $i < count($write); $i++) { $imdb_info['write'] .= "<a target=\"_blank\" href=\"http://www.imdb.com/name/nm" . "" . $write[$i]["imdb"] . "" . "\">" . "" . $write[$i]["name"] . "" . "</a>, "; } $imdb_info['write'] .= "<a target=\"_blank\" href=\"http://www.imdb.com/name/nm" . "" . $write[$i]["imdb"] . "" . "\">" . "" . $write[$i]["name"] . "" . "</a> "; } $compose = $movie->composer(); if (!empty($compose)) { for ($i = 0; $i < count($compose); $i++) { $imdb_info['compose'] .= "<a target=\"_blank\" href=\"http://www.imdb.com/name/nm" . "" . $compose[$i]["imdb"] . "" . " \">" . "" . $compose[$i]["name"] . "" . "</a>, "; } } else { $imdb_info['compose'] .= "N/A"; } $plotoutline = $movie->plotoutline(); if (!empty($plotoutline)) { $imdb_info['plotoutline'] = "" . str_replace(array('<p>', '</p>', '<a href="plotsummary">See full summary</a>'), array("", ""), "{$plotoutline}") . ""; } else { $imdb_info['plotoutline'] .= "No Summary Available"; } $plot = $movie->plot(); if (!empty($plot)) { for ($i = 0; $i < count($plot); $i++) { $imdb_info['plot'] .= str_replace(array("&", "<p>", "</p>"), array("&", "", ""), "{$plot[$i]}<br /><br />"); } } else { $imdb_info['plot'] .= "No Plot Available"; } $trailers = $movie->trailers(); if (!empty($trailers)) { for ($i = 0; $i < count($trailers); $i++) { $imdb_info['trailers'] .= "<a href='" . $trailers[$i] . "' title='Trailer' target='_blank'>IMDB Trailer</a><br />"; } $imdb_info['trailers'] .= "<a href='" . $trailers[$i] . "' title='Trailer' target='_blank'>IMDB Trailer</a>"; } else { $imdb_info['trailers'] = "None Available"; } $comment = $movie->comment(); if (!empty($comment)) { $imdb_info['comment'] = "" . str_replace(array("<p>", "</p>", "<br>", "<a></a>"), array("<br />", "<br />", "<br />", ""), "{$comment}") . ""; } else { $imdb_info['comment'] = "No comments available"; } if (($photo_url = $movie->photo_localurl()) != false) { $imdb_info['poster'] = $photo_url; } $mc1->cache_value('imdb_info_' . $thenumbers, $imdb_info, 0); } return $imdb_info; }