3 class HtmlDiffAdvanced extends \Caxy\HtmlDiff\HtmlDiff implements HtmlDiffAdvancedInterface {
5 protected $buildRequired = TRUE;
7 public function __construct($oldText = '', $newText = '', $encoding = 'UTF-8', $specialCaseTags = null, $groupDiffs = null) {
8 parent::__construct($oldText, $newText, $encoding, $specialCaseTags, $groupDiffs);
11 $this->setOldHtml($oldText);
15 $this->setNewHtml($newText);
19 public function setEncoding($encoding) {
20 $this->encoding = $encoding;
21 $this->buildRequired = TRUE;
24 public function setOldHtml($oldText) {
25 $this->oldText = $oldText;
26 $this->buildRequired = TRUE;
29 public function setNewHtml($newText) {
30 $this->newText = $newText;
31 $this->buildRequired = TRUE;
34 public function setInsertSpaceInReplace($boolean) {
35 parent::setInsertSpaceInReplace($boolean);
36 $this->buildRequired = TRUE;
39 public function setSpecialCaseChars(array $chars) {
40 parent::setSpecialCaseChars($chars);
41 $this->buildRequired = TRUE;
44 public function addSpecialCaseChar($char) {
45 parent::addSpecialCaseChar($char);
46 $this->buildRequired = TRUE;
49 public function removeSpecialCaseChar($char) {
50 parent::removeSpecialCaseChar($char);
51 $this->buildRequired = TRUE;
54 public function setSpecialCaseTags(array $tags = array()) {
55 parent::setSpecialCaseTags($tags);
56 $this->buildRequired = TRUE;
59 public function addSpecialCaseTag($tag) {
60 parent::addSpecialCaseTag($tag);
61 $this->buildRequired = TRUE;
64 public function removeSpecialCaseTag($tag) {
65 parent::removeSpecialCaseTag($tag);
66 $this->buildRequired = TRUE;
69 public function setGroupDiffs($boolean) {
70 parent::setGroupDiffs($this->groupDiffs);
71 $this->buildRequired = TRUE;
74 public function getDifference() {
75 if ($this->buildRequired) {
78 return parent::getDifference();
81 public function build() {
82 if ($this->buildRequired) {
83 $this->buildRequired = FALSE;
85 return parent::build();
89 public function setPurifierSerializerCachePath($path = NULL) {
90 $HTMLPurifierConfig = \HTMLPurifier_Config::createDefault();
91 $HTMLPurifierConfig->set('Cache.SerializerPath', $path);
92 $this->setHTMLPurifierConfig($HTMLPurifierConfig);