}
$menuId = $session->get('menuId');
if (!empty($appSettings->menu_id) && ($menuId == $menu->getDefault() || empty($menuId))) {
    $menuId = $appSettings->menu_id;
}
if (!empty($menuId)) {
    JFactory::getApplication()->getMenu()->setActive($menuId);
}
$task = JRequest::getCmd('task');
$task = trim($task);
$view = JRequest::getCmd('view');
$view = trim($view);
if (empty($task) && empty($view)) {
    return;
}
//$log = Logger::getInstance(JPATH_COMPONENT."/logs/site-log-".date("d-m-Y").'.log',1);
//$log->LogDebug("-------Start execution--------task: ".$task."--------view:".$view);
JHotelUtil::loadSiteLanguage();
JHotelUtil::loadClasses();
if ($task != "hotel.getRoomCalendars" && $task != "hotel.checkReservationPendingPayments") {
    UserDataService::initializeUserData();
}
if (strpos($_SERVER['REQUEST_URI'], "buckarooautomaticresponse")) {
    $task = "paymentoptions.processAutomaticResponse";
    JRequest::setVar('task', $task);
    JRequest::setVar('processor', "buckaroo");
}
//$log->LogDebug($task);
$controller = JControllerLegacy::getInstance('JHotelReservation');
$controller->execute(JFactory::getApplication()->input->get('task'));
$controller->redirect();