\n"; foreach ($lines as $line) { print $line; } // foreach print ""; } // menu_css function menu () { print <<
 
END; } // menu function heading () { print "
END; } // search_box function copyright ($start_year = "", $author = "Andrew DeFaria", $email = "info@clearscm.com", $home = "") { global $base; $today = getdate (); $current_year = $today ["year"]; $this_file = $base . "/" . $_SERVER['PHP_SELF']; $mod_time = date ("F d Y @ g:i a", filemtime ($this_file)); print <<

Last modified: $mod_time
Copyright ©  END; if ($start_year != "") { print "$start_year-"; } // if print << END; } // copyright function display_contents_as_code ($contents) { print "

"; print ""; $line_number = 1; foreach ($contents as $line) { print ""; print " "; print " "; print "\n"; } // foreach print "
" . $line_number++ . ""; for ($i = 0; $i < strlen ($line); $i++) { if ($line [$i] == " ") { if ($i == 0 && $line_number == 2) { continue; } // if echo " "; } else if ($line [$i] == "\t") { echo "        "; } else if ($line [$i] != "\n") { echo $line [$i]; } // if } // for print "
"; print "
"; } // display_contents_as_code function display_contents_as_snippet ($contents) { print "
"; foreach ($code as $line) { for ($i = 0; $i < strlen ($line); $i++) { if ($line [$i] == " ") { echo " "; } else if ($line [$i] == "\t") { echo "        "; } else if ($line [$i] != "\n") { echo $line [$i]; } // if } // for } // foreach print "
"; } // display_contents_as_snippet function display_code ($file) { display_contents_as_code (getSCMFile ($file)); } # display_code function scm_man ($file) { $desc_spec = array ( 0 => array ("pipe", "r"), // stdout 1 => array ("pipe", "w"), // stdin 2 => array ("pipe", "w"), // stderr ); $pod2html = proc_open ("pod2html -cachedir /tmp -noindex -htmlroot=http://perldoc.perl.org", $desc_spec, $pipes); if (!is_resource ($pod2html)) { die ("Unable to start pod2html"); } // if $stdin = $pipes [0]; $stdout = $pipes [1]; $stderr = $pipes [2]; $contents = getSCMFile ($file); // Write to stdin foreach ($contents as $line) { fwrite ($stdin, $line); } // foreach fclose ($stdin); $end_of_index = 0; $pre_just_ended = 0; $url = "/gitweb/?p=clearscm.git;a=blob_plain;f=$file;hb=HEAD"; $history = "/gitweb/?p=clearscm.git;a=history;f=$file;hb=HEAD"; // Now get the output and write it out while (!feof ($stdout)) { $line = fgets ($stdout); // Filter some CVS keywords properly $line = preg_replace ("/\\\$Revision\:\s*(\S*)\s*\\\$/", "Revision $1", $line); $line = preg_replace ("/\\\$Date\:\s*(.*)\s*\\\$/", "Modifed $1", $line); $line = preg_replace ("/\\\$RCSfile\:\s*(\S*),v\s*\\\$/", "$1", $line); // Collapse adjacent
 sections to instead have a simple blank
    // line
    if (preg_match ("/<\/pre>$/", $line)) {
      $line = preg_replace ("/<\/pre>/", "", $line);
      print "$line\n";
      $pre_just_ended = 1;
      continue;
    } // if

    if (preg_match ("/^
$/", $line)) {
      if ($pre_just_ended) {
        $pre_just_ended = 0;
	continue;
      } // if
    } else {
      if ($pre_just_ended) {
        $pre_just_ended = 0;
	echo "
$line"; continue; } // if } // if $line = preg_replace ("/
/",
			  "
",
			  $line);
    $line = preg_replace ("/<\/pre>/",
			  "
", $line); $line = preg_replace ("/(.*)<\/a>/", "$1", $line); $line = preg_replace ("/NAME (\S*)<\/h1>/", "NAME $1 ", $line); $line = preg_replace ("/NAME (\S*)<\/h2>/", "NAME $1 ", $line); echo $line; } // while fclose ($stdout); fclose ($stderr); proc_close ($pod2html); } // scm_man ?>