Extend user-dependent classes .login/.logout in menu
to generic templating so any page can include optional parts.
$html = $request == $m[1] ? $m[2] : $m[0]; # text or full link
return $m[1] == substr($request, 0, strlen($m[1])) ? "<b>$html</b>" : $html;
}, $nav);
-if (!empty($User)) {
- $nav = preg_replace('{\s*<li class="logout">.*?</li>}', '', $nav);
-}
-else {
- $nav = preg_replace('{\s*<li class="login">.*?</li>}', '', $nav);
-}
print $nav;
print "</header>\n\n";
}
}
+ # keep either login or logout parts depending on user level
+ global $User;
+ $hideclass = empty($User) ? 'login' : 'logout';
+ $doc = preg_replace('{\s*<(p|li|span) class="'.$hideclass.'">.*?</\1>}s', '', $doc);
+
return preg_replace_callback(
'{ (?<! <!--BLOCK: ) \[\[ ([^] ]+) ([^]]*) \]\] }x',
function ($sub) use ($blocks) {