public function shouldRedirects(CakeRequest $request)
{
if (!$this->isEnabled() || !$this->existsUrl($request)) {
return false;
}
if (!$this->isEnabled() || !$this->autoRedirect) {
return false;
}
$autoRedirectKey = "{$this->name}_auto_redirect";
if (isset($request->query[$autoRedirectKey]) && in_array($request->query[$autoRedirectKey], array('on', 'off'))) {
CakeSession::write($autoRedirectKey, $request->query[$autoRedirectKey]);
}
if (isset($request->query[$this->name])) {
switch ($request->query[$this->name]) {
case 'on':
return true;
case 'off':
return false;
}
}
return CakeSession::read($autoRedirectKey) !== 'off';
}