This repository has been archived on 2019-03-01. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
paper-pi/app/Http/Controllers/Repertoire.php

199 lines
5.4 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Paper\CinemaHelios;
use App\Paper\CinemaMultikino;
use DiDom\Document;
use App\Paper\Paper;
class Repertoire extends Controller
{
private $main;
private $icon = 'film';
public function __construct()
{
$this->main = new Paper();
}
public function today_cinemacity()
{
$date = date('d/m/Y');
$repertuarText = $this->cinemacityRepertuar($date);
// $this->main->sendPrint('', $repertuarText, $this->icon, $this->icon);
return back();
}
public function tomorrow_cinemacity()
{
$date = new \DateTime();
$date->modify('+1 day');
$repertuarText = $this->cinemacityRepertuar($date->format('d/m/Y'));
// $this->main->sendPrint('', $repertuarText, $this->icon, $this->icon);
return back();
}
public function cinemacityRepertuar($date)
{
$url = 'https://www.cinema-city.pl/scheduleInfo?locationId=1010308&date=' . $date . '&venueTypeId=0&hideSite=false&openedFromPopup=1';
$document = new Document($url, true);
$text = "Repertuar Cinema-City\n";
$text .= str_replace('/', '-', $date) . "\n\n";
$movies = $document->find('table tbody tr');
foreach ($movies as $movie) {
// dump($movie);
$text .= $movie->find('.featureLink')[0]->text() . "\n";
$hours = [];
foreach ($movie->find('.prsnt a') as $projection) {
$hours[] = trim($projection->text());
}
$text .= implode(', ', $hours) . "\n\n";
}
return $text;
}
// private function multikinoRepertuar($date)
// {
//
// $text = '';
// $repertuar = json_decode(file_get_contents('https://multikino.pl/pl/repertoire/cinema/seances?id=4&from=' . $date));
// $text .= "Repertuar Multikino Gdańsk\n";
// $text .= $date . "\n\n";
//
// foreach ($repertuar->results as $movie) {
// $text .= $movie->title . "\n";
// $text .= $movie->print_version . "\n";
//
// $hours = [];
// foreach ($movie->seances as $seans) {
// $hours[] = date('H:i', strtotime($seans->beginning_date));
// }
// $text .= implode(', ', $hours) . "\n\n";
// }
//
// return $text;
// }
public function today_multikino()
{
$multikino = new CinemaMultikino();
$multikino->setCinemaId(4);
$multikino->setDay(date('Y-m-d'));
$repertuarText = $multikino->convertToPrint();
$this->main->sendPrint('', $repertuarText, $this->icon);
return back();
}
public function tomorrow_multikino()
{
$multikino = new CinemaMultikino();
$multikino->setDay(date_create()->modify('+1 day')->format('Y-m-d'));
$multikino->setCinemaId(4);
$repertuarText = $multikino->convertToPrint();
$this->main->sendPrint('', $repertuarText, $this->icon);
return back();
}
public function tomorrow_gdynskiecentrumfilmowe()
{
$date = new \DateTime();
$date->modify('+1 day');
$repertuarText = $this->gdynskieCentrumFilmowe($date->format('d_m_Y'));
// $this->main->sendPrint('', $repertuarText, $this->icon);
return back();
}
public function today_gdynskiecentrumfilmowe()
{
$date = date('d_m_Y');
$repertuarText = $this->gdynskieCentrumFilmowe($date);
$this->main->sendPrint('', $repertuarText, $this->icon);
return back();
}
public function today_helios()
{
$helios = new CinemaHelios();
$helios->setDay(0);
$helios->setCinemaId([2, 49]);
$helios->convertToPrint();
$repertuarText = $helios->convertToPrint();
$this->main->sendPrint('', $repertuarText, $this->icon);
return back();
}
public function tomorrow_helios()
{
$helios = new CinemaHelios();
$helios->setDay(1);
$helios->setCinemaId([2, 49]);
$helios->convertToPrint();
$repertuarText = $helios->convertToPrint();
$this->main->sendPrint('', $repertuarText, $this->icon);
return back();
}
public function today_repertoire()
{
$this->today_multikino();
$this->today_cinemacity();
$this->today_helios();
$this->today_gdynskiecentrumfilmowe();
}
public function tomorrow_repertoire()
{
$this->tomorrow_multikino();
$this->tomorrow_cinemacity();
$this->tomorrow_helios();
$this->tomorrow_gdynskiecentrumfilmowe();
}
private function gdynskieCentrumFilmowe($date)
{
$url = 'http://www.gdynskiecentrumfilmowe.pl/kino_studyjne/repertuar/,' . strtotime($date) . ',_' . $date . '.html';
$document = new Document($url, true);
$text = '';
$text .= "Repertuar Gdyńskie Centrum Filmowe\n";
$text .= str_replace('_', '-', $date) . "\n\n";
$movies = $document->find('.articles .article-item');
foreach ($movies as $movie) {
$text .= $movie->find('.item-title-int')[0]->text() . "\n";
$hours = [];
foreach ($movie->find('.projection span') as $projection) {
$hours[] = $projection->innerHtml();
}
$text .= implode(', ', array_unique($hours)) . "\n\n";
}
return $text;
}
}