$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 = ''; foreach ($movie->cast() as $person) { $people .= ";" . $person['name']; } if (!empty($people)) { $xml .= elem('actor', substr($people, 1)); } $genres = ''; foreach ($movie->genres() as $genre) { $genres .= ";{$genre}"; } if (!empty($genres)) { $xml .= elem('genre', substr($genres, 1)); } if (($photo_url = $movie->photo_localurl()) != FALSE) { $xml .= " <cover>{$photo_url}</cover>\n"; }
$HTMLOUT .= tr($lang['details_tvrage'], $tvmaze_info, 1); } } //==auto imdb rewritten putyn 28/06/2011 $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])) {
# Music $compose = $movie->composer(); if (!empty($compose)) { ++$rows; echo '<TR><TD valign=top><B>Music:</B></TD><TD>'; echo "<table align='left' border='1' style='border-collapse:collapse;background-color:#ddd;'><tr><th style='background-color:#07f;'>Name</th><th style='background-color:#07f;'>Role</th></tr>"; for ($i = 0; $i < count($compose); $i++) { echo '<tr><td width=200>'; echo '<a href="person.php?mid=' . $compose[$i]["imdb"] . '">'; echo $compose[$i]["name"] . "</a></td></tr>"; } echo "</table></td></tr>\n"; } flush(); # Cast $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();
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; } }
function queryItem($search_attributes_r, $s_item_type) { if (is_array($this->results)) { $imdb = $this->results[$search_attributes_r['res_id']]; unset($this->results); } else { $imdb = new imdb($search_attributes_r['imdb_id']); } // WTF? $imdb->imdb_utf8recode = get_opendb_config_var('themes', 'charset') == 'utf-8' ? TRUE : FALSE; $this->addItemAttribute('title', $imdb->title()); $this->addItemAttribute('year', $imdb->year()); foreach ($imdb->alsoknow() as $alt_title) { $this->addItemAttribute('alt_title', array($alt_title['country'] => $alt_title['title'])); } if ($imdb->photo()) { $this->addItemAttribute('imageurl', $imdb->photo()); } foreach ($imdb->director() as $person) { $this->addItemAttribute('director', $person['name']); } foreach ($imdb->producer() as $person) { if (stristr($person['role'], 'executive')) { $this->addItemAttribute('exproducer', $person['name']); } else { $this->addItemAttribute('producer', $person['name']); } } foreach ($imdb->writing() as $person) { $this->addItemAttribute('writer', $person['name']); } foreach ($imdb->composer() as $person) { $this->addItemAttribute('composer', $person['name']); } foreach ($imdb->cast() as $person) { $this->addItemAttribute('actors', $person['name']); } $this->addItemAttribute('genre', $imdb->genres()); $this->addItemAttribute('imdbrating', $imdb->rating()); $this->addItemAttribute('run_time', $imdb->runtime()); $this->addItemAttribute('audio_lang', $imdb->languages()); $this->addItemAttribute('dvd_audio', $imdb->sound()); foreach ($imdb->mpaa() as $country => $rating) { $country = strtolower($country); $this->addItemAttribute($country . '_age_rating', $rating); } $age_certification_codes_r = $this->getConfigValue('age_certification_codes'); if (!is_array($age_certification_codes_r) && strlen($age_certification_codes_r) > 0) { // single value $age_certification_codes_r = array($age_certification_codes_r); } if (is_array($age_certification_codes_r)) { reset($age_certification_codes_r); while (list(, $country) = @each($age_certification_codes_r)) { $country = strtolower($country); $ageRating = $this->getItemAttribute($country . '_age_rating'); // echo('<pre>'); // print_r($ageRating); // echo('</pre>'); if ($ageRating !== FALSE) { $this->addItemAttribute('age_rating', $ageRating); break; // found it! } } } $this->addItemAttribute('plot', $imdb->plot()); /** aspect ratio is not supported by imdbphp yet. * <div class="info"> <h5>Aspect Ratio:</h5> 2.35 : 1 <a class="tn15more inline" href="/rg/title-tease/aspect/title/tt0083944/technical">more</a> </div> if(preg_match("!<h5>Aspect Ratio:</h5>[\s]*([0-9\.]*)[\s]*:[\s]*([0-9\.]*)!", $pageBuffer, $matches)) { $this->addItemAttribute('ratio', $matches[1]); }*/ return TRUE; }
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; }
public static function Step4($modernLanguagesFlipped) { if (isset($_POST['imdbid']) && is_numeric($_POST['imdbid'])) { $movie = new imdb($_POST['imdbid']); $movie->setid($_POST['imdbid']); $db = new MDB(); $cast = $movie->cast(); $i = 0; // Insert all castmemebers while (list($key, $value) = each($cast)) { $db->insertCast($_POST['imdbid'], $value['imdb'], AddMovie::utf8ify($value['name']), ++$i); if ($i > MAXNAMES) { break; } } $directors = $movie->director(); $writers = $movie->writing(); $producers = $movie->producer(); $crew = array_merge($directors, $writers, $producers); $i = 0; // Insert all crewmemebers while (list($key, $value) = each($crew)) { $db->insertCrew($_POST['imdbid'], $value['imdb'], AddMovie::utf8ify($value['name']), ++$i); if ($i > MAXNAMES) { break; } } $genres = implode(',', $movie->genres()); $year = $movie->year(); $runtime = $movie->runtime(); if ($runtime == null) { $runtime = 1; if (isset($_POST['runtime']) && is_numeric($_POST['runtime'])) { $runtime = $_POST['runtime']; } } $title = AddMovie::utf8ify($movie->title()); $aka = $movie->alsoknow(); $englishTitle = ''; $rating = 1; if (is_numeric($_POST['rating'])) { $rating = $_POST['rating']; } if ($_POST['english-title'] != 'none') { $englishTitle = AddMovie::utf8ify($aka[$_POST['english-title']]['title']); //$englishTitle = trim($englishTitle, 1, strrpos($englishTitle, '"') - 1); } $language = 'en'; if (strlen($_POST['language']) == 2) { $language = $_POST['language']; } $success = $db->insertMovie($_POST['imdbid'], $title, $englishTitle, $language, $genres, $year, $runtime, $rating); if ($success) { header('Location: ./?message=add-success'); } else { header('Location: ./?message=add-error'); } exit; } else { AddMovie::Step1('invalid-id'); } }