4 function collapse_diff($diff)
7 require_once 'MTrackWeb/Changeset.php';
8 $cs = new MTrackWeb_Changeset();
9 $id = 'diff_' . $idnum++;
11 "<button onclick='\$("#$id").toggle(); return false;'>Toggle diff</button>".
12 "<div id='$id' style='display:none'>" .
13 $cs->diff($diff) . "</div>";
16 function diff_strings($before, $now)
19 $tempdir = sys_get_temp_dir();
20 $afile = tempnam($tempdir, "mtrack");
21 $bfile = tempnam($tempdir, "mtrack");
22 file_put_contents($afile, $before);
23 file_put_contents($bfile, $now);
26 require_once 'System.php';
27 $diff= System::which('diff');
29 if (PHP_OS == 'SunOS') {
30 // TODO: make an option to allow use of gnu diff on solaris
31 $diff = shell_exec("$diff -u $afile $bfile");
32 $diff = str_replace($afile, 'before', $diff);
33 $diff = str_replace($bfile, 'now', $diff);
35 $diff = shell_exec("$diff --label before --label now -u $afile $bfile");
39 $diff = htmlentities($diff, ENT_COMPAT, 'utf-8');