Exemplo n.º 1
0
<?php

require_once "config.php";
$page = new AdminPage();
$movie = new Movie(['Settings' => $page->settings]);
$id = 0;
$page->title = "Movie Add";
if (isset($_REQUEST['id']) && ctype_digit($_REQUEST['id']) && strlen($_REQUEST['id']) == 7) {
    $id = $_REQUEST['id'];
    $movCheck = $movie->getMovieInfo($id);
    if (!$movCheck || isset($_REQUEST['update']) && $_REQUEST['update'] == 1) {
        if ($movie->updateMovieInfo($id)) {
            header("Location:" . WWW_TOP . "/movie-list.php");
            die;
        }
    }
}
$page->content = $page->smarty->fetch('movie-add.tpl');
$page->render();
define('FS_ROOT', realpath(dirname(__FILE__)));
require_once FS_ROOT . "/../../www/config.php";
require_once FS_ROOT . "/../../www/lib/framework/db.php";
require_once FS_ROOT . "/../../www/lib/movie.php";
$movie = new Movie(true);
$db = new Db();
$movies = array();
$counter = 1;
$sleepsecsbetweenscrape = 1;
//echo out the properties scraped from imdb for an ID
//print_r($movie->fetchImdbProperties("1375666"));
// CASE 1 - UPDATE ALL RECORDS
//$movies = $db->query("SELECT imdbID from movieinfo");
// CASE 2 - UPDATE ALL WITH A BLANK TITLE
//$movies = $db->query("SELECT imdbID from movieinfo where title = ''");
// CASE 3 - UPDATE ALL RECORDS NOT UPDATED IN THE LAST 6 MONTHS
//$movies = $db->query("SELECT imdbID from movieinfo where updateddate < DATE_ADD(NOW(), INTERVAL -6 MONTH)");
// CASE 4 - UPDATE ALL RECORDS WHERE COVER IS EMPTY
//$movies = $db->query("SELECT imdbID from movieinfo where cover = 0");
// CASE 5 - UPDATE ALL WITH NO TRAILER
//$movies = $db->query("SELECT imdbID from movieinfo where trailer is null and tmdbid is not null");
if (count($movies) == 0) {
    echo "No records selected to update - either uncomment case or no matches found.\n";
    die;
}
echo "Updating " . count($movies) . " records - Sleep interval " . $sleepsecsbetweenscrape . " second(s)\n";
foreach ($movies as $mov) {
    echo "Updating " . $mov['imdbID'] . " (" . $counter++ . "/" . count($movies) . ")\n";
    $mov = $movie->updateMovieInfo($mov['imdbID']);
    sleep($sleepsecsbetweenscrape);
}
Exemplo n.º 3
0
if (!$page->users->isLoggedIn()) {
    $page->show403();
}
$um = new UserMovies(['Settings' => $page->settings]);
if (isset($_REQUEST['del'])) {
    $usermovies = $um->delMovie($page->users->currentUserId(), $_REQUEST['del']);
} else {
    if (isset($_REQUEST['add'])) {
        // Derive cats from user preferences.
        $cats = array();
        $cats[] = '2030';
        $cats[] = '2040';
        $m = new Movie(['Settings' => $page->settings]);
        $mi = $m->getMovieInfo($_REQUEST['add']);
        if (!$mi) {
            $m->updateMovieInfo($_REQUEST['add']);
        }
        $usermovies = $um->addMovie($page->users->currentUserId(), $_REQUEST['add'], $cats);
    } else {
        if (!isset($_REQUEST['id'])) {
            $page->show404();
        }
        $tmdb = new TMDb($page->settings->getSetting('tmdbkey'), $page->settings->getSetting('imdblanguage'));
        $m = new Movie(['Settings' => $page->settings, 'TMDb' => $tmdb]);
        if (is_numeric($_REQUEST['id'])) {
            $movie = $m->fetchTMDBProperties($_REQUEST['id']);
            if ($movie !== false) {
                $obj = array($movie);
            }
        } else {
            $searchm = $tmdb->searchMovie($_REQUEST['id']);
    $page->show403();
}
$um = new UserMovies();
if (isset($_REQUEST["del"])) {
    $usermovies = $um->delMovie($users->currentUserId(), $_REQUEST["del"]);
} elseif (isset($_REQUEST["add"])) {
    //
    // derive cats from user preferences
    //
    $cats = array();
    $cats[] = "2030";
    $cats[] = "2040";
    $m = new Movie(false);
    $mi = $m->getMovieInfo($_REQUEST["add"]);
    if (!$mi) {
        $m->updateMovieInfo($_REQUEST["add"]);
    }
    $usermovies = $um->addMovie($users->currentUserId(), $_REQUEST["add"], $cats);
} else {
    if (!isset($_REQUEST["id"])) {
        $page->show404();
    }
    $m = new Movie(false);
    if (is_numeric($_REQUEST["id"])) {
        $prop = $m->fetchTmdbProperties($_REQUEST["id"]);
        if ($prop !== false) {
            $res = array($prop);
        }
    } else {
        $res = $m->searchTmdb($_REQUEST["id"]);
    }
Exemplo n.º 5
0
 public function processNfoFiles($processImdb = 1, $processTvrage = 1)
 {
     $ret = 0;
     $db = new DB();
     $nntp = new Nntp();
     $res = $db->queryDirect(sprintf("SELECT rn.*, r.searchname FROM releasenfo rn left outer join releases r ON r.ID = rn.releaseID WHERE rn.nfo IS NULL AND rn.attempts < 5"));
     if (mysql_num_rows($res) > 0) {
         if ($this->echooutput) {
             echo "Processing " . mysql_num_rows($res) . " nfos\n";
         }
         $nntp->doConnect();
         while ($arr = mysql_fetch_assoc($res)) {
             $fetchedBinary = $nntp->getBinary($arr['binaryID'], true);
             if ($fetchedBinary !== false) {
                 //insert nfo into database
                 $db->query(sprintf("UPDATE releasenfo SET nfo = compress(%s) WHERE ID = %d", $db->escapeString($fetchedBinary), $arr["ID"]));
                 $ret++;
                 $imdbId = $this->parseImdb($fetchedBinary);
                 if ($imdbId !== false) {
                     //update release with imdb id
                     $db->query(sprintf("UPDATE releases SET imdbID = %s WHERE ID = %d", $db->escapeString($imdbId), $arr["releaseID"]));
                     //if set scan for imdb info
                     if ($processImdb == 1) {
                         $movie = new Movie($this->echooutput);
                         //check for existing movie entry
                         $movCheck = $movie->getMovieInfo($imdbId);
                         if ($movCheck === false || isset($movCheck['updateddate']) && time() - strtotime($movCheck['updateddate']) > 2592000) {
                             $movieId = $movie->updateMovieInfo($imdbId);
                         }
                     }
                 }
                 $rageId = $this->parseRageId($fetchedBinary);
                 if ($rageId !== false) {
                     //if set scan for tvrage info
                     if ($processTvrage == 1) {
                         $tvrage = new Tvrage($this->echooutput);
                         $show = $tvrage->parseNameEpSeason($arr['searchname']);
                         if (is_array($show) && $show['name'] != '') {
                             // update release with season, ep, and airdate info (if available) from releasetitle
                             $tvrage->updateEpInfo($show, $arr['releaseID']);
                             $rid = $tvrage->getByRageID($rageId);
                             if (!$rid) {
                                 $tvrShow = $tvrage->getRageInfoFromService($rageId);
                                 $tvrage->updateRageInfo($rageId, $show, $tvrShow, $arr['releaseID']);
                             }
                         }
                     }
                 }
             } else {
                 if ($this->echooutput) {
                     echo "NFO download failed - release " . $arr['releaseID'] . " on attempt " . $arr["attempts"]++ . "\n";
                 }
                 //nfo download failed, increment attempts
                 $db->query(sprintf("UPDATE releasenfo SET attempts = attempts+1 WHERE ID = %d", $arr["ID"]));
             }
             if ($ret != 0 && $this->echooutput && $ret % 5 == 0) {
                 echo "-processed " . $ret . " nfos\n";
             }
         }
         $nntp->doQuit();
     }
     //remove nfo that we cant fetch after 5 attempts
     $db->query("DELETE FROM releasenfo WHERE nfo IS NULL AND attempts >= 5");
     if ($this->echooutput) {
         echo $ret . " nfo files processed\n";
     }
     return $ret;
 }