<?php

/*************************************************

friendlyurls.php - a utility class for making urls nicer together with apache's forcetype directive

home page: www.samscripts.com/scripts/friendlyurls
support: support.samscripts.com/index.php

licence: freeware / optionally giftware ( www.samscripts.com/donate.php )
author: Sam Yapp
date: 8th September 2002

documentation and examples at www.samscripts.com

*************************************************/


class friendlyurls{

	function friendlyurls($search = "", $replace = "", $noduplicates = true, $noquerystring = true){
		global $HTTP_SERVER_VARS;
		$script = $HTTP_SERVER_VARS["SCRIPT_NAME"];
		$decoded = urldecode($HTTP_SERVER_VARS["REQUEST_URI"]);
		if( $noquerystring ) $decoded = preg_replace("/\?.*/", "", $decoded);
		if( ( is_array($search) && count($search) != 0 ) || $search != "" ) $decoded = preg_replace($search, $replace, $decoded);
		$uri = preg_replace("!^$script!i", "", $decoded);
		$arguments = preg_split("/\//",$uri,-1, PREG_SPLIT_NO_EMPTY);
		$arguments_slashed = preg_split("/\//",addslashes($uri), -1, PREG_SPLIT_NO_EMPTY);
		$argcount = count($arguments);
		$this->argument_count = 0;
		if( $noduplicates ){
			$this->arguments = array();
			$this->arguments_slashed = array();
			for( $i = 0; $i < $argcount; $i++){
				if( !in_array($arguments[$i], $this->arguments)){
					$this->arguments[$this->argument_count] = $arguments[$i];
					$this->arguments_slashed[$this->argument_count] = $arguments_slashed[$i];
					$this->argument_count++;
				}
			}
		}else{
			$this->argument_count = $argcount;
			$this->arguments = &$arguments;
			$this->arguments_slashed = &$arguments_slashed;
		}
	}

}

?>