Skip to content

Instantly share code, notes, and snippets.

@dmregister
Created May 14, 2015 18:24
Show Gist options
  • Save dmregister/2edbd0afffa4ba71395f to your computer and use it in GitHub Desktop.
Save dmregister/2edbd0afffa4ba71395f to your computer and use it in GitHub Desktop.
event
$eventManager = $e->getApplication()->getEventManager();
$eventManager->attach(MvcEvent::EVENT_DISPATCH,
function($e)
{
$request = $e->getRequest();
if ($request instanceof ConsoleRequest)
{
return;
}
if (isset($_COOKIE['mobileSite']) && (bool) $_COOKIE['mobileSite'] === true)
{
return;
}
$mobileDetect = $e
->getApplication()
->getServiceManager()
->get('MobileDetect');
$routeMatch = $e->getRouteMatch();
$routeName = $routeMatch->getMatchedRouteName();
$router = $e->getRouter();
if ($mobileDetect->isMobile() && !$mobileDetect->isTablet() && !in_array($routeName, $this->routeNames))
{
if ($mobileDetect->isiOS())
{
$url = $router->assemble(array(),
array(
'name' => 'iosLandingPage',
'query' => array(
'redirect' => $redirectUri
)
));
$response = $e->getResponse();
$response->getHeaders()->addHeaderLine('Location', $url);
$response->setStatusCode(302);
$response->sendHeaders();
return $response;
}
elseif ($mobileDetect->isAndroidOS())
{
$url = $router->assemble(array(),
array(
'name' => 'androidLandingPage',
'query' => array(
'redirect' => $redirectUri
)
));
$response = $e->getResponse();
$response->getHeaders()->addHeaderLine('Location', $url);
$response->setStatusCode(302);
$response->sendHeaders();
return $response;
}
}
}, -100);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment