Hi,
nachdem ich es nun mit hilfe des Forums geschaft habe mod_rewrite auch auf meinem Server zum laufen zu bringen würde ich gerne eine Funktion in meine Homepage einbauen die mir meine URLs in SUMA freundliche URLs umwandelt. Ich habe mir zu diesem Zweck mal eine kleine Klasse geschrieben. Ich würde nun gerne von euch wissen ob es da bessere / einfachere Ansätze gibt. Zudem habe ich in Kombination mit dieser Klasse gerade ein kleines smarty Problem. Kann es sein, dass man aus smarty raus nicht auf klassen zugreifen kann?
Danke
nachdem ich es nun mit hilfe des Forums geschaft habe mod_rewrite auch auf meinem Server zum laufen zu bringen würde ich gerne eine Funktion in meine Homepage einbauen die mir meine URLs in SUMA freundliche URLs umwandelt. Ich habe mir zu diesem Zweck mal eine kleine Klasse geschrieben. Ich würde nun gerne von euch wissen ob es da bessere / einfachere Ansätze gibt. Zudem habe ich in Kombination mit dieser Klasse gerade ein kleines smarty Problem. Kann es sein, dass man aus smarty raus nicht auf klassen zugreifen kann?
Code:
<?php
/* $ID$ */
/**
* This class provides several functions regarding the url management
* @package jsweb
* @author Johannes Schmidt
*/
class manageURL {
var $section = "home"; // selected section
var $urlParams = array(); // params for the url string
/**
* function to generate the URL's used on the website
* @param string section array params
* @return string url
*/
function genURL($section, $params) {
$this->urlParams = $params;
if(SUMA_URLS == true) {
switch ($section) {
case "contact":
$this->checkParam("mail");
$url = "/contact/".$this->urlParams['mail']."/index.html";
break;
default:
// go to error page and send mail
}
} else {
$url = "index.php?section=".$section."";
foreach($params as $key => $value) {
$url .= "&".$key."=".$value."";
}
}
return $url;
}
/**
* function to check if the param of the url is set or not
* @param string paramName
*/
function checkParam($paramName) {
if(isset($this->urlParams[$paramName])) {
if($this->urlParams[$paramName] == "") {
// param is empty
$this->urlParams[$paramName] == false;
}
} else {
// param doesn't exist at all
$this->urlParams[$paramName] == false;
}
}
}
?>
Danke