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"; } $budg = new imdb_budget($imdbid); $xml .= elem('budget', $budg->budget()); $xml .= " </movie>\n"; } file_put_contents($resultfile, $xml . "</imdbdata>\n"); ###################################################################### # EOF ######################################################################
$db = new DB("torrents"); $db->torrent_imdb = $link; $db->update("torrent_id = '" . $db->escape($id) . "'"); preg_match("#tt(?P<imdbId>[0-9]{7,7})#", $link, $matches); if (count($matches) == 0) { continue; } $thenumbers = $matches['imdbId']; include PATH_LIBRARY . "imdb/imdb.class.php"; $movie = new imdb($thenumbers); $movieid = $thenumbers; $movie->setid($movieid); $gen = $movie->genres(); $plotoutline = $movie->plotoutline(); $mvrating = $movie->rating(); $photo_url = $movie->photo_localurl(); $db = new DB("torrents_imdb"); $db->setColPrefix("imdb_"); $db->torrent = $id; $db->genres = implode(", ", $gen); $db->plot = $plotoutline; $db->title = $movie->title(); $db->image = $photo_url; $db->rating = $mvrating; $db->insert(); } header("location: " . page("torrent", "details", "", "", "", "id=" . $id)); } else { $db = new DB("torrents"); $db->delete("torrent_id = {$id}"); throw new Exception("Could not upload torrent file. please contact staff.");
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 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; } }
/** Get similiar movies * @method similiar_movies * @return list similiar_movies */ function similiar_movies() { if (!isset($this->similiar_movies)) { if ($this->page["Title"] == "") { $this->openpage("Title"); } $similiar_movies = $this->info_excer->truncate($this->page["Title"], "<h3>Recommendations</h3>", "<tr class=\"rating\">"); $similiar_movies = $this->info_excer->truncate($similiar_movies, "<tr>", "</tr>"); $res_where_array = array('Link' => '1', 'Name' => '3'); if ($res_array = $this->info_excer->find_pattern($similiar_movies, "/<td><a href=\"((\\s|.)+?)\">((\\s|.)+?)<\\/a><\\/td>/", true, $res_where_array)) { $counter = 0; foreach ($res_array as $res_array_each) { $this->similiar_movies[$counter]['Link'] = $res_array_each[0]; $this->similiar_movies[$counter]['Name'] = $res_array_each[1]; $imdb_id = ltrim(strrchr($res_array_each[0], 'tt'), 'tt'); $imdb_id = preg_replace("/[^A-Za-z0-9]/", "", $imdb_id); //die("ss" . $imdb_id); $imdb_sim_movies = new imdb($imdb_id); //$imdb_sim_movies->setid($imdb_id); $target = array('Title', 'Credits', 'Plot'); $imdb_sim_movies->preparecache($target, false); $this->similiar_movies[$counter]['Local'] = $imdb_sim_movies->photo_localurl(); $counter++; } } } return $this->similiar_movies; }