Select Git revision
FactureTest.php
-
Laurent Destailleur authoredLaurent Destailleur authored
Xhtml.php 1.79 KiB
<?php
class Nmc_Xhtml
{
static public function generateMenu( $menu, $level = 0 )
{
$menu_xhtml = '<ul class="menu_level_' . $level . '">' . "\n";
foreach( $menu as $item )
{
$menu_xhtml .= '<li class="menu_item">';
if( $item->link != '' ) $menu_xhtml .= '<a href="' . $item->link . '">';
$menu_xhtml .= $item->menu_text;
if( $item->link != '' ) $menu_xhtml .= '</a>';
if( count( $item->sub_items ) > 0 ) $menu_xhtml .= Nmc_Xhtml::generate_menu( $item->sub_items, $level + 1 );
$menu_xhtml .= '</li>';
}
$menu_xhtml .= '</ul>' . "\n";
return $menu_xhtml;
}
static public function getCurrentUrl( $set_vars = array(), $unset_vars = array() )
{
$uri = $_SERVER['REQUEST_URI'];
while(substr($uri,0,1) == '/') {
$uri = substr($uri,1);
}
while(substr($uri,-1) == '/') {
$uri = substr($uri,0,-1);
}
$uri = explode( '/', $uri );
$controller = array_shift( $uri );
$action = array_shift( $uri );
$args = array();
for($i = 0; array_key_exists($i, $uri); $i += 2) {
$args[$uri[$i]] = $uri[$i+1];
}
$vars = array_merge( $args, $set_vars );
foreach( $unset_vars as $key )
{
unset( $vars[$key]);
}
return Nmc_Xhtml::getUrl( $controller, $action, $vars );
}
static public function getUrl( $controller = '', $action = '', $get_vars = array() )
{
$url = dirname($_SERVER['PHP_SELF']);
if($controller != '') {
$url .= '/' . $controller;
if( !is_null($action != '')) {
$url .= '/' . $action;
foreach( $get_vars as $key => $val )
{
if(substr($key, 0, 1) != '_') {
$url .= '/' . $key . '/' . $val;
}
}
}
}
return $url;
}
}