-
Notifications
You must be signed in to change notification settings - Fork 16
/
SoundCinema.php
92 lines (78 loc) · 4.01 KB
/
SoundCinema.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/**
* Сценарий для Majordomo
* Голосовые команды и озвучивание расписания фильмов в кинотеатрах planetakino.ua
* @author Alex Sokolov <admin@gelezako.com>
* @copyright Alex Sokolov http://blog.gelezako.com (c)
* @version 0.1 ([Mar 03, 2017])
**/
// $params['date-time'] (ex 'сегодня');
// $params['date'] (ex '2017-03-06');
// $params['films'] (ex 'imax');
// $params['time-period'] (ex 'днём, вечером, утром');
// $params['time']
//узнаём дату
if($params['date']!='')$date1=$params['date'];
//else if($params['date-time']=="сегодня") $date1=date("Y-m-d");
//else if($params['date-time']=="завтра") $date1=date("Y-m-d", strtotime("+1 day"));
//else if($params['date-time']=="послезавтра") $date1=date("Y-m-d", strtotime("+2 day"));
//узнаём часовой диапазон дня
//$time[0] - начало периода, $time[1] - конец периода
if($params['time']!='') {$time[0]=$params['time']; $time[1]="23:59:59";}
else $time[0]='';
if($params['time-period']!='') $time = explode('/', $params['time-period']);
else $time[0]='';
if($time[0]=='00:00:00')$time[1]="00:00:01";
if($time[1]=='00:00:00')$time[1]="23:59:59";
//узнаём технологию фильма, 2d и 3d приходят изначально в правильном формате
$technology2='';
if($params['films']=='4dx') $technology2='4dx-3d';
else if($params['films']=='imax') {$technology2='imax-3d';}
else if($params['films']=='Cinetech+3D') {$technology2='4dx-3d';}
$url=gg('City.URL');
$data = simplexml_load_file($url);
if(!empty($data)){
$films= array();//массив для названий фильмов
foreach ($data->showtimes->day as $day){ //ищем все дни проката
if($day['date']==$date1){ // находим наш день
foreach ($day->show as $show){
//находим нашу технологию
if(date_format(date_create_from_format('Y-m-d H:i:s',$show['full-date']),'Y-m-d')==$date1
and $show['technology']==$params['films']
or $show['technology']==$technology2){
foreach ($data->movies->movie as $movie) {
//находим название фильма в диапазоне времени если он задан
if((string)$movie['id']==(string)$show['movie-id'] and $time[0]=='')
$films[] = "razd".$movie->title.". ";
else if((string)$movie['id']==(string)$show['movie-id'] and $time[0]!='' and strtotime($show['time'])>=strtotime($time[0]) and strtotime($show['time'])<=strtotime($time[1])){
$films[] = "razd".$movie->title.". ";
}
}
}
}
}
}
if(!empty($films)){
say("Вот что я нашла в прокате",2);
$st = implode(",", array_unique($films));
$st = str_replace('і', 'и', $st);
$st = str_replace('І', 'И', $st);
$st = str_replace('ґ', 'г', $st);
$st = str_replace("'", 'ь', $st);
$st = str_replace('е', 'э', $st);
$st = str_replace('є', 'е', $st);
$st = str_replace('(16+)', '', $st);
$st = str_replace('(0+)', '', $st);
$st = str_replace('(12+)', '', $st);
$st = str_replace('мовою оригиналу', 'без перевода', $st);
$st = str_replace('Фыльм', 'Фильм', $st);
$f = explode("razd", $st);
$i = 1;
for ($i = 1; $i < count($f); $i++) {
say($f[$i],2);
sleep(2);
}
}
else if($params['films']!='' and $params['date']!='')
say("Уже нет фильмов на эту дату. Возможно идут фильмы в других залах, к примеру в 2D.",2);
}
else say("Я не смогла загрузить данные",2);