<?php
defined('TRAM_NTAGIL') or die('Invalid URL');
$route = (!empty($_PAGES[2])) ? $_PAGES[2] : false;
$type = (!empty($_PAGES[3])) ? $_PAGES[3] : false;
$dir = (!empty($_PAGES[4])) ? $_PAGES[4] : false;
$schedule_types = array(
'wd' => array('title' => 'будни', 'url' => 'working'),
'wd1' => array('title' => 'пн — чт', 'url' => 'mon-thu'),
'wd2' => array('title' => 'пятница', 'url' => 'fri'),
'do' => array('title' => 'выходные', 'url' => 'day-off'),
);
$routes_list = array(
'1-8' => array(
'title' => 'Маршруты <strong>1</strong> и <strong>8</strong>',
'types' => array('wd', 'do'),
'dirs' => array('from-uvz' => 'УВЗ — Островского/Приречный р-н', 'to-uvz' => 'Островского/Приречный р-н — УВЗ'),
'parser' => '1-8'),
'3' => array(
'title' => 'Маршрут <strong>3</strong>',
'types' => array('wd', 'do'),
'dirs' => array('inner' => 'Островского — Кр. Камень — Выя — Островского', 'outer' => 'Островского — Выя — Кр. Камень — Островского'),
'parser' => '3'),
'4a' => array(
'title' => 'Маршрут <strong>4А</strong>',
'types' => array('wd', 'do'),
'dirs' => array('from-ts' => 'Тагилстрой — Приречный р-н', 'to-ts' => 'Приречный р-н — Тагилстрой'),
'parser' => 'common'),
'5' => array(
'title' => 'Маршрут <strong>5</strong>',
'types' => array('wd1', 'wd2'),
'dirs' => array('to-ts' => 'ГГМ — Тагилстрой', 'from-ts' => 'Тагилстрой — ГГМ'),
'parser' => 'common'),
'6' => array(
'title' => 'Маршрут <strong>6</strong>',
'types' => array('wd', 'do'),
'dirs' => array('from-uvz' => 'УВЗ — Пос. Северный', 'to-uvz' => 'Пос. Северный — УВЗ'),
'parser' => 'common'),
'10' => array(
'title' => 'Маршрут <strong>10</strong>',
'types' => array('wd', 'do'),
'dirs' => array('from-uvz' => 'УВЗ — Пихтовые Горы', 'to-uvz' => 'Пихтовые Горы — УВЗ'),
'parser' => 'common'),
'11' => array(
'title' => 'Маршрут <strong>11</strong>',
'types' => array('wd'),
'dirs' => array('to-sev' => 'Пихтовые Горы — Пос. Северный', 'from-sev' => 'Пос. Северный — Пихтовые Горы'),
'parser' => 'common'),
'12' => array(
'title' => 'Маршрут <strong>12</strong>',
'types' => array('wd', 'do'),
'dirs' => array('from-ostr' => 'Островского — Пихтовые Горы', 'to-ostr' => 'Пихтовые Горы — Островского'),
'parser' => 'common'),
'15' => array(
'title' => 'Маршрут <strong>15</strong>',
'types' => array('wd', 'do'),
'dirs' => array('to-ggm' => 'Н. Кушва — ГГМ', 'from-ggm' => 'ГГМ — Н. Кушва'),
'parser' => 'common'),
'17' => array('title' => 'Маршрут <strong>17</strong>',
'types' => array('wd'),
'dirs' => array('from-uvz' => 'УВЗ — ГГМ', 'to-uvz' => 'ГГМ — УВЗ'),
'parser' => 'common'),
);
$schedule_types_by_url = array();
foreach ($schedule_types as $k => $v)
{
$schedule_types_by_url[$v['url']] = $k;
}
if ($route)
{
if (array_key_exists($route, $routes_list))
{
if (!$type && count($routes_list[$route]['types']) > 1)
{
$routes_list = array($route => $routes_list[$route]);
$page->assign('show_all_list', true);
$page->assign('error_msg', 'У выбранного маршрута несколько расписаний в зависимости от дня недели. Выберите нужное расписание.');
}
else if ($type && !in_array($schedule_types_by_url[$type], $routes_list[$route]['types']))
{
$routes_list = array($route => $routes_list[$route]);
$page->assign('show_all_list', true);
$page->assign('error_msg', 'Неверно указан день недели для выбранного маршрута. Выберите нужный день из списка.');
}
else
{
if (!$type)
{
$type = $routes_list[$route]['types'][0];
}
else
{
$type = $schedule_types_by_url[$type];
}
$csv_file = 'schedule-csv/' . $route . $type . '.csv';
$parser_file = 'pages/schedule-parsers/' . $routes_list[$route]['parser'] . '.php';
if (!file_exists($csv_file))
{
$page->assign('text', 'Для выбранного маршрута не найдено файла с данными расписания. Пожалуйста, <a href="./questions/">сообщите нам об этом</a>, указав номер маршрута, направление и выбранный день недели.');
$page->assign('page_file', 'text');
$page->display_tpl();
return;
}
if (!file_exists($parser_file))
{
$page->assign('text', 'Для выбранного маршрута не найдено обработчика CSV-файла с расписанием. Пожалуйста, <a href="./questions/">сообщите нам об этом</a>, указав номер маршрута.');
$page->assign('page_file', 'text');
$page->display_tpl();
return;
}
require $parser_file;
return;
}
}
else
{
$page->assign('error_msg', 'Указан неверный маршрут. Выберите маршрут, направление и день из списка.');
}
}
$page->add_css_files('schedule');
$page->assign('routes_list', $routes_list);
$page->assign('schedule_types', $schedule_types);
$page->assign('page_file', 'schedule-list');
$page->display_tpl();
/*
$page->assign('page_file', 'text');
$page->assign('text', '<p>В данный момент ведутся работы по обработке расписания</p>');
$page->display_tpl();
*/
?>