| 2 | ddelon | 1 | <div class="page">
 | 
        
           |  |  | 2 | <?php
 | 
        
           |  |  | 3 |   | 
        
           |  |  | 4 | /* NOTE: This is a really cheap way to do it. I think it may be more intelligent to write the two
 | 
        
           |  |  | 5 | 	 pages to temporary files and run /usr/bin/diff over them. Then again, maybe not.           */
 | 
        
           |  |  | 6 |   | 
        
           |  |  | 7 | // load pages
 | 
        
           |  |  | 8 | $pageA = $this->LoadPageById($_REQUEST["a"]);
 | 
        
           |  |  | 9 | $pageB = $this->LoadPageById($_REQUEST["b"]);
 | 
        
           |  |  | 10 |   | 
        
           |  |  | 11 | // prepare bodies
 | 
        
           |  |  | 12 | $bodyA = explode("\n", $pageA["body"]);
 | 
        
           |  |  | 13 | $bodyB = explode("\n", $pageB["body"]);
 | 
        
           |  |  | 14 |   | 
        
           |  |  | 15 | $added = array_diff($bodyA, $bodyB);
 | 
        
           |  |  | 16 | $deleted = array_diff($bodyB, $bodyA);
 | 
        
           |  |  | 17 |   | 
        
           |  |  | 18 | $output .= "<b>Comparing <a href=\"".$this->href("", "", "time=".urlencode($pageA["time"]))."\">".$pageA["time"]."</a> to <a href=\"".$this->href("", "", "time=".urlencode($pageB["time"]))."\">".$pageB["time"]."</a></b><br />\n";
 | 
        
           |  |  | 19 |   | 
        
           |  |  | 20 | if ($added)
 | 
        
           |  |  | 21 | {
 | 
        
           |  |  | 22 | 	// remove blank lines
 | 
        
           |  |  | 23 | 	$output .= "<br />\n<b>Additions:</b><br />\n";
 | 
        
           |  |  | 24 | 	$output .= "<div class=\"additions\">".$this->Format(implode("\n", $added))."</div>";
 | 
        
           |  |  | 25 | }
 | 
        
           |  |  | 26 |   | 
        
           |  |  | 27 | if ($deleted)
 | 
        
           |  |  | 28 | {
 | 
        
           |  |  | 29 | 	$output .= "<br />\n<b>Deletions:</b><br />\n";
 | 
        
           |  |  | 30 | 	$output .= "<div class=\"deletions\">".$this->Format(implode("\n", $deleted))."</div>";
 | 
        
           |  |  | 31 | }
 | 
        
           |  |  | 32 |   | 
        
           |  |  | 33 | if (!$added && !$deleted)
 | 
        
           |  |  | 34 | {
 | 
        
           |  |  | 35 | 	$output .= "<br />\nNo differences.";
 | 
        
           |  |  | 36 | }
 | 
        
           |  |  | 37 | print($output);
 | 
        
           |  |  | 38 | ?>
 | 
        
           |  |  | 39 | </div>
 |