\org_openpsa_contacts_duplicates_merge

Helper to merge duplicate objects

Summary

Methods
Properties
Constants
__construct()
merge()
merge_delete()
merge_needed()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
process_dba_classes()
merge_metadata()
check_duplicate()
merge_persons()
$_object_mode
$config
N/A

Properties

$_object_mode

$_object_mode : 

Type

Methods

__construct()

__construct(string  $mode, \midcom_helper_configuration  $config) 

Constructor, the parameter governs which objects the instance works on

Parameters

string $mode

currently valid modes are 'person' and 'group'

\midcom_helper_configuration $config

merge()

merge(  $obj1,   $obj2,   $merge_mode) 

Merges given objects

Depending on modes either all or only future dependencies, this method will go trough all components' interface classes and call a merge method there

Parameters

$obj1
$obj2
$merge_mode

merge_delete()

merge_delete(\midcom_core_dbaobject  $obj1, \midcom_core_dbaobject  $obj2) 

Merges first object with second and then deletes the second

Parameters

\midcom_core_dbaobject $obj1

Object that will remain

\midcom_core_dbaobject $obj2

Object that will be deleted

merge_needed()

merge_needed() : boolean

Checks if there are any objects (for the mode given in constructor) that need to be processed

Note: does not check user's privileges or that the objects actually exist (the cleanup cronjob handles dangling references)

Returns

boolean —

indicating need for processing (merge/not duplicate)

process_dba_classes()

process_dba_classes(  $obj1,   $obj2, array  $config) 

Parameters

$obj1
$obj2
array $config

merge_metadata()

merge_metadata(  $person1,   $person2, array  $config) 

Handle metadata dependencies

Parameters

$person1
$person2
array $config

check_duplicate()

check_duplicate(array  $results, \midcom_core_dbaobject  $object,   $field) 

Parameters

array $results
\midcom_core_dbaobject $object
$field

merge_persons()

merge_persons(  $person1,   $person2) 

Parameters

$person1
$person2