public redirect ( $conditionObject ) | ||
$conditionObject |
public function redirect($conditionObject)
{
// Default to 'back'
$redirectType = isset($conditionObject->redirect_type) ? $conditionObject->redirect_type : 'back';
$redirectMessage = isset($conditionObject->redirect_message) ? $conditionObject->redirect_message : '';
switch ($redirectType) {
case 'route':
case 'to':
case 'action':
return $this->Redirect->{$redirectType}($conditionObject->redirect)->with('message-errors', $redirectMessage);
break;
default:
case 'back':
try {
return $this->Redirect->back()->with('message-errors', $redirectMessage);
} catch (\Exception $e) {
throw new \Devise\Support\DeviseException('Unable to go back due to no referrer.');
}
break;
}
}
/** * Determines if access allowed/denied by checking * results array for any occurences of a "false" value * * @param object $conditionObject * @param boolean $redirectOnFail * @return boolean */ public function evaluateResults($results, $redirectOnFail, $conditionObject) { if (in_array(false, $results)) { if ($redirectOnFail) { return $this->RedirectHandler->redirect(json_decode($conditionObject)); } return false; } return true; }