|
PntHttpRequest |
PntRequestHandler |
PntSite |
PntStringConverter |
|
redirectRequest |
__construct |
__toString |
checkAlphaNumeric |
forwardRequest |
getBaseUrl |
getContextHref |
getController |
getConverter |
getDebugMode |
getDir |
getDomainDir |
getEventualItemNotFoundMessage |
getFormTextPaths |
getFormTexts |
getGlobalFilters |
getHandlersTriedString |
getIncludesDir |
getInformation |
getLabel |
getMarkedItemsCollector |
getName |
getReqParam |
getRequestHandler |
getRequestParam |
getRequestedObject |
getScout |
getThisPntHandlerName |
getTryUseClassTryParams |
getType |
getTypeClassDescriptor |
getTypeLabel |
htOut |
initForHandleRequest |
queryStringFrom |
setFormTexts |
setInformation |
setRequestedObject |
startSession |
toString |
tryUseClass |
tryUseHandlerClass |
useClass |
|
/** Redirect the request to a different server, page or handler
* This only works if NOTHING has been printed yet!!
* @param Array or String $requestData if Array redirects to handler in same application.
* otherwise redirects to the url it assumes is in $requestData
* @param String $information information to be passed as a request parameter
* this will replace eventual information parameter from $requestData
* but not inf the information param is in the funky part of a funky url
* @param String $dir directory to redirect to. If null $thisfunction (->() will be used.
*/
function redirectRequest($requestData, $information=null, $dir=null) {
if (is_array($requestData)) {
if ($information !== null)
$requestData["pntInfo"] = $information;
if ($dir==null) $dir = $this->();
$url = $this->();
$url .= $dir. 'index.php?';
$url .= $this->($requestData);
} else {
if ($information === null) {
$url = $requestData;
} else {
$url = Gen::stripQueryParam($requestData, 'pntInfo');
$url .= (strPos($url, '?') === false) ? '?' : '&';
$url .= "pntInfo=".$this->()->($information);
}
}
if (preg_match('/[\n\r]/', $url)) throw new PntError('Url with Cr or Lf');
header("Location: $url"); /* Redirect browser */
exit;
}
|
Copyright (c) MetaClass, 2003-
This code is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This code is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
Click here for a copy of the license or see http://www.gnu.org/licenses/ .
|
|