예제 #1
0
$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>&nbsp;" . $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) {
예제 #2
0
        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 = '';
예제 #3
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;
    }
}
예제 #4
0
 $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
예제 #5
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;
}