Example #1
0
function updateMovies()
{
    global $logger;
    $logger->info("UPDATE MOVIES");
    $sqlresult = mysqli_query($GLOBALS['mysqli'], "   UPDATE movies c\r\n        INNER JOIN (\r\n          SELECT movieId, SUM(seed)+SUM(leech) as total\r\n          FROM links\r\n          WHERE `translateQuality` != \"ORIGINAL\"\r\n          GROUP BY movieId\r\n        ) x ON c.id = x.movieId\r\n        SET c.sum_peers = x.total\r\n    ");
    if (mysqli_errno($GLOBALS['mysqli'])) {
        $logger->error(mysqli_error($GLOBALS['mysqli']));
    }
    $sqlresult = mysqli_query($GLOBALS['mysqli'], "SELECT * FROM `movies` WHERE `movies`.id in (SELECT movieId FROM links)");
    while ($row = mysqli_fetch_assoc($sqlresult)) {
        if ($reason = trySkipMovie($row)) {
            $logger->info($row['title'] . ": {$reason}");
            $res = addMovie($row);
            if ($res !== 0) {
                $logger->warning($res);
            }
            //$logger->info(print_r($row, true));
        }
    }
}
Example #2
0
function addMovie(&$movie, $force = false)
{
    global $logger;
    if (!$movie) {
        return "illegal argument";
    }
    if (!$force && trySkipMovie($movie) === 0) {
        return 0;
    }
    $row = false;
    $idTypes = array("kpid", "imdbid");
    foreach ($idTypes as $idName) {
        if (array_key_exists($idName, $movie) && $movie[$idName]) {
            $id = mysqli_real_escape_string($GLOBALS['mysqli'], $movie[$idName]);
            $sqlresult = mysqli_query($GLOBALS['mysqli'], "SELECT * FROM movies WHERE {$idName}='{$id}'");
            if (mysqli_errno($GLOBALS['mysqli'])) {
                $logger->error(mysqli_error($GLOBALS['mysqli']));
            }
            if (mysqli_num_rows($sqlresult)) {
                $row = mysqli_fetch_assoc($sqlresult);
                break;
            }
        }
    }
    if (!$row) {
        $row['description'] = "";
    }
    $movie['description'] = json_decode($row['description'], true);
    if (!$movie['description']) {
        $movie['description'] = array();
    }
    $q = "UPDATE movies SET updated=now()";
    if (!(array_key_exists("kpid", $movie) && $movie['kpid']) && is_array($movie['description']) && array_key_exists("kinopoiskId", $movie['description'])) {
        $movie['kpid'] = $movie['description']['kinopoiskId'];
    }
    if (array_key_exists("imdbid", $movie) && $movie['imdbid']) {
        $q .= ", imdbid='{$movie['imdbid']}'";
        getIMDBDesc($movie['imdbid'], $movie['description']);
    }
    if (array_key_exists("kpid", $movie) && $movie['kpid']) {
        $q .= ", kpid='{$movie['kpid']}'";
        getKinopoiskDesc($movie['kpid'], $movie['description']);
    }
    $title = false;
    if (is_array($movie['description']) && array_key_exists('Title', $movie['description'])) {
        $title = $movie['description']['Title'];
    }
    if (is_array($movie['description']) && array_key_exists('titleRu', $movie['description'])) {
        $title = $movie['description']['titleRu'];
    }
    $description = mysqli_real_escape_string($GLOBALS['mysqli'], json_encode($movie['description'], JSON_UNESCAPED_UNICODE));
    if ($title && $description && array_key_exists("Released", $movie['description']) && array_key_exists("Year", $movie['description'])) {
        if (!array_key_exists('id', $row)) {
            mysqli_query($GLOBALS['mysqli'], "INSERT INTO movies(id) VALUES(NULL)");
            $row['id'] = $GLOBALS['mysqli']->insert_id;
        }
        $id = $row['id'];
        $movie['id'] = $id;
        $search = generateSearchTags($movie['description']);
        $search = mysqli_real_escape_string($GLOBALS['mysqli'], $search);
        $q .= ", title='{$title}', description='{$description}', search='{$search}'";
        mysqli_query($GLOBALS['mysqli'], "{$q} WHERE id={$id}");
        if (mysqli_errno($GLOBALS['mysqli'])) {
            $logger->error(mysqli_error($GLOBALS['mysqli']));
        }
        return 0;
    }
    return "title, description, released or year not found";
}