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
2018-04-09 22:56:51 +02:00

166 lines
4.1 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Paper\CinemaCinemaCity;
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()
{
$cinemacity = new CinemaCinemaCity();
$cinemacity->setCinemaId(1010912);
$cinemacity->setDay(date('Y-m-d'));
$repertuarText = $cinemacity->convertToPrint();
$this->main->sendPrint('', $repertuarText, $this->icon);
return back();
}
public function tomorrow_cinemacity()
{
$cinemacity = new CinemaCinemaCity();
$cinemacity->setCinemaId(1010912);
$cinemacity->setDay(date_create()->modify('+1 day')->format('Y-m-d'));
$repertuarText = $cinemacity->convertToPrint();
$this->main->sendPrint('', $repertuarText, $this->icon);
return back();
}
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;
}
}