Foren / National / Russian / Mod Rewrite

Killer
#25255 18. Juli 2010, 16:37
А такой вариант тебя не устроит, Сергеич? У меня все работает.
В urltrans.dat
page * {page_url_structure()}

В functions.custom.php
function page_url_structure(&$args)
{
	global $sed_cat, $pag, $row, $rpagecat, $c, $newpagecat;

	if(stristr('docs-', $pag['page_cat']) || stristr('docs-', $row['page_cat']) || stristr('docs-', $rpagecat))
	{
		$page_cat = (!empty($rpagecat) && empty($page_cat)) ? $rpagecat : $page_cat;
		$page_cat = (!empty($pag['page_cat']) && empty($page_cat)) ? $pag['page_cat'] : $page_cat;
		$page_cat = (!empty($row['page_cat']) && empty($page_cat)) ? $row['page_cat'] : $page_cat;
		//$page_cat = (!empty($args['c']) && empty($page_cat)) ? $args['c'] : $page_cat;
		$page_cat = (!empty($newpagecat) && empty($page_cat)) ? $newpagecat : $page_cat;
	}
	else
	{
		$page_cat = (!empty($sed_cat[$rpagecat]['path']) && empty($page_cat)) ? $sed_cat[$rpagecat]['path'] : $page_cat;
		$page_cat = (!empty($sed_cat[$pag['page_cat']]['path']) && empty($page_cat)) ? $sed_cat[$pag['page_cat']]['path'] : $page_cat;
		$page_cat = (!empty($sed_cat[$row['page_cat']]['path']) && empty($page_cat)) ? $sed_cat[$row['page_cat']]['path'] : $page_cat;
		//$page_cat = (!empty($sed_cat[$args['c']]['path']) && empty($page_cat)) ? $sed_cat[$args['c']]['path'] : $page_cat;
		$page_cat = (!empty($sed_cat[$newpagecat]['path']) && empty($page_cat)) ? $sed_cat[$newpagecat]['path'] : $page_cat;
	}

	if (empty($page_cat)) $page_cat = 'articles';
	if($args['id'])
	{
		$url = (stristr('docs-', $page_cat)) ? str_replace('-', '/', $page_cat).'/' : str_replace('.', '/', $page_cat).'/';
		$url .= $args['id'];
		unset($args['id']);
	}
	elseif($args['al'])
	{
		$url = (stristr('docs-', $page_cat)) ? str_replace('-', '/', $page_cat).'/' : str_replace('.', '/', $page_cat).'/';
		$url .= urlencode($args['al']);
		unset($args['al']);
	}
	elseif($args['m'] == 'add')
	{
		$args['c'] = (!empty($args['c'])) ? $args['c'] : $c;
		$url = (stristr('docs-', $args['c'])) ? str_replace('-', '/', $args['c']).'/' : str_replace('.', '/', $sed_cat[$args['c']]['path']).'/';
		$url .= 'add';
		unset($args['c'], $args['m']);
	}
	return $url;
}
Лишь утратив всё до конца, мы обретаем свободу...