<?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) != ) || $search != "" $decoded preg_replace($search$replace$decoded);
        
$uri preg_replace("!^$script!i"""$decoded);
        
$arguments preg_split("/\//",$uri,-1PREG_SPLIT_NO_EMPTY);
        
$arguments_slashed preg_split("/\//",addslashes($uri), -1PREG_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;
        }
    }

}

?>