private function runError($message) { $query = "?m303[Error][]=" . base64_encode($message); header('HTTP/1.1 303 See Other'); header('Location: ' . envUrl(ENV_URL_ERROR_500 . $query, true)); die; }
/** * * @param string $url */ public function redirectTo($url, $sendParameters = false, $arguments = null, $internal = false) { $actionMapper = new ActionMapper(); $actionName = $actionMapper->getActionNameByUrl($url); $internal = $internal ? $internal : !is_null($actionName); if (!is_null($arguments) && !is_array($arguments)) { throw new InvalidArgumentException(I18n::text("Argument 'arguments' is invalid.")); } $query = ''; if ($sendParameters) { if (!is_null($arguments)) { foreach ($arguments as $key => $value) { $query .= "&{$key}=" . urlencode($value); } } if (!empty($this->parameters)) { foreach ($this->parameters as $name => $value) { $query .= "&{$name}={$value}"; } } } else { $this->removeAll(); } if ($internal) { $status = array(Message::Success, Message::Information, Message::Warning, Message::Error); foreach ($status as $s) { if (!empty($this->messages[$s])) { foreach ($this->messages[$s] as $m) { $query .= "&m303[{$s}][]=" . base64_encode($m->text); } } } } if ($query != '') { $query = '?' . ltrim($query, '&'); } $location = $internal ? envUrl($url . $query, true) : $url . $query; $this->addHeader('HTTP/1.1 303 See Other'); $this->addHeader('Location: ' . $location); $this->redirected = true; }