74 lines
2.2 KiB
PHP
74 lines
2.2 KiB
PHP
<?php
|
|
|
|
namespace App\Paper;
|
|
|
|
|
|
use App\Paper\Interfaces\Cinema;
|
|
|
|
class CinemaMultikino implements Cinema
|
|
{
|
|
|
|
|
|
function fetchRepertorire($day, $cinemaId = null)
|
|
{
|
|
$moviePath = 'https://multikino.pl/data/filmswithshowings/' . $cinemaId;
|
|
$movieContent = file_get_contents($moviePath);
|
|
$movieJson = json_decode($movieContent, 0);
|
|
return $movieJson;
|
|
}
|
|
|
|
function parseRepertoire($day, $cinemaId = null)
|
|
{
|
|
$movieJson = $this->fetchRepertorire($day, $cinemaId);
|
|
|
|
$filmy = [];
|
|
foreach ($movieJson->films as $movie) {
|
|
$film = [];
|
|
$film['id'] = $movie->id;
|
|
$film['title'] = $movie->title;
|
|
$film['times'] = [];
|
|
$film['date'] = $day;
|
|
$film['runningtime'] = $movie->info_runningtime;
|
|
$film['genres'] = [];
|
|
$film['synopsis_short'] = str_replace(["\r\n", " "], [" "], $movie->synopsis_short);
|
|
if ($movie->original_s_count > 0 && $movie->show_showings) {
|
|
foreach ($movie->showings as $shoving) {
|
|
if ($shoving->date_time == $day) {
|
|
foreach ($shoving->times as $time) {
|
|
$film['times'][] = $time->time . " " . $time->screen_type;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
foreach ($movie->genres->names as $genre) {
|
|
$film['genres'][] = $genre->name;
|
|
}
|
|
|
|
if (count($film['times'])) {
|
|
$filmy[] = $film;
|
|
}
|
|
}
|
|
return $filmy;
|
|
}
|
|
|
|
function convertToPrint($day, $cinemaId = null)
|
|
{
|
|
$filmy = $this->parseRepertoire($day, $cinemaId);
|
|
|
|
$text = '';
|
|
$text .= "Repertuar Multikino Gdańsk\n";
|
|
$text .= $day . "\n\n";
|
|
|
|
foreach ($filmy as $movie) {
|
|
$text .= $movie['title']. "\n";
|
|
$text .= '('.$movie['runningtime']. ")\n";
|
|
$text .= implode(', ', $movie['genres']) . "\n\n";
|
|
$text .= $movie['synopsis_short'] . "\n\n";
|
|
|
|
$text .= implode(', ', $movie['times']) . "\n";
|
|
$text .= "--------------------------------\n\n";
|
|
}
|
|
return $text;
|
|
}
|
|
} |