Webylon 3.1 API Docs
  • Package
  • Class
  • Tree
  • Deprecated
  • Download
Version: current
  • 3.2
  • 3.1

Packages

  • auth
  • Booking
  • cart
    • shipping
    • steppedcheckout
  • Catalog
  • cms
    • assets
    • batchaction
    • batchactions
    • bulkloading
    • comments
    • content
    • core
    • export
    • newsletter
    • publishers
    • reports
    • security
    • tasks
  • Dashboard
  • DataObjectManager
  • event
  • faq
  • forms
    • actions
    • core
    • fields-basic
    • fields-dataless
    • fields-datetime
    • fields-files
    • fields-formatted
    • fields-formattedinput
    • fields-relational
    • fields-structural
    • transformations
    • validators
  • googlesitemaps
  • guestbook
  • installer
  • newsletter
  • None
  • photo
    • gallery
  • PHP
  • polls
  • recaptcha
  • sapphire
    • api
    • bulkloading
    • control
    • core
    • cron
    • dev
    • email
    • fields-formattedinput
    • filesystem
    • formatters
    • forms
    • i18n
    • integration
    • misc
    • model
    • parsers
    • search
    • security
    • tasks
    • testing
    • tools
    • validation
    • view
    • widgets
  • seo
    • open
      • graph
  • sfDateTimePlugin
  • spamprotection
  • stealth
    • captha
  • subsites
  • userform
    • pagetypes
  • userforms
  • webylon
  • widgets

Classes

  • ArrayLib
  • BBCodeParser
  • Convert
  • Cookie
  • DataDifferencer
  • Geoip
  • HTMLCleaner
  • HTTP
  • i18n
  • Profiler
  • ShortcodeParser
  • SSHTMLBBCodeParser
  • SSHTMLBBCodeParser_Filter
  • SSHTMLBBCodeParser_Filter_Basic
  • SSHTMLBBCodeParser_Filter_EmailLinks
  • SSHTMLBBCodeParser_Filter_Extended
  • SSHTMLBBCodeParser_Filter_Images
  • SSHTMLBBCodeParser_Filter_Links
  • SSHTMLBBCodeParser_Filter_Lists
  • TextParser
  • Translatable_Transformation
  • XML

Class DataDifferencer

Utility class to render views of the differences between two data objects (or two versions of the same data object).

Construcing a diff object is done as follows:

$fromRecord = Versioned::get_version('SiteTree', $pageID, $fromVersion);
$toRecord = Versioned::get_version('SiteTree, $pageID, $toVersion);
$diff = new DataDifferencer($fromRecord, $toRecord);

And then it can be used in a number of ways. You can use the ChangedFields() method in a template:

<dl class="diff">
<% control Diff.ChangedFields %>
   <dt>$Title</dt>
   <dd>$Diff</dd>
<% end_control %>
</dl>

Or you can get the diff'ed content as another DataObject, that you can insert into a form.

$form->loadDataFrom($diff->diffedData());

If there are fields whose changes you aren't interested in, you can ignore them like so:

$diff->ignoreFields('AuthorID', 'Status');
Object
Extended by ViewableData implements IteratorAggregate
Extended by DataDifferencer
Package: sapphire\misc
Located at sapphire/core/model/DataDifferencer.php

Methods summary

public
# __construct( mixed $fromRecord, mixed $toRecord )

Construct a DataDifferencer to show the changes between $fromRecord and $toRecord. If $fromRecord is null, this will represent a "creation".

Construct a DataDifferencer to show the changes between $fromRecord and $toRecord. If $fromRecord is null, this will represent a "creation".

Overrides

Object::__construct
public
# ignoreFields( mixed $ignoredFields )

Specify some fields to ignore changes from. Repeated calls are cumulative.

Specify some fields to ignore changes from. Repeated calls are cumulative.

Parameters

$ignoredFields
$ignoredFields An array of field names to ignore. Alternatively, pass the field names as separate args.
public
# diffedData( )

Get a DataObject with altered values replaced with HTML diff strings, incorporating <ins> and <del> tags.

Get a DataObject with altered values replaced with HTML diff strings, incorporating <ins> and <del> tags.

public
# ChangedFields( )

Get a DataObjectSet of the changed fields. Each element is an array data containing
- Name: The field name
- Title: The human-readable field title
- Diff: An HTML diff showing the changes
- From: The older version of the field
- To: The newer version of the field

Get a DataObjectSet of the changed fields. Each element is an array data containing - Name: The field name - Title: The human-readable field title - Diff: An HTML diff showing the changes - From: The older version of the field - To: The newer version of the field

public
# changedFieldNames( )

Get an array of the names of every fields that has changed. This is simpler than DataDifferencer::ChangedFields()

Get an array of the names of every fields that has changed. This is simpler than DataDifferencer::ChangedFields()

Methods inherited from ViewableData

ATT_val(), BaseHref(), CSSClasses(), ColumnBreak(), ColumnCalc(), ColumnNumber(), ColumnPad(), ColumnPos(), CurrentMember(), CurrentPage(), Debug(), Even(), EvenOdd(), First(), FirstLast(), HasPerm(), IsAjax(), JS_val(), Last(), Me(), Middle(), MiddleString(), Modulus(), MultipleOf(), Odd(), Pos(), RAW_val(), SQL_val(), ThemeDir(), ThemeName(), Top(), TotalItems(), XML_val(), __get(), __isset(), __set(), buildCastingCache(), cachedCall(), castingClass(), castingHelper(), castingHelperPair(), castingObjectCreator(), castingObjectCreatorPair(), customise(), defineMethods(), escapeTypeForField(), getField(), getIterator(), getSecurityID(), getXMLValues(), hasField(), hasValue(), i18nLocale(), iteratorProperties(), obj(), renderWith(), setCustomisedObj(), setField()

Methods inherited from Object

__call(), __toString(), __wakeup(), addMethodsFrom(), addStaticVars(), addWrapperMethod(), add_extension(), add_static_var(), allMethodNames(), cacheToFile(), cacheToFileWithArgs(), clearCache(), combined_static(), create(), createMethod(), create_from_string(), exists(), extInstance(), extend(), getCustomClass(), getExtensionInstance(), getExtensionInstances(), get_extensions(), get_static(), hasExtension(), hasMethod(), has_extension(), invokeWithExtensions(), is_a(), loadCache(), parentClass(), parse_class_spec(), remove_extension(), sanitiseCachename(), saveCache(), set_stat(), set_static(), set_uninherited(), stat(), strong_create(), uninherited(), uninherited_static(), useCustomClass()

Magic methods summary

Properties summary

protected mixed $fromRecord
#
protected mixed $toRecord
#
protected array $ignoredFields
#

Properties inherited from ViewableData

$casting, $customisedObject, $default_cast, $failover, $iteratorPos, $iteratorTotalItems

Properties inherited from Object

$class, $extension_instances, $extensions

[Raise a SilverStripe Framework issue/bug](https://github.com/silverstripe/silverstripe-framework/issues/new)
- [Raise a SilverStripe CMS issue/bug](https://github.com/silverstripe/silverstripe-cms/issues/new)
- Please use the Silverstripe Forums to ask development related questions. -
Webylon 3.1 API Docs API documentation generated by ApiGen 2.8.0