include','/^(!{1,6})(?:\s*)(.*)$/e', "DDMkNumTitle(PSS('$1'),PSS('$2'))"); Markup('dd-num2','directives','/\\(:(no)?numbered-sections(?:\s+(.*?))?:\\)/e', "DDRunNum('$1',PSS('$2'))"); ## ## If numbered sections are enabled in the group or site header or footer, ensure they are not inherited ## in the page. ## $GroupHeaderFmt = $GroupHeaderFmt.'(:nonumbered-sections:)'; $GroupFooterFmt = '(:nonumbered-sections:)'.$GroupFooterFmt; $SiteHeaderFmt = $SiteHeaderFmt.'(:nonumbered-sections:)'; $SiteFooterFmt = '(:nonumbered-sections:)'.$SiteFooterFmt; function DDMkNumTitle ($prefix, $text) { global $DDNumFmt, $DDNumHdrEnable, $DDFmtSet, $DDDebug; static $FmtNb, $OrNb, $TcNb, $sp, $numoffset, $CurLvl; $level = strlen($prefix); if ($level > 6) return; if ($DDNumHdrEnable) { if (!$DDFmtSet) { $sp[1] = ''; for ($i=1; $i<=6; $i++) { $sp[$i+1] = $DDNumFmt[$i+$i-1]; $FmtNb[$i] = $DDNumFmt[$i+$i-2]; $OrNb[$i] = DDDecNum($FmtNb[$i]); $TcNb[$i] = $OrNb[$i]; } $DDFmtSet = 1; } $TcNb[$level] = DDIncNum($TcNb[$level]); $space_needed = 0; if ($FmtNb[$level]) { for ($i=1; $i<=$level; $i++) { if ($FmtNb[$i]) { if ($space_needed) { $num .= $sp[$i]; } $num .= $TcNb[$i]; $space_needed = 1; } } $num.= " "; } for ($i=$level+1; $i<6; $i++) $TcNb[$i]= $OrNb[$i]; } if ($DDDebug) printf("\n", __FUNCTION__, $prefix, $level, $num, $text, $DDNumFmt); return ("$prefix$num$text"); } function DDIncNum ($num) { if (is_numeric($num)) return ++$num; else return chr(ord($num)+1); } function DDDecNum ($num) { if (is_numeric($num)) return --$num; else return chr(ord($num)-1); } function DDRunNum ($nonum, $argstr) { global $DDNumHdrEnable, $DDFmtSet, $DDNumFmt, $DDDebug; $args = ParseArgs($argstr); $DDNumFmt = ($args['format'] ? $args['format'] : '1.1.1.1.1.1'); if ($nonum =='no') { $DDNumHdrEnable = 0; $DDFmtSet = 0; } else { $DDNumHdrEnable = 1; } if ($DDDebug) printf("\n", __FUNCTION__, $DDNumFmt, $DDNumHdrEnable, $DDFmtSet); } ?>