2 class Pman_MTrack_Diff extends Pman {
6 die("nothing here yet");
10 static function toHTML($input)
15 if (is_resource($input)) {
17 while (($line = fgets($input)) !== false) {
18 $lines[] = rtrim($line, "\r\n");
24 if (is_string($input)) {
26 $input = preg_split("/\r?\n/", $input);
28 $abase = md5(join("\n", $input));
40 $line = array_shift($input);
43 if (!strncmp($line, '@@ ', 3)) {
44 /* done with preamble */
47 $ret[] = (object)array(
66 if (preg_match("/^@@\s+-(\pN+)(?:,\pN+)?\s+\+(\pN+)(?:,\pN+)?\s*@@/",
68 $lines[0] = (int)$M[1] - 1;
69 $lines[1] = (int)$M[2] - 1;
73 } else if (preg_match("/^diff /", $line)) {
77 } elseif (strlen($line)) {
78 if ($line[0] == '-') {
81 } elseif ($line[0] == '+') {
98 $row = "<tr class='$class";
102 if ($class != 'meta' && $first) {
107 $anchor = $abase . '.' . $nlines;
108 $anchor_row = "<td class='linelink'><a name='$anchor'></a>".
109 "<a href='#$anchor' title='link to this line'>#</a></td>";
111 $txt_data = '<td class="line" width="100%">'.
112 htmlspecialchars(substr($line, 1), ENT_QUOTES, 'utf-8') .
120 $row .= '<td colspan="4" class="line" width="100%">' .
121 htmlspecialchars($line, ENT_QUOTES, 'utf-8') . "</td></tr>\n";
126 $row .= "<td class='lineno'></td><td class='lineno'>" .
127 $lines[1] . "</td>" .
128 $anchor_row . $txt_data ;
134 $row .= "<td class='lineno'>" . $lines[0] .
135 "</td><td class='lineno'></td>" .
136 $anchor_row . $txt_data ;
142 $row .= "<td class='lineno'>" . $lines[0] .
143 "</td><td class='lineno'>" . $lines[1] . "</td>" .
144 $anchor_row . $txt_data ;
150 if (!count($input)) {
153 $line = array_shift($input);