Quick search:

PntRequestHandler
PntSite
PntStringConverter
getRequestHandler
PntRequestHandler
checkAlphaNumeric
forwardRequest
getBaseUrl
getContextHref
getController
getConverter
getDebugMode
getDir
getDomainDir
getFormTextPaths
getFormTexts
getGlobalFilters
getHandlersTriedString
getIncludesDir
getInformation
getLabel
getMarkedItemsCollector
getName
getReqParam
getRequestParam
getRequestedObject
getScout
getThisPntHandlerName
getTryUseClassTryParams
getType
getTypeClassDescriptor
getTypeLabel
htOut
queryStringFrom
redirectRequest
setFormTexts
setInformation
setRequestedObject
startSession
toString
tryUseClass
useClass


	function &getRequestHandler($requestData) {
		$dir = $this->getDir();
		$id = isSet($requestData["id"]) ? $requestData["id"] : null;
		$specifiedHandler = $handler = isSet($requestData["pntHandler"])
			?  $requestData["pntHandler"] : null;
		$property = ucFirst(isSet($requestData["pntProperty"]) ? $requestData["pntProperty"] : '');
		$type = isSet($requestData["pntType"]) ? $requestData["pntType"] : null;
		if ($handler=='PropertyPage')
			$handler = "Property$property".'Page';
		elseif (!$handler) {
			if ($property == 'pntList')
				$handler = 'IndexPage';
			elseif ($id !== null)
				$handler = 'EditDetailsPage';
			else
				$handler = 'IndexPage';
		}

		$attempted = array();
		$info = null;
		$handlerClass = "$type$handler";
		$included = $this->tryUseClass($handlerClass, $this->getDir());
		$attempted = array_merge($attempted, $this->getTryUseClassTryParams($handlerClass, $this->getDir()));
		if (!$included && $property) {
			//there is no specific handler for this type and property, try type-handler
				$handler = $specifiedHandler;
				$handlerClass = "$type$handler";
				$included = $this->tryUseClass($handlerClass, $this->getDir());
		$attempted = array_merge($attempted, $this->getTryUseClassTryParams($handlerClass, $this->getDir()));
		}
		if (!$included && $type) {
				//there is no specific handler for this type, try generic handler from same dir
				$handlerClass = "Object$handler";
				$included = $this->tryUseClass($handlerClass, $this->getDir());
		$attempted = array_merge($attempted, $this->getTryUseClassTryParams($handlerClass, $this->getDir()));
		}

		if (!$included) {
			$name = $this->getName();
			$errorMessage = "$name - handler not found: $handler, tried: <BR>\n";
			$errorMessage .= $this->getHandlersTriedString($attempted);
			trigger_error($errorMessage, E_USER_ERROR);
		}
//  print "<BR>Handler: $handlerClass $included";
		$result =& new $handlerClass($this, $requestData);

		if ($this->getDebugMode() == 'verbose') {
			$info = 'Handlers tried<BR>(one of last two succeeded): ';
			$info .= $this->getHandlersTriedString($attempted);
			$result->setInformation($info);
		}
		return $result;
	}