42 lines
1.2 KiB
PHP
Executable File
42 lines
1.2 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* Copyright 2007-2012 Horde LLC (http://www.horde.org/)
|
|
*
|
|
* See the enclosed file COPYING for license information (LGPL). If you did
|
|
* not receive this file, see http://www.horde.org/licenses/lgpl21.
|
|
*
|
|
* @package Text_Diff
|
|
* @author Geoffrey T. Dairiki <dairiki@dairiki.org>
|
|
*/
|
|
class Horde_Text_Diff_ThreeWay_Op_Base
|
|
{
|
|
public function __construct($orig = false, $final1 = false, $final2 = false)
|
|
{
|
|
$this->orig = $orig ? $orig : array();
|
|
$this->final1 = $final1 ? $final1 : array();
|
|
$this->final2 = $final2 ? $final2 : array();
|
|
}
|
|
|
|
public function merged()
|
|
{
|
|
if (!isset($this->_merged)) {
|
|
if ($this->final1 === $this->final2) {
|
|
$this->_merged = &$this->final1;
|
|
} elseif ($this->final1 === $this->orig) {
|
|
$this->_merged = &$this->final2;
|
|
} elseif ($this->final2 === $this->orig) {
|
|
$this->_merged = &$this->final1;
|
|
} else {
|
|
$this->_merged = false;
|
|
}
|
|
}
|
|
|
|
return $this->_merged;
|
|
}
|
|
|
|
public function isConflict()
|
|
{
|
|
return $this->merged() === false;
|
|
}
|
|
}
|