public static function raise($exception) { getLogger()->warn($exception->getMessage()); $class = get_class($exception); $baseController = new BaseController(); switch ($class) { case 'OPAuthorizationException': case 'OPAuthorizationSessionException': if (isset($_GET['__route__']) && substr($_GET['__route__'], -5) == '.json') { echo json_encode($baseController->forbidden('You do not have sufficient permissions to access this page.')); } else { getRoute()->run('/error/403', EpiRoute::httpGet); } die; break; case 'OPAuthorizationOAuthException': echo json_encode($baseController->forbidden($exception->getMessage())); die; break; default: getLogger()->warn(sprintf('Uncaught exception (%s:%s): %s', $exception->getFile(), $exception->getLine(), $exception->getMessage())); throw $exception; break; } }
function callHook() { $url = $_GET['url']; //Matching url param from route list $routes = getRoute(); $controllerMatch = ''; $actionMatch = ''; foreach ($routes as $route) { $routeUrl = $route['url']; if (preg_match("/^{$routeUrl}\$/", $url, $match)) { $controllerMatch = $route['controller']; $actionMatch = $route['action']; if (isset($match[1])) { setGetParams($match, $route['params']); } break; } } //Create actual action and dispatcher names to be called $controller = $controllerMatch; $action = $actionMatch; $action .= 'Action'; $controller = ucwords($controller); $controller .= 'Controller'; $dispatch = new $controller(); if (method_exists($dispatch, $action)) { echo call_user_func_array(array($dispatch, $action), array()); } else { //404 return new View('page/404.php', array()); } }
public function delete($route, $callback, $visibility = self::internal) { $this->addRoute($route, $callback, EpiRoute::httpDelete); if ($visibility === self::external) { getRoute()->delete($route, $callback, true); } }
public static function processLogin() { // Confirm the password is correct // * Assume it's all good for the time being * // // Redirect to the logged in home page getSession()->set(Constants::LOGGED_IN, true); getRoute()->redirect('/dashboard'); }
public function executeDelete(sfWebRequest $request) { $request->checkCSRFProtection(); ///$this->forward404Unless($JobeetJob = JobeetJobPeer::retrieveByPk($request->getParameter('id')), sprintf('Object JobeetJob does not exist (%s).', $request->getParameter('id'))); $JobeetJob = $this - _ > getRoute()->getObject(); $JobeetJob->delete(); $this->redirect('job/index'); }
function active_menu_sidebar($array) { $resultado = array_value_recursive(getRoute(), $array); if (!empty($resultado)) { return 'active'; } return ''; }
public function __construct() { $this->api = getApi(); $this->config = getConfig()->get(); $this->plugin = getPlugin(); $this->route = getRoute(); $this->session = getSession(); $this->template = getTemplate(); $this->utility = new Utility(); $this->url = new Url(); $this->apiVersion = Request::getApiVersion(); }
public function __construct() { $this->api = getApi(); $this->config = getConfig()->get(); $this->logger = getLogger(); $this->route = getRoute(); $this->session = getSession(); $this->cache = getCache(); // really just for setup when the systems don't yet exist if (isset($this->config->systems)) { $this->db = getDb(); $this->fs = getFs(); } }
public function __construct() { $this->api = getApi(); $this->config = getConfig()->get(); $this->plugin = getPlugin(); $this->route = getRoute(); $this->session = getSession(); $this->template = getTemplate(); $this->theme = getTheme(); $this->utility = new Utility(); $this->url = new Url(); $this->template->template = $this->template; $this->template->config = $this->config; $this->template->plugin = $this->plugin; $this->template->session = $this->session; $this->template->theme = $this->theme; $this->template->utility = $this->utility; $this->template->url = $this->url; $this->template->user = new User(); }
/** * Start routing */ public static function run() { if (!is_file(ROUTER_CACHE_FILE)) { crash('The cache-route-file is not exists'); } require_once ROUTER_CACHE_FILE; if (!function_exists('getRoute')) { crash('Route function "getRoute" does not exists'); } $route = getRoute(); if (Cache::e_array($route)) { crash('Route value is not correct in cache-route-file'); } /** * Start finding */ try { if (isset($route[URI])) { $data = $route[URI]; throw new Exception(); } $onlyRegexp = array_filter(array_keys($route), function ($element) { if (substr($element, 0, 1) === '~') { return true; } return false; }); foreach ($onlyRegexp as $pattern) { if (preg_match($pattern, URI, $match)) { controllerManager::$matchUrl = $match; $data = $route[$pattern]; throw new Exception(); } } } catch (Exception $e) { require_once $controllerPath = WORK_SPACE_FOLDER_PATH . 'controllers' . DS . $data['controller'] . 'Controller.php'; $render = new Render(); $render->execute($data, $data['controller'], $controllerPath); } Render::generate404Error(); }
public static function processLogout() { // Redirect to the logged in home page getSession()->set(Constants::LOGGED_IN, false); getRoute()->redirect('/'); }
<?php $config = (include "config.php"); include "functions.php"; include "mysql.php"; define("CSS", "/view/css"); define("JS", "/view/js"); define("IMAGE", "/view/image"); include ROOT . "/controllers/Controller.php"; $dbconf = $config['dbconfig']; $dbcon = connectMysql($dbconf); $route = getRoute(); ob_start(); execAction($route); $output = ob_flush();
$routeObj->get('/manage/albums', array('ManageController', 'albums')); $routeObj->get('/manage/apps', array('ManageController', 'apps')); $routeObj->get('/manage/apps/callback', array('ManageController', 'appsCallback')); $routeObj->get('/manage/features', array('ManageController', 'features')); // redirect to /manage/settings $routeObj->get('/manage/settings', array('ManageController', 'settings')); $routeObj->post('/manage/settings', array('ManageController', 'settingsPost')); $routeObj->get('/manage/groups', array('ManageController', 'groups')); $routeObj->get('/manage/password/reset/([a-z0-9]{32})', array('ManageController', 'passwordReset')); /* * Album endpoints * All album endpoints follow the same convention. * Everything in []'s are optional * /album[s][/:id]/{action} */ getRoute()->get('/albums/list', array('AlbumController', 'list_')); // retrieve activities (/albums/list) /* * Photo endpoints * All photo endpoints follow the same convention. * Everything in []'s are optional * /photo/{id}[/{additional}] */ $routeObj->get('/photo/([a-zA-Z0-9]+)/edit', array('PhotoController', 'edit')); // edit form for a photo (/photo/{id}/edit) $routeObj->get('/photo/([a-zA-Z0-9]+)/create/([a-z0-9]+)/([0-9]+)x([0-9]+)x?(.*).jpg', array('PhotoController', 'create')); // create a version of a photo (/photo/create/{id}/{options}.jpg) $routeObj->get('/photo/([a-zA-Z0-9]+)/?(token-[a-z0-9]+)?/download', array('PhotoController', 'download')); // download a high resolution version of a photo (/photo/create/{id}/{options}.jpg) $routeObj->get('/photo/([a-zA-Z0-9]+)/?(.+)?/view', array('PhotoController', 'view')); // view a photo (/photo/{id}[/{options}])/view
<?php $page = getPageByRoute(getRoute()); ?> <div class="container"> <div class="row"> <div class="page-header"> <h1><?php echo $page['title']; ?> </h1> </div> <div class="row"> <?php echo $page['content']; ?> </div> </div> </div>
use Classes\Sanitiser; use Classes\DBConnection; use Classes\CurrencyFairDB; use Classes\View; use Classes\Render; define('BASE_PATH', __DIR__); #get autoloader include_once BASE_PATH . DIRECTORY_SEPARATOR . 'loader.php'; #include settings $settings = (include_once BASE_PATH . DIRECTORY_SEPARATOR . 'settings.php'); #connect to the db using PDO and then get the instantiate the currency fair db. $dbConnection = new DBConnection($settings); $db = $dbConnection->getPDOConnection(); #currencyFairDB $currencyFairDB = new CurrencyFairDB($db); #this will simply take the first name after the currencyfair in the url. $myroute = getRoute(); if ($myroute == 'render') { #my view $view = new View(); $render = new Render($settings, $currencyFairDB, $view); $render->run(); } elseif ($myroute == 'consumption') { #currencyFairDB $currencyFairDB = new CurrencyFairDB($db); $sanitiser = new Sanitiser(); $consumption = new Consumption($settings, $sanitiser, $currencyFairDB); $consumption->run(); } else { die('invalid path'); }
// TODO, remove these date_default_timezone_set('America/Los_Angeles'); if (isset($_GET['__route__']) && strstr($_GET['__route__'], '.json')) { header('Content-type: application/json'); } $basePath = dirname(dirname(__FILE__)); $epiPath = "{$basePath}/libraries/external/epi"; require "{$epiPath}/Epi.php"; require "{$basePath}/libraries/compatability.php"; require "{$basePath}/libraries/models/UserConfig.php"; Epi::setSetting('exceptions', true); Epi::setPath('base', $epiPath); Epi::setPath('config', "{$basePath}/configs"); Epi::setPath('view', ''); Epi::init('api', 'cache', 'config', 'curl', 'form', 'logger', 'route', 'session', 'template', 'database'); $routeObj = getRoute(); $apiObj = getApi(); // loads configs and dependencies $userConfigObj = new UserConfig(); $hasConfig = $userConfigObj->load(); $configObj = getConfig(); EpiCache::employ($configObj->get('epi')->cache); $sessionParams = array($configObj->get('epi')->session); if ($configObj->get('epiSessionParams')) { $sessionParams = array_merge($sessionParams, (array) $configObj->get('epiSessionParams')); // for TLDs we need to override the cookie domain if specified if (isset($sessionParams['domain']) && stristr($_SERVER['HTTP_HOST'], $sessionParams['domain']) === false) { $sessionParams['domain'] = $_SERVER['HTTP_HOST']; } $sessionParams = array_values($sessionParams); // reset keys
} function p($data) { echo "<pre>" . print_r($data, true) . "</pre>"; } getRoute()->get('/', 'home', 'insecure'); //user getApi()->get('/users', array('users', 'getAll'), 'secure', EpiApi::external); getApi()->get('/users/self', array('users', 'getSelf'), 'secure', EpiApi::external); getApi()->get('/users/(\\d+)', array('users', 'get'), 'secure', EpiApi::external); getApi()->get('/users/relations', array('users', 'relations'), 'secure', EpiApi::external); getApi()->get('/users/relationsng', array('users', 'relationsng'), 'secure', EpiApi::external); getApi()->get('/users/phone/(\\w+)', array('users', 'phonenumber'), 'secure', EpiApi::external); //group //event getApi()->get('/events', array('events', 'getng'), 'secure', EpiApi::external); getApi()->get('/events/all', array('events', 'getAll'), 'secure', EpiApi::external); getApi()->get('/events/(\\d+)', array('events', 'getng'), 'secure', EpiApi::external); getApi()->get('/events/shortname/(\\w+)', array('events', 'getShort'), 'secure', EpiApi::external); require_once "src/Epi.php"; try { response(getRoute()->run('/' . implode($request, '/'))); } catch (Exception $err) { // Make sure we always change the respose code to something else than 200 if (http_response_code() == 200) { http_response_code(500); } $err = array('error' => $err->getMessage(), 'file' => $err->getFile(), 'line' => $err->getLine()); response($err); } die;
*/ echo 'Cordoba -> Edinburgh' . "<br>"; showResult(getRoute('Cordoba', 'Edinburgh', $test)); echo '-----------------------------------------------------------------------' . "<br>"; echo 'Edinburgh -> Cordoba' . "<br>"; showResult(getRoute('Edinburgh', 'Cordoba', $test)); echo '-----------------------------------------------------------------------' . "<br>"; echo 'Cordoba -> Astana' . "<br>"; showResult(getRoute('Cordoba', 'Astana', $test)); echo '-----------------------------------------------------------------------' . "<br>"; echo 'Astana -> Cordoba' . "<br>"; showResult(getRoute('Astana', 'Cordoba', $test)); echo '-----------------------------------------------------------------------' . "<br>"; echo 'Moscow -> Astana' . "<br>"; showResult(getRoute('Moscow', 'Astana', $test)); echo '-----------------------------------------------------------------------' . "<br>"; echo 'Astana -> Moscow' . "<br>"; showResult(getRoute('Astana', 'Moscow', $test)); echo '-----------------------------------------------------------------------' . "<br>"; echo 'Edinburgh -> Moscow' . "<br>"; showResult(getRoute('Edinburgh', 'Moscow', $test)); echo '-----------------------------------------------------------------------' . "<br>"; echo 'Cordoba -> Moscow' . "<br>"; showResult(getRoute('Cordoba', 'Moscow', $test)); echo '-----------------------------------------------------------------------' . "<br>"; echo 'Astana -> Dusseldorf' . "<br>"; showResult(getRoute('Astana', 'Dusseldorf', $test)); echo '-----------------------------------------------------------------------' . "<br>"; echo 'Dusseldorf -> Edinburgh' . "<br>"; showResult(getRoute('Dusseldorf', 'Edinburgh', $test)); echo '-----------------------------------------------------------------------' . "<br>";
<?php require 'vendor/autoload.php'; Epi::init('template', 'route'); Epi::setPath('view', 'templates'); getRoute()->get('/', array('DomainChecker', 'Run')); getRoute()->run(); class DomainChecker { public static function Run() { if (file_exists("cache.json")) { $cache = json_decode(file_get_contents("cache.json"), true); } else { $cache = array(); } $tlds = explode(",", isset($_GET['tlds']) ? $_GET['tlds'] : "com,co.uk,net,org"); $domains = explode(",", isset($_GET['domains']) ? $_GET['domains'] : ""); $whois = new Whois(); $rows = array(); foreach ($domains as $domain) { if (strlen($domain) == 0) { continue; } $results = array(); $domain = trim($domain); $alltaken = true; foreach ($tlds as $tld) { if (array_key_exists($domain . "." . $tld, $cache) && $cache[$domain . "." . $tld]['time'] > time() - 60 * 60 * 24) { $info = $cache[$domain . "." . $tld]['data']; } else {
function nextStation($userID, $station) { $route = getRoute($userID); if ($route == 1 && $station < 17) { return $station + 1; } if ($route == 2 && $station < 26) { return $station + 1; } if ($route == 1) { return 11; } if ($route == 2) { return 21; } return -1; }
<?php require $configObj->get('paths')->libraries . '/routes-api.php'; /* * Home page, optionally redirects if the theme doesn't have a front.php */ getRoute()->get('/', array('GeneralController', 'home')); if ($configObj->get('site')->maintenance == 1) { getRoute()->get('/maintenance', array('GeneralController', 'maintenance')); } /* * Action endpoints * All action endpoints follow the same convention. * Everything in []'s are optional * /action/{id}[/{additional}] */ $routeObj->post('/action/([a-zA-Z0-9]+)/(photo)/create', array('ActionController', 'create')); // post an action (/action/{id}/{type}/create) /* * Manage endpoints * /manage */ $routeObj->get('/manage', array('ManageController', 'home')); $routeObj->get('/manage/groups', array('ManageController', 'groups')); $routeObj->get('/manage/apps', array('ManageController', 'apps')); $routeObj->get('/manage/apps/callback', array('ManageController', 'appsCallback')); /* * Photo endpoints * All photo endpoints follow the same convention. * Everything in []'s are optional * /photo/{id}[/{additional}]
<?php /* ********************************************************************* *\ MAIN SERVER \* ********************************************************************* */ //setup session session_start(); //setup database connection require 'dbConfig.php'; //setup global object $USER = new stdClass(); $PAGE = new stdClass(); //get path to a service $service = getRoute(getUri()); //set the debug flag $SERVERDEBUG = setDebug(); //exit with msg if path doesnt exist if ($service == false) { return errorHandler('Invalid Path', 501); } //if path was valid, load service require $service; //if debug, dump server response if ($SERVERDEBUG) { echo "\r\n page:"; echo json_encode($PAGE); return; } //at the end of it all, close db $DB->close(); /* ********************************************************************* *\
function showDashboard() { $org = $this->input->get("org"); //$this->input->post("direccion");//Se recibe por POST, es el id de área, unidad, etc que se este considerando if (is_null($org)) { redirect('inicio'); } $permits = $this->session->userdata(); $show_all = $this->input->get('all'); $prod = array_merge($permits['foda']['edit'], $permits['metaP']['edit']); $finan = array_merge($permits['valorF']['edit'], $permits['metaF']['edit']); if (count($permits['foda']['view']) + count($permits['metaP']['view']) + count($permits['valorF']['view']) + count($permits['metaF']['view']) <= 0) { redirect('inicio'); } //Permite ver si se esta en la pantalla de mostrar todos los gráficos o no $show_all = is_null($show_all) ? 0 : $show_all; $add = count($prod) + count($finan) > 0; $graphics = $this->getAllDashboardData($org, $show_all); $show_button = $show_all ? true : $this->Dashboard_model->showButton($org); $aggregation = []; foreach ($this->Dashboardconfig_model->getAggregationType([]) as $type) { $aggregation[$type->id] = $type; } $result = defaultResult($permits, $this->Dashboard_model); $result['add_data'] = $add; $result['show_all'] = $show_all; $result['show_button'] = $show_button; $result['aggregation'] = $aggregation; $result['route'] = getRoute($this, $org); $result['graphics'] = $graphics; $result['org'] = $org; $this->load->view('dashboard', $result); }
function getAnyRoute($start1, $start2, $dest1, $dest2) { $filename = "data/current_connection.xml"; download_specific_timetable($start1, $start2, $dest1, $dest2, $filename); return getRoute($filename); }
public function supporters() { getRoute()->redirect('/team'); }
<?php $userdataPath = sprintf('%s/userdata', dirname(getConfig()->get('paths')->libraries)); $pluginPath = sprintf('%s/plugins', $userdataPath); $configPath = sprintf('%s/configs', $userdataPath); $docrootPath = sprintf('%s/html', dirname(getConfig()->get('paths')->libraries)); $pluginSystemPath = sprintf('%s/plugins', getConfig()->get('paths')->libraries); @mkdir($pluginPath); @mkdir($configPath); if (!is_dir($pluginPath) || !is_dir($configPath)) { getLogger()->crit(sprintf("Could not create directories: %s or %s", $pluginPath, $configPath)); getRoute()->run('/error/500', EpiRoute::httpGet); die; } $currentConfigFilePath = sprintf('%s/generated/%s.ini', getConfig()->get('paths')->configs, getenv('HTTP_HOST')); $configFile = file_get_contents($currentConfigFilePath); $photosPath = getConfig()->get('paths')->photos; $pluginLine = "\n" . sprintf('%s="%s"', 'plugins', $pluginSystemPath); $configFile = preg_replace(sprintf('#photos="%s"#', $photosPath), "\\0{$pluginLine}", $configFile); $tempPath = getConfig()->get('paths')->temp; $userdataLine = "\n" . sprintf('%s="%s"', 'userdata', $userdataPath); $configFile = preg_replace(sprintf('#temp="%s"#', $tempPath), "\\0{$userdataLine}", $configFile); $controllersPath = getConfig()->get('paths')->controllers; $controllersLine = "\n" . sprintf('%s="%s"', 'docroot', $docrootPath); $configFile = preg_replace(sprintf('#controllers="%s"#', $controllersPath), "\\0{$controllersLine}", $configFile); $configFile = str_replace('[systems]', "[plugins]\nactivePlugins=\"\"\n\n[systems]", $configFile); $newConfigFilePath = sprintf('%s/%s.ini', $configPath, getenv('HTTP_HOST')); copy($currentConfigFilePath, $newConfigFilePath); // write the new config file and delete the old $fileWritten = file_put_contents($newConfigFilePath, $configFile); if ($fileWritten !== false) {
<section id="container-delivery"> <div style="text-align: center"> <?php print '<table>'; print '<form action="" method="post">'; print "<tr><td><textarea name=\"ipRanges\" cols=\"40\" rows=\"20\" placeholder=\" Paste IPs to route here, including CIDR\n 10.10.0/24\"></textarea></td>"; $cols = 60; print "<td><textarea name=\"result1\" cols=\"{$cols}\" rows=\"20\" placeholder=' IP Add commands will go here'>"; getIPAdd(); print '</textarea></td>'; print '<td><textarea name="result2" cols="40" rows="20" placeholder=" Unroute commands will go here">'; getIPDel(); print '</textarea></td></tr>'; print '<tr><td><input type="text" name="ethDev" placeholder="eth0:X" size="40"/></td>'; print '<td><input type="text" name="startIP" placeholder="1st IP - Default 1" size="60" /></td></tr>'; print '<tr><td colspan="4"><input type="submit" name="submit" value="Get IPs" /></td></tr>'; print '<tr><td colspan="4">'; getRoute(); print '</td></tr>'; print '</table>'; print '</form>'; ?> </div> </section> <footer> <p class="jsquared">Copyright© 2015 - BEAST Inc. - J²</p> </footer><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> <script src="../assets/js/jquery.quicksand.js"></script> <script src="../assets/js/script.js"></script> </body> </html>
$i = 0; while ($stmt->fetch()) { $results[$i]['title'] = $title; $results[$i]['image_thumb'] = $image_thumb; $results[$i]['image_thumb_med'] = $image_thumb_med; $results[$i]['tile_size'] = $tile_size; $results[$i]['tile_id'] = $tile_id; $results[$i]['order'] = $order; $results[$i]['tags'] = $tags; $i++; } $stmt->close(); $mysqli->close(); return $results; } $routes = getRoute($route_id, $DB_SERVER, $DB_USERNAME, $DB_PASSWORD, $DB_DATABASE); $allMapTiles = getAllMapTiles($DB_SERVER, $DB_USERNAME, $DB_PASSWORD, $DB_DATABASE); $selectedMapTiles = getSelectedRouteMapTiles($route_id, $DB_SERVER, $DB_USERNAME, $DB_PASSWORD, $DB_DATABASE); $allPageTiles = getAllTiles($DB_SERVER, $DB_USERNAME, $DB_PASSWORD, $DB_DATABASE); $selectedRoutePageTiles = getSelectedRouteTiles($route_id, $DB_SERVER, $DB_USERNAME, $DB_PASSWORD, $DB_DATABASE); ?> <html> <head> <title>Edit Route</title> <?php include 'includes/head.php'; ?> </head> <body> <?php
<?php require_once __DIR__ . "/../functions.php"; $path = getRoute(); ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> <title>PHP:Foundation</title> <!-- Bootstrap --> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" integrity="sha256-7s5uDGW3AHqw6xtJmNNtr+OBRJUlgkNJEo78P4b0yRw= sha512-nNo+yCHEyn0smMxSswnf/OnX6/KwJuZTlNZBjauKhTK0c+zT+q5JOCx0UFhXQ6rJR9jg6Es8gPuD2uZcYDLqSw==" crossorigin="anonymous"> <link href="css/styles.css" rel="stylesheet" /> <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]--> </head> <body> <nav class="navbar navbar-default navbar-fixed-top"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
$results[$i]['info_bubble_height'] = $info_bubble_height; $results[$i]['header_mp4'] = $header_mp4; $results[$i]['header_webm'] = $header_webm; $results[$i]['content_header'] = $content_header; $results[$i]['content'] = $content; $results[$i]['meta_keywords'] = $meta_keywords; $results[$i]['meta_desc'] = $meta_desc; $i++; } return $results; } $stmt->close(); $mysqli->close(); return $results; } $routeDetails = getRoute($friendly_url, $DB_SERVER, $DB_USERNAME, $DB_PASSWORD, $DB_DATABASE); //var_dump($routeDetails); $fetchSuccess = false; foreach ($routeDetails as $routeDetail) { if (isset($routeDetail['id'])) { $routeId = $routeDetail['id']; $routeTitle = $routeDetail['page_title']; $routeNavTitle = $routeDetail['nav_title']; $routeHeading = $routeDetail['heading']; $routePullout = $routeDetail['heading_pullout']; $routeHeaderImage = $routeDetail['header_image']; $routeColour = $routeDetail['route_colour']; $routeCSSClass = $routeDetail['css_class']; $routeInfoBubbleWidth = $routeDetail['info_bubble_width']; $routeInfoBubbleHeight = $routeDetail['info_bubble_height']; $routeHeaderMP4 = $routeDetail['header_mp4'];