Devise\Users\Permissions\RedirectHandler::redirect PHP Method

redirect() public method

The redirect handles redirecting appropriately based on the condition object passed in. The condition object is a json like stdClass object that mimics the arrays inside of config/permissions-conditions
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;
        }
    }

Usage Example

Beispiel #1
0
 /**
  * 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;
 }