if (in_array($torrents['category'], $torrents['tvcats'])) { $tvmaze_info = tvmaze($torrents); if ($tvmaze_info) { $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();
# director(s) $director = $movie->director(); if (!empty($director)) { ++$rows; echo '<TR><TD valign=top><B>Director:</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($director); $i++) { echo '<tr><td width=200>'; echo '<a href="person.php?mid=' . $director[$i]["imdb"] . '">'; echo $director[$i]["name"] . '</a></td><td>'; echo $director[$i]["role"] . "</td></tr>"; } echo "</table></td></tr>\n"; } # Story $write = $movie->writing(); if (!empty($write)) { ++$rows; echo '<TR><TD valign=top><B>Writing By:</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($write); $i++) { echo '<tr><td width=200>'; echo '<a href="person.php?mid=' . $write[$i]["imdb"] . '">'; echo $write[$i]["name"] . '</a></td><td>'; echo $write[$i]["role"] . "</td></tr>"; } echo "</table></td></tr>\n"; } flush(); # Producer $produce = $movie->producer();
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; }
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; }
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'); } }