jeroen Fri Sep 21 19:53:14 2001 EDT
Added files:
/phpdoc/scripts add_rev.php fix_modelines.php
Log:
Add the scripts for fixing modelines and adding revision tags, for possible use
by translations.
Index: phpdoc/scripts/add_rev.php
+++ phpdoc/scripts/add_rev.php
<?php
function apply($input)
{
return "<?xml encoding="iso-8859-1"?>\n<!-- \$Revision: 1.1 $ -->\n$input";
}
Index: phpdoc/scripts/fix_modelines.php
+++ phpdoc/scripts/fix_modelines.php
<?php
// Fix the modelines of xml files. If no modelines were given, it is assumed
// that the xml is two levels deeper than the root of the phpdoc dir, otherwise
// it's copied from the emacs property sgml-default-dtd-file
function apply($input)
{
$lines = explode("\n",$input);
$numlines = count($lines);
$modeline_started = FALSE;
$manual_ced_line = NULL;
$output = "";
foreach ($lines as $nr=>$line) {
if (eregi("Keep this comment at the end of the file", $line)) {
// we're on top of the comment
if ($nr + 20 < $numlines) {
// there's too much of lines left, bail out
?>
ERROR in this file, modelines seems to be not at end of file!
<?php
exit;
}
// break out of for-loop
$modeline_started = TRUE;
}
if ($modeline_started) {
if (ereg("sgml-default-dtd-file(.*)manual\.ced", $line,
$regs)) {
$manual_ced_line =
"sgml-default-dtd-file$regs[1]manual.ced\"";
}
}
if (!$modeline_started) {
$output .= "$line\n";
}
}
if (!$modeline_started) {
echo "WARNING: did NOT found start of modelines!\n";
}
if (!$manual_ced_line) {
echo "WARNING: did NOT found a ced-line!\n";
$manual_ced_line = 'sgml-default-dtd-file:"../../manual.ced"';
}
$output .= <<<HEREDOC
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
HEREDOC;
$output .= "$manual_ced_line\n";
$output .= <<<HEREDOC
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
HEREDOC;
return $output;
}