예제 #1
0
    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
######################################################################
예제 #2
0
         $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.");
예제 #3
0
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("&amp;", "", ""), "{$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;
}
예제 #4
0
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;
    }
}
예제 #5
0
 /** 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;
 }