+ Error on line 371
if ($data['parent']->is_premium == 1) {
<?php
Doo::loadController('public/PublicController');
class TourController extends PublicController {
const ENTITY = 'Tour';
const ENTITY_TABLE = 'tour';
const CATEGORY = 'TourCategory';
const CATEGORY_TABLE = 'tour_category';
private function updateTours($model) {
$entity = Doo::loadModel($model, true);
$tours = $this->db()->find($entity);
foreach($tours as $tour) {
if ($tour->price_discount == 0) {
$tour->price_discount = $tour->price;
Doo::loadModel($model, true);
$this->db()->update($tour);
}
}
}
public function tourList() {
$data['translator'] = $this->translator();
$data['tour-page'] = 'tour';
$data['parent_category_id'] = $this->params['id'];
$data['parent_category_name'] = $this->params['name'];
$data['parent_category_title'] = 'Туры';
$data['country_selected'] = false;
$data['city_selected'] = false;
$data['country_id'] = '';
$data['city_id'] = '';
$data['country'] = '';
$data['city'] = '';
// Parent Category
$parent = Doo::loadModel('TourCategory', true);
$parent->id = $this->params['id'];
$parent->status = 1;
$data['parent'] = $this->db()->find($parent, array('limit' => 1));
// Country List
Doo::loadModel('PlaceCategory');
$sql = ' SELECT place_category.* ' .
' FROM place_category' .
' JOIN tour_country ON tour_country.country_id = place_category.id' .
' JOIN tour ON tour.id = tour_country.tour_id ' .
' WHERE deep = 2' .
' AND place_category.parent_id = ' . (int)$this->params['id'] .
' AND tour.status = 1 ' .
' AND place_category.status = 1 ' .
' GROUP BY title' .
' ORDER BY title';
$data['country-list'] = $this->db()->fetchAll($sql, null, PDO::FETCH_CLASS, 'PlaceCategory');
$countryIds = array();
if (!empty($data['country-list'])) {
foreach ($data['country-list'] as $country) {
array_push($countryIds, $country->id);
}
}
if (!empty($this->params['filter'])) {
$data['tour-page'] = 'place';
$filter = explode('_', $this->params['filter']);
$joinCountry = '';
$joinCity = '';
$typeCountry = '';
$typeCity = '';
if (count($filter) > 1) {
$data['country_selected'] = true;
$data['city_selected'] = true;
$joinCity = ' JOIN tour_city AS tc ON t.id = tc.tour_id ';
$typeCity = ' AND tc.city_id = ' . $filter[1];
// Load Category Data
$category = Doo::loadModel('Place', true);
$category->id = $filter[1];
$data['country_id'] = $filter[0];
$data['city_id'] = $filter[1];
// Type List
Doo::loadModel('TourCategory');
$sql = 'SELECT cat.* ' .
'FROM tour AS t ' .
'JOIN tour_city AS tc ON t.id = tc.tour_id ' .
'JOIN tour_category AS cat ON t.category_id = cat.id ' .
'WHERE tc.city_id = ' . $category->id . ' ' .
'AND t.status = 1 ' .
'GROUP BY cat.title';
$data['type-list'] = $this->db()->fetchAll($sql, null, PDO::FETCH_CLASS, 'TourCategory');
} else {
$data['country_selected'] = true;
$data['city_selected'] = false;
$joinCountry = ' JOIN tour_country AS tc ON t.id = tc.tour_id ';
$typeCountry = ' AND tc.country_id = ' . $filter[0];
// Load Category Data
$category = Doo::loadModel('PlaceCategory', true);
$category->id = $filter[0];
$data['country_id'] = $filter[0];
$data['city_id'] = '';
// Type List
Doo::loadModel('TourCategory');
$sql = 'SELECT cat.* ' .
'FROM tour AS t ' .
'JOIN tour_country AS tc ON t.id = tc.tour_id ' .
'JOIN tour_category AS cat ON t.category_id = cat.id ' .
'WHERE tc.country_id = ' . $category->id . ' ' .
'AND t.status = 1 ' .
'GROUP BY cat.title';
$data['type-list'] = $this->db()->fetchAll($sql, null, PDO::FETCH_CLASS, 'TourCategory');
// Next country
$data['next-country'] = '';
// Previous country
$data['prev-country'] = '';
}
// City List
$where = ' AND category_id = ' . $filter[0];
Doo::loadModel('Place', true);
$sql = ' SELECT place.*' .
' FROM place ' .
' JOIN tour_city ON tour_city.city_id = place.id ' .
' WHERE place.status = 1 AND place.lang = "' . $_SESSION['language'] . '" ' .
$where .
' GROUP BY title ' .
' ORDER BY title' ;
$data['city-list'] = $this->db()->fetchAll($sql, null, PDO::FETCH_CLASS, 'Place');
// Load Tours
Doo::loadModel('Tour');
$sql = ' SELECT t.id, t.name, t.title, t.info, t.img, t.price, t.price_discount, t.currency, t.route, t.level, t.category_id, t.special, ' .
' td.january, td.february, td.march, td.april, td.may, td.june, ' .
' td.july, td.august, td.september, td.october, td.november, td.december, td.tour_id' .
' FROM tour AS t ' .
$joinCountry .
$joinCity .
' JOIN tour_date AS td ON t.id = td.tour_id ' .
' WHERE t.status = 1 ' .
$typeCountry .
$typeCity .
' AND t.lang = "' . $_SESSION['language'] . '" ' .
' ORDER BY price_discount ASC';
$tourList = $this->db()->fetchAll($sql, null, PDO::FETCH_CLASS, 'Tour');
} else {
$category = Doo::loadModel(self::CATEGORY, true);
if (!empty($this->params['id']) && !empty($this->params['name'])) {
$category->id = (int)$this->params['id'];
} else {
$category->deep = 0;
}
// Type List
Doo::loadModel('TourCategory');
$sql = 'SELECT * ' .
'FROM tour_category ' .
'WHERE parent_id = ' . (int)$this->params['id'] . ' ' .
'AND deep = 2 ' .
'AND items > 0 ' .
'AND status = 1 ' .
'GROUP BY title';
$data['type-list'] = $this->db()->fetchAll($sql, null, PDO::FETCH_CLASS, 'TourCategory');
$typeIds = array();
if (!empty($data['type-list'])) {
foreach ($data['type-list'] as $type) {
array_push($typeIds, $type->id);
}
}
$typeQuery = !empty($data['type-list']) ? ' AND t.category_id IN (' . implode(",", $typeIds) . ') ' : '';
// Load Tours
$tourList = '';
if (!empty($data['type-list'])) {
Doo::loadModel('Tour');
$sql = ' SELECT t.id, t.name, t.title, t.info, t.img, t.price, t.price_discount, t.special, t.currency, t.route, t.level, td.january, td.february, td.march, td.april, td.may, td.june, td.july, td.august, td.september, td.october, td.november, td.december, td.tour_id ' .
' FROM tour AS t ' .
' JOIN tour_date AS td ON t.id = td.tour_id ' .
$typeQuery .
' AND t.lang = "' . $_SESSION['language'] . '" ' .
' AND t.status = 1 ' .
' ORDER BY price_discount ASC';
$tourList = $this->db()->fetchAll($sql, null, PDO::FETCH_CLASS, 'Tour');
}
/*
Загрузить для эксклюзивных туров туры из авиа
Для категории с id 114 загружаем туры из категории с id 117
*/
$premiumCategoryId = 114;
$aviaCategoryId = 117;
if ((int)$this->params['id'] === $premiumCategoryId) {
Doo::loadModel('Tour');
$sql = ' SELECT t.id, t.name, t.title, t.info, t.img, t.price, t.price_discount, t.special, t.currency, t.route, t.level, td.january, td.february, td.march, td.april, td.may, td.june, td.july, td.august, td.september, td.october, td.november, td.december, td.tour_id ' .
' FROM tour AS t ' .
' JOIN tour_date AS td ON t.id = td.tour_id ' .
' AND t.category_id = ' . $aviaCategoryId .
' AND t.lang = "' . $_SESSION['language'] . '" ' .
' AND t.status = 1 ' .
' ORDER BY price_discount ASC';
$tourList = $this->db()->fetchAll($sql, null, PDO::FETCH_CLASS, 'Tour');
}
// TODO: Добавить к списку туров туры с флагом is_personal
// только для раздела "Индивидуальные туры"
// City List
$where = !empty($data['country-list']) ? ' AND category_id IN (' . implode(",", $countryIds) . ')' : '';
if (!empty($data['country-list'])) {
Doo::loadModel('Place', true);
$sql = ' SELECT place.*' .
' FROM place ' .
' JOIN tour_city ON tour_city.city_id = place.id ' .
' WHERE place.status = 1 AND place.lang = "' . $_SESSION['language'] . '" ' .
$where .
' GROUP BY title ' .
' ORDER BY title' ;
$data['city-list'] = $this->db()->fetchAll($sql, null, PDO::FETCH_CLASS, 'Place');
}
}
$category->lang = $_SESSION['language'];
$category->status = 1;
$category = $this->db()->find($category, array('limit' => 1));
if (empty($category)) {
return array('/error', 404);
}
$data['category'] = $category;
// Page
$page = Doo::loadModel('Page', true);
$page->title = $category->title;
$page->title_page = $category->title_page;
$page->img = !empty($category->img) ? $category->img : '';
$page->seo_title = $category->seo_title;
$page->seo_keywords = $category->seo_keywords;
$page->seo_description = $category->seo_description;
$data['page'] = $page;
// Speciality list
$category = Doo::loadModel(self::CATEGORY, true);
$category->lang = $_SESSION['language'];
$category->status = 1;
$category->deep = 1;
$category->is_premium = 0;
$data['category-list'] = $this->db()->find($category, array('asc' => 'lineage'));
// Currency List
$currency = Doo::loadModel('Currency', true);
$data['currency-list'] = $this->db()->find($currency);
// Main Currency
// EUR by default
$currency = Doo::loadModel('Currency', true);
$currency->title = 'EUR';
$mainCurrency = $this->db()->find($currency, array('limit' => 1));
$dollar = Doo::loadModel('Currency', true);
$dollar->title = 'USD';
$dollar = $this->db()->find($dollar, array('limit' => 1));
$data['dollar-euro'] = round($mainCurrency->rate / $dollar->rate, 3);
// Special Tour List
if (!empty($typeIds)) {
// $rate = ($mainCurrency->rate * Doo::conf()->INCREASE_COEFFICIENT) + $mainCurrency->rate;
$specialList = Doo::loadModel('Tour');
$sql = " SELECT id, name, title, price, price_discount, info, category_id, img " .
" FROM tour " .
" WHERE category_id IN (" . implode(',', $typeIds) . ")" .
" AND lang LIKE '" . $_SESSION['language'] . "' " .
" AND status = 1 " .
" AND special = 1 " .
" ORDER BY rand() limit 3";
$specialTours = $this->db()->fetchAll($sql, null, PDO::FETCH_CLASS, 'Tour');
// Update tours with prices
Doo::loadClass('CurrencyConverter');
foreach ($specialTours as $tour) {
$converter = new CurrencyConverter($tour->price);
$tour->price_byn = $converter->getBYN();
$tour->price_byr = $converter->getBYR();
if ($tour->price_discount < $tour->price) {
$converter2 = new CurrencyConverter($tour->price_discount);
$tour->price2_usd = $converter2->getUSD();
$tour->price2_byn = $converter2->getBYN();
}
}
$data['special-list'] = $specialTours;
}
// Get next 6 months
$nextMonths = array();
$currentMonth = (int)date('n');
$delta = ($currentMonth < 9) ? 12 : $currentMonth + 5;
for ($i = $currentMonth; $i <= $delta; $i++) {
$nextMonths[] = strtolower(date('F', mktime(0, 0, 0, $i, 1)));
}
$monthsEng = array('January','February','March','April','May','June','July','August','September','October','November','December');
$monthsRus = array('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь');
if (!empty($tourList)) {
foreach($tourList as $item) {
$monthList = array();
foreach($nextMonths as $i => $month) {
$n = date('n', strtotime("$month 1 2011"));
if (!empty($item->$month) && $item->$month != '') {
if ($currentMonth < 7 && $n >= $currentMonth) {
$monthList[] = array('month' => str_ireplace($monthsEng, $monthsRus, $month), 'dates' => str_replace('<br/>',', ', $item->$month));
}
if ($currentMonth > 6) {
$monthList[] = array('month' => str_ireplace($monthsEng, $monthsRus, $month), 'dates' => str_replace('<br/>',', ', $item->$month));
}
}
}
$item->dates = $monthList;
}
}
// Update tours with prices
Doo::loadClass('CurrencyConverter');
if (!empty($tourList)) {
foreach ($tourList as $tour) {
$converter = new CurrencyConverter($tour->price);
$tour->price_usd = $converter->getUSD();
$tour->price_byn = $converter->getBYN();
if ($tour->price_discount < $tour->price) {
$converter2 = new CurrencyConverter($tour->price_discount);
$tour->price2_usd = $converter2->getUSD();
$tour->price2_byn = $converter2->getBYN();
}
}
}
$data['tour-list'] = $this->splitToursByPrice($tourList);
$data['disable-transparent'] = false;
$data['transparent-menu'] = true;
if ($data['category']->name == 'all' || !empty($data['special-list'])) {
$data['disable-transparent'] = true;
$data['transparent-menu'] = false;
}
if (
$data['parent']->is_premium == 1) {
$data['menu'] = 'premium';
} else {
$data['menu'] = 'tours';
}
$data['default-currency'] = $mainCurrency->rate;
$this->renderc('public/tour-list', $data);
}
private function splitToursByPrice($list) {
if (empty($list)) return $list;
$requestedTourList = array();
$paidTourList = array();
foreach($list as $tour) {
if ($tour->price == 0) {
array_push($requestedTourList, $tour);
} else {
array_push($paidTourList, $tour);
}
}
return array_merge($paidTourList, $requestedTourList);
}
public function tourFilter() {
if (!empty($_POST)) {
$typeQuery = !empty($_POST['type']) ? ' AND t.category_id = ' . $_POST['type'] : '';
$joinCountry = '';
$joinCity = '';
$typeCountry = '';
$typeCity = '';
if (!empty($_POST['country'])) {
if (!empty($_POST['city'])) {
$joinCity = ' JOIN tour_city AS tc ON t.id = tc.tour_id ';
$typeCity = ' AND tc.city_id = ' . $_POST['city'];
} else {
$joinCountry = ' JOIN tour_country AS tc ON t.id = tc.tour_id ';
$typeCountry = ' AND tc.country_id = ' . $_POST['country'];
}
}
Doo::loadModel('Tour');
$sql = ' SELECT t.id, t.name, t.title, t.info, t.img, t.price, t.price_discount, t.level, t.special, t.currency, t.route, t.category_id,' .
' td.january, td.february, td.march, td.april, td.may, td.june, ' .
' td.july, td.august, td.september, td.october, td.november, td.december, td.tour_id' .
' FROM tour AS t ' .
$joinCountry .
$joinCity .
' JOIN tour_date AS td ON t.id = td.tour_id ' .
' WHERE t.status = 1 ' .
$typeCountry .
$typeCity .
$typeQuery .
' AND t.lang = "' . $_SESSION['language'] . '" ' .
' ORDER BY price_discount ASC';
$tourList = $this->db()->fetchAll($sql, null, PDO::FETCH_CLASS, 'Tour');
// Get tour dates
$nextMonths = array();
$currentMonth = (int)date('n');
$delta = ($currentMonth < 9) ? 12 : $currentMonth + 5;
for ($i = $currentMonth; $i <= $delta; $i++) {
$nextMonths[] = strtolower(date('F', mktime(0, 0, 0, $i, 1)));
}
$monthsEng = array('January','February','March','April','May','June','July','August','September','October','November','December');
$monthsRus = array('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь');
if (!empty($tourList)) {
foreach($tourList as $item) {
$monthList = array();
foreach($nextMonths as $i => $month) {
$n = date('n', strtotime("$month 1 2011"));
if (!empty($item->$month) && $item->$month != '') {
if ($currentMonth < 7 && $n >= $currentMonth) {
$monthList[] = array('month' => str_ireplace($monthsEng, $monthsRus, $month), 'dates' => str_replace('<br/>',', ', $item->$month));
} else if ($currentMonth > 6) {
$monthList[] = array('month' => str_ireplace($monthsEng, $monthsRus, $month), 'dates' => str_replace('<br/>',', ', $item->$month));
}
}
}
$item->dates = $monthList;
}
}
// Update tours with prices
Doo::loadClass('CurrencyConverter');
foreach ($tourList as $tour) {
$converter = new CurrencyConverter($tour->price);
$tour->price_usd = $converter->getUSD();
$tour->price_byn = $converter->getBYN();
if ($tour->price_discount < $tour->price) {
$converter2 = new CurrencyConverter($tour->price_discount);
$tour->price2_usd = $converter2->getUSD();
$tour->price2_byn = $converter2->getBYN();
}
}
$data['tour-list'] = $this->splitToursByPrice($tourList);
$this->renderc('public/tour-filter-list', $data);
}
}
public function tour() {
$data['translator'] = $this->translator();
// Page
$page = Doo::loadModel('Page', true);
// Employee
$tour = null;
if (!empty($this->params['id']) && !empty($this->params['name'])) {
$tour = Doo::loadModel(self::ENTITY, true);
$tour->id = (int)$this->params['id'];
$tour->lang = $_SESSION['language'];
//$tour->status = 1;
$tour = $this->db()->find($tour, array('limit' => 1));
if (empty($tour) || $tour->name != $this->params['name']) {
return array('/error', 404);
}
$page->seo_title = $tour->seo_title;
$page->seo_keywords = $tour->seo_keywords;
$page->seo_description = $tour->seo_description;
}
$data['page'] = $page;
// Update tours with prices
Doo::loadClass('CurrencyConverter');
$converter = new CurrencyConverter($tour->price);
$tour->price_usd = $converter->getUSD();
$tour->price_byn = $converter->getBYN();
if ($tour->price_discount < $tour->price) {
$converter2 = new CurrencyConverter($tour->price_discount);
$tour->price2_usd = $converter2->getUSD();
$tour->price2_byn = $converter2->getBYN();
}
$data['tour'] = $tour;
// Country List
Doo::loadModel('PlaceCategory');
$sql = ' SELECT place_category.* ' .
' FROM place_category' .
' JOIN tour_country ON tour_country.country_id = place_category.id' .
' JOIN tour ON tour.id = tour_country.tour_id ' .
' WHERE deep = 2' .
' AND tour.id = ' . $data['tour']->id .
' AND tour.status = 1 ' .
' AND place_category.status = 1 ' .
' GROUP BY title' .
' ORDER BY title';
$data['country-list'] = $this->db()->fetchAll($sql, null, PDO::FETCH_CLASS, 'PlaceCategory');
// Speciality list
$category = Doo::loadModel(self::CATEGORY, true);
$category->lang = $_SESSION['language'];
$category->status = 1;
$category->deep = 1;
$data['category-list'] = $this->db()->find($category, array('asc' => 'lineage'));
// Selected category
$item = Doo::loadModel(self::CATEGORY, true);
$item->id = $data['tour']->category_id;
$item->lang = $_SESSION['language'];
// $item->status = 1;
$data['category'] = $this->db()->find($item, array('limit' => 1));
// Parent Category
$parent = Doo::loadModel('TourCategory', true);
$parent->id = $data['category']->parent_id;
$parent->status = 1;
$data['parent-category'] = $this->db()->find($parent, array('limit' => 1));
// Image List
$image = Doo::loadModel('TourImage', true);
$image->tour_id = $tour->id;
$image->status = 1;
$data['image-list'] = $this->db()->find($image);
// Linked Tours
Doo::loadModel('Tour');
$sql = " SELECT t.id, t.name, t.title, t.img, t.status, t.price, t.price_discount " .
" FROM tour AS t " .
" JOIN tour_link AS tl ON t.id = tl.tour_link_id " .
" WHERE tl.tour_id = " . $tour->id .
" ORDER BY t.title ASC " .
" LIMIT 3";
$linkedTours = $this->db()->fetchAll($sql, null, PDO::FETCH_CLASS, 'Tour');
// Update tours with prices
Doo::loadClass('CurrencyConverter');
foreach ($linkedTours as $linkedTour) {
$converter = new CurrencyConverter($linkedTour->price);
$linkedTour->price_byn = $converter->getBYN();
$linkedTour->price_byr = $converter->getBYR();
if ($linkedTour->price_discount < $linkedTour->price) {
$converter2 = new CurrencyConverter($linkedTour->price_discount);
$linkedTour->price2_usd = $converter2->getUSD();
$linkedTour->price2_byn = $converter2->getBYN();
}
}
$data['linked-tours'] = $linkedTours;
// Tour Date List
$date = Doo::loadModel('TourDate', true);
$date->tour_id = $tour->id;
$dateData = $date->db()->find($date, array('limit' => 1));
// Tour dates
$nextMonths = array();
$currentMonth = (int)date('n');
$delta = $currentMonth + 11;
for ($i = $currentMonth; $i <= $delta; $i++) {
$nextMonths[] = strtolower(date('F', mktime(0, 0, 0, $i, 1)));
}
$monthsEng = array('January','February','March','April','May','June','July','August','September','October','November','December');
$monthsRus = array('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь');
$resultArr = array();
foreach($nextMonths as $i => $month) {
$n = date('n', strtotime("$month 1 2011"));
if (!empty($dateData->$month) && $dateData->$month != '') {
$resultArr[] = array('month' => str_ireplace($monthsEng, $monthsRus, $month), 'dates' => str_replace('<br/>',', ', $dateData->$month));
}
}
// Tour Reviews
Doo::loadModel('Review');
$sql = " SELECT r.* " .
" FROM review AS r " .
" JOIN tour_review AS tr ON tr.review_id = r.id " .
" WHERE tr.tour_id = " . $data['tour']->id .
" AND r.status = 1 " .
" ORDER BY r.created DESC " .
" LIMIT 3";
$data['reviews'] = $this->db()->fetchAll($sql, null, PDO::FETCH_CLASS, 'Review');
$data['show-date-list'] = !empty($resultArr);
$data['tour-dates'] = $resultArr;
$data['menu'] = 'tours';
$data['transparent-menu'] = false;
$data['disable-transparent'] = true;
$this->renderc('public/tour', $data);
}
function newYearTours() {
$data['translator'] = $this->translator();
// Page
$page = Doo::loadModel('Page', true);
$page->name = 'new-year-tours';
$page->lang = $_SESSION['language'];
$page->status = 1;
$data['page'] = $this->db()->find($page, array('limit' => 1));
// Load tours
Doo::loadModel('Tour');
$sql = ' SELECT t.id, t.name, t.title, t.info, t.img, t.price, t.price_discount, t.level, t.special, t.currency, t.route, t.category_id,' .
' td.january, td.february, td.march, td.april, td.may, td.june, ' .
' td.july, td.august, td.september, td.october, td.november, td.december, td.tour_id' .
' FROM tour AS t ' .
' JOIN tour_date AS td ON t.id = td.tour_id ' .
' WHERE t.status = 1 ' .
' AND t.category_id IN (17, 21) ' .
' AND t.lang = "' . $_SESSION['language'] . '" ' .
' ORDER BY price_discount ASC';
$tourList = $this->db()->fetchAll($sql, null, PDO::FETCH_CLASS, 'Tour');
// Get tour dates
$nextMonths = array();
$currentMonth = (int)date('n');
$delta = ($currentMonth < 9) ? 12 : $currentMonth + 5;
for ($i = $currentMonth; $i <= $delta; $i++) {
$nextMonths[] = strtolower(date('F', mktime(0, 0, 0, $i, 1)));
}
$monthsEng = array('January','February','March','April','May','June','July','August','September','October','November','December');
$monthsRus = array('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь');
if (!empty($tourList)) {
foreach($tourList as $item) {
$monthList = array();
foreach($nextMonths as $i => $month) {
$n = date('n', strtotime("$month 1 2011"));
if (!empty($item->$month) && $item->$month != '') {
if ($currentMonth < 7 && $n >= $currentMonth) {
$monthList[] = array('month' => str_ireplace($monthsEng, $monthsRus, $month), 'dates' => str_replace('<br/>',', ', $item->$month));
} else if ($currentMonth > 6) {
$monthList[] = array('month' => str_ireplace($monthsEng, $monthsRus, $month), 'dates' => str_replace('<br/>',', ', $item->$month));
}
}
}
$item->dates = $monthList;
}
}
// Update tours with prices
Doo::loadClass('CurrencyConverter');
foreach ($tourList as $tour) {
$converter = new CurrencyConverter($tour->price);
$tour->price_usd = $converter->getUSD();
$tour->price_byn = $converter->getBYN();
if ($tour->price_discount < $tour->price) {
$converter2 = new CurrencyConverter($tour->price_discount);
$tour->price2_usd = $converter2->getUSD();
$tour->price2_byn = $converter2->getBYN();
}
}
$data['tour-list'] = $this->splitToursByPrice($tourList);
// Currency List
$currency = Doo::loadModel('Currency', true);
$data['currency-list'] = $this->db()->find($currency);
// Main Currency
// EUR by default
$currency = Doo::loadModel('Currency', true);
$currency->title = 'EUR';
$mainCurrency = $this->db()->find($currency, array('limit' => 1));
$dollar = Doo::loadModel('Currency', true);
$dollar->title = 'USD';
$dollar = $this->db()->find($dollar, array('limit' => 1));
$data['dollar-euro'] = round($mainCurrency->rate / $dollar->rate, 3);
$data['default-currency'] = $mainCurrency->rate;
$data['transparent-menu'] = true;
$data['disable-transparent'] = false;
$this->renderc('public/new-year-tours', $data);
}
}
?>
* Stack Trace...
- /home/user2057277/www/trawor.by/index.php(37) calling run()
- /home/user2057277/www/trawor.by/dooframework/app/DooWebApp.php(34) calling routeTo()
- /home/user2057277/www/trawor.by/dooframework/app/DooWebApp.php(114) calling tourList()
object(DooConfig)#1 (37) {
["AUTOLOAD"] => NULL
["SITE_PATH"] => string(32) "/home/user2057277/www/trawor.by/"
["PROTECTED_FOLDER"] => string(10) "protected/"
["BASE_PATH"] => string(45) "/home/user2057277/www/trawor.by/dooframework/"
["LOG_PATH"] => NULL
["APP_URL"] => string(18) "https://trawor.by/"
["SUBFOLDER"] => string(1) "/"
["APP_MODE"] => string(4) "prod"
["AUTOROUTE"] => bool(false)
["DEBUG_ENABLED"] => bool(true)
["ERROR_404_DOCUMENT"] => NULL
["ERROR_404_ROUTE"] => string(6) "/error"
["CACHE_PATH"] => NULL
["AUTO_VIEW_RENDER_PATH"] => string(28) "/tour/list/:id/:name/:filter"
["MEMCACHE"] => NULL
["TEMPLATE_ENGINE"] => string(7) "DooView"
["TEMPLATE_SHOW_COMMENT"] => NULL
["TEMPLATE_ALLOW_PHP"] => NULL
["TEMPLATE_COMPILE_ALWAYS"] => NULL
["TEMPLATE_GLOBAL_TAGS"] => NULL
["MODULES"] => NULL
["APP_NAMESPACE_ID"] => NULL
["VERSION"] => string(5) "3.1.1"
["PROJECT_TITLE"] => string(6) "Trawor"
["ADMIN_EMAIL"] => string(14) "info@trawor.by"
["ADMIN_NAME"] => string(14) "Команда"
["LANGUAGE"] => string(2) "ru"
["HOST_LANGUAGE"] => array(2) {
["localhost"] => string(2) "ru"
["domain"] => string(8) "language"
}
["COOKIE_EXPIRE"] => int(1736435362)
["IMAGE_TYPE"] => string(3) "jpg"
["IMAGE_QUALITY"] => int(80)
["IMAGE_SIZE"] => array(3) {
["small"] => int(200)
["medium"] => int(800)
["large"] => int(1600)
}
["NOT_AUTH"] => string(15) "/not-authorized"
["PROFILE_HOMEPAGE"] => string(8) "/profile"
["INCREASE_COEFFICIENT"] => float(0.02)
["sessionCacheType"] => string(3) "apc"
["VIAMARIS_UID"] => string(11) "8D8dd6Gzy5s"
}
$_SESSION Variables
array(2) {
["language"] => string(2) "ru"
["contact"] => string(1097) "O:7:"Contact":20:{s:2:"id";s:1:"1";s:4:"name";s:8:"contacts";s:5:"title";s:29:"Контакты - Минск";s:11:"description";s:25:"Наши контакты";s:5:"phone";s:17:"+375 44 733-90-90";s:3:"fax";s:0:"";s:6:"mobile";s:17:"+375 29 733-90-90";s:8:"schedule";s:88:"Пн.- Пт. : 10.00-19.00 (прием по предварительной записи)";s:5:"skype";s:10:"trawor.int";s:5:"email";s:14:"info@trawor.by";s:7:"country";s:37:"Республика Беларусь";s:4:"city";s:10:"Минск";s:7:"address";s:77:"пр-т. Независимости 49, Олимп, офис 420 (4 этаж)";s:6:"coords";s:20:"53.917061, 27.584855";s:7:"updated";s:10:"1715796719";s:4:"lang";s:2:"ru";s:6:"status";s:1:"1";s:6:"_table";s:7:"contact";s:11:"_primarykey";s:2:"id";s:7:"_fields";a:17:{i:0;s:2:"id";i:1;s:4:"name";i:2;s:5:"title";i:3;s:11:"description";i:4;s:5:"phone";i:5;s:3:"fax";i:6;s:6:"mobile";i:7;s:8:"schedule";i:8;s:5:"skype";i:9;s:5:"email";i:10;s:7:"country";i:11;s:4:"city";i:12;s:7:"address";i:13;s:6:"coords";i:14;s:7:"updated";i:15;s:4:"lang";i:16;s:6:"status";}}"
}
$_COOKIE Variables
array(0) {
}