witam
Korzystam z gotowej klasy do generowania ładnych url. Chciałbym ją rozbudować o moduł przekierowujący na inna podstronę. I tu własnie mam problem z rozbudową funkcji Decode.
Chciałbym żeby jeden link przekierowywał mnie na strone a.php , a drugi na stronkę b.php. Niestety oba linki przekierowuje na stronke a.php. Pomimo wielu prób przebudowy funkcji decode nic mi z tego nie wyszło. Więc tu prośba o pomoc w dodaniu kolejnego modułu.
Mam takie oto linki.

//linki do podstron
echo '<a href="'.str_replace(' ', '-', $nurl->Url('module=news&action=show&name='.$og['nazwa'].'&id='.$og['id'].'')).'">'.$og['nazwa'].'</a>';//1 link
echo '<a href="'.str_replace(' ', '-', $nurl->Url('module=news2&action=show2&name='.$og['nazwa'].'&id='.$og['id'].'&id_k='.$og['id_k'].'')).'">'.$og['nazwa'].'</a>';//2 link

a tutaj kontroler przekierowujący do modułów:

function controller(){
	$module = isset($_GET['module']) ? $_GET['module'] : '';
	switch ($module){
		case 'news':
			if ($_GET['action'] == 'show'){// do 1 linka
				include ('og/a.php');
						} 
			break;
		case 'news2':
			if ($_GET['action'] == 'show2'){//do 2 linka
				include ('po/b.php');
									} 
			break;
		case '':
			include('pie.php');
			break;

	}

}

i wreszcie sama klasa, która zreszta powinna być na początku:)
w public function Url($path = null) dodałem

	if ($params['module'] == 'news2' && $params['action2'] == 'show2'){ //moduł news akcja show zamienimy na link .html
	return $this->baseUrl.$params['name'].','.$params['id'].','.$params['id_kategoria'].'.html';
 } 

dzięki czemu generuje mi inny link z id_k
Cała klasa:


class NUrl {

	private $baseUrl;
	
	public function __construct($baseUrl = ''){
		$this->baseUrl = $baseUrl;
	}
	
	/**
	 * Dekoduje adres na zmienne GET
	 */
	public function Decode(){
		$_pi = '';
		//w zależności od serwera nasza scieżka może się znajdować pod innym indeksem
		if (!empty($_GET['pathinfo']))
			$_pi = $_GET['pathinfo'];
		if (empty($_pi) && !empty($_SERVER['ORIG_PATH_INFO']))
			$_pi = $_SERVER['ORIG_PATH_INFO'];
			
		$pathInfo = trim($_pi, '/'); //usuwamy znak / z końca
		if (empty($pathInfo)) { //pusta ścieżka
			return true;
		}	
		$arr = explode('/',$pathInfo); //rozbijamy naszą ścieżkę na podstawie /
		$count = count($arr);
		
		if ($count == 1 && substr($pathInfo, -5) == '.html'){//mamy moduł news. pathinfo jest więc postaci nazwa-newsa,id.html
			$_GET['module'] = 'news';
			$_GET['action'] = 'show';
			
			//pobieramy nazwę oraz id czyli pobieramy nazwa-newsa,id
			$nname = substr($pathInfo,0, strlen($pathInfo)-5);
			//dzielimy na nazwę i id
			$na = explode(',', $nname); 
			$_GET['name'] = $na[0];
			$_GET['id'] = $na[1];
			return true;	
		}
		
		
		
		//pierwsze dwa elementy to moduł i akcja
		$_GET['module'] = $arr[0];
		$_GET['action'] = isset($arr[1]) ? $arr[1] : ''; //tu małe zabezpieczenie, gdyby ktoś zapomniał podać akcji
				//następne elementy to nazwy parametru i parametr i tak co dwa
		for ($i=2; $i < $count;$i+=2){
			$_n = $arr[$i]; //nazwa parametru
			$_v = isset($arr[$i+1]) ? $arr[$i+1] : ''; //wartość parametru
			$_GET[$_n] = $_v;
		}
		return true;
	}

	/**
	 * 
	 * Ścieżka w postaci module=moduł&action=akcja&par1=war1&par2=war2....
	 * @param string $path
	 */
	public function Url($path = null){
		if (empty($path)) //pusta ścieżka
			$pars = array();
		else	
			$pars = explode('&', $path);
		$params = array();
		foreach ($pars as $_param){
			$_arP = explode('=',$_param,2); //par=war dzielimy na par i war
			$params[$_arP[0]] = isset($_arP[1]) ? $_arP[1] : '';
		}
		$strRet = '';
		if (!empty($params)){
			if ($params['module'] == 'news' && $params['action'] == 'show'){ //moduł news akcja show zamienimy na link .html
				return $this->baseUrl.$params['name'].','.$params['id'].'.html';
			} 
			
			if ($params['module'] == 'news2' && $params['action2'] == 'show2'){ //moduł news akcja show zamienimy na link .html
				return $this->baseUrl.$params['name'].','.$params['id'].','.$params['id_kategoria'].'.html';
			} 
			
			
			else { //każdy inny moduł leci standardowo modul/akcja/parametr/wartosc
				foreach ($params as $_key => $_val){
					if ($_key == 'module' || $_key == 'action')
						$_key = '';
					else
						$_key.='/';
					$strRet.="$_key$_val/";
				}	
			}
		}
		return $this->baseUrl.htmlspecialchars($strRet);	
	}
}

chodzi mi o to co trzeba zmianić lub dodać w public function Decode() żeby linki przekierowywały na różne podstrony .
Tzn klikne w link aaa,1.html przekierowuje mnie na a.php
klikne link aaa,2,3.html przekierowuje mnie na b.php