modules/UpgradeWizard/SugarMerge/ListViewMerge.php
\ListViewMerge
This class is used to merge list view meta data. It subclasses EditView merge and transforms listview meta data into EditView meta data for the merge and then transforms it back into list view meta data
- Parent(s)
- \EditViewMerge
- Children
- \SubpanelMerge
- \SearchMerge
Properties
BOOLEAN
$bestMatch= 'true'
true
Details- Type
- BOOLEAN
- Inherited_from
- \EditViewMerge::$$bestMatch
ARRAY
$customData= 'array()'
this will store the meta data for the custom file
Inherited from: \EditViewMerge::$$customDataarray()
Details- Type
- ARRAY
- Inherited_from
- \EditViewMerge::$$customData
ARRAY
$customFields= 'array()'
this will store an associative array contianing all the fields that are used in the custom meta data file
Inherited from: \EditViewMerge::$$customFieldsarray()
Details- Type
- ARRAY
- Inherited_from
- \EditViewMerge::$$customFields
$customPanelIds= 'array()'
The ids of the panels found in custom metadata fuke
Inherited from: \EditViewMerge::$$customPanelIdsarray()
Details- Type
- n/a
- Inherited_from
- \EditViewMerge::$$customPanelIds
STRING
$defaultPanel= ''default''
The default panel we place the fields in if we aren't using the best match algorithim
Inherited from: \EditViewMerge::$$defaultPanel'default'
Details- Type
- STRING
- Inherited_from
- \EditViewMerge::$$defaultPanel
$fieldConversionMapping= 'array(
'Campaigns' => array('created_by_name'=>'date_entered', 'modified_by_name'=>'date_modified'),
'Cases' => array('created_by_name'=>'date_entered', 'modified_by_name'=>'date_modified'),
'Contracts' => array('created_by_name'=>'date_entered', 'modified_by_name'=>'date_modified'),
'Leads' => array('created_by'=>'date_entered'),
'Meetings' => array('created_by_name'=>'date_entered', 'modified_by_name'=>'date_modified'),
'ProspectLists' => array('created_by_name'=>'date_entered', 'modified_by_name'=>'date_modified'),
'Prospects' => array('created_by_name'=>'date_entered', 'modified_by_name'=>'date_modified'),
)'
array(
'Campaigns' => array('created_by_name'=>'date_entered', 'modified_by_name'=>'date_modified'),
'Cases' => array('created_by_name'=>'date_entered', 'modified_by_name'=>'date_modified'),
'Contracts' => array('created_by_name'=>'date_entered', 'modified_by_name'=>'date_modified'),
'Leads' => array('created_by'=>'date_entered'),
'Meetings' => array('created_by_name'=>'date_entered', 'modified_by_name'=>'date_modified'),
'ProspectLists' => array('created_by_name'=>'date_entered', 'modified_by_name'=>'date_modified'),
'Prospects' => array('created_by_name'=>'date_entered', 'modified_by_name'=>'date_modified'),
)
Details- Type
- n/a
- Inherited_from
- \EditViewMerge::$$fieldConversionMapping
\FILEPOINTER
$fp= 'NULL'
The file pointer to log to if set to NULL it will use the GLOBALS['log'] if available and log to debug
Inherited from: \EditViewMerge::$$fpNULL
Details- Type
- \FILEPOINTER
- Inherited_from
- \EditViewMerge::$$fp
BOOLEAN
$isMultiPanel= 'true'
If true then it works as though it's a multipanel
Inherited from: \EditViewMerge::$$isMultiPaneltrue
Details- Type
- BOOLEAN
- Inherited_from
- \EditViewMerge::$$isMultiPanel
ARRAY
$mergedFields= 'array()'
this will store an associative array contianing all the merged fields
Inherited from: \EditViewMerge::$$mergedFieldsarray()
Details- Type
- ARRAY
- Inherited_from
- \EditViewMerge::$$mergedFields
STRING
$module= ''module''
'module'
Details- Type
- STRING
- Inherited_from
- \EditViewMerge::$$module
ARRAY
$newData= 'array()'
array()
Details- Type
- ARRAY
- Inherited_from
- \EditViewMerge::$$newData
ARRAY
$newFields= 'array()'
this will store an associative array contianing all the fields that are used in the new meta data file
Inherited from: \EditViewMerge::$$newFieldsarray()
Details- Type
- ARRAY
- Inherited_from
- \EditViewMerge::$$newFields
$newPanelIds= 'array()'
The ids of the panels found in original metadata fuke
Inherited from: \EditViewMerge::$$newPanelIdsarray()
Details- Type
- n/a
- Inherited_from
- \EditViewMerge::$$newPanelIds
ARRAY
$originalData= 'array()'
this will store the meta data for the original file
Inherited from: \EditViewMerge::$$originalDataarray()
Details- Type
- ARRAY
- Inherited_from
- \EditViewMerge::$$originalData
ARRAY
$originalFields= 'array()'
this will store an associative array contianing all the fields that are used in the original meta data file
Inherited from: \EditViewMerge::$$originalFieldsarray()
Details- Type
- ARRAY
- Inherited_from
- \EditViewMerge::$$originalFields
$originalPanelIds= 'array()'
The ids of the panels found in original metadata fuke
Inherited from: \EditViewMerge::$$originalPanelIdsarray()
Details- Type
- n/a
- Inherited_from
- \EditViewMerge::$$originalPanelIds
STRING
$panelName= ''panels''
'panels'
Details- Type
- STRING
- Inherited_from
- \EditViewMerge::$$panelName
\unknown_type
$scanForMultiPanel= 'true'
Determines if getFields should analyze panels to determine if it is a MultiPanel
Inherited from: \EditViewMerge::$$scanForMultiPaneltrue
Details- Type
- \unknown_type
- Inherited_from
- \EditViewMerge::$$scanForMultiPanel
$templateMetaName= ''templateMeta''
The name of the templateMeta data secion in the meta data
Inherited from: \EditViewMerge::$$templateMetaName'templateMeta'
Details- Type
- n/a
- Inherited_from
- \EditViewMerge::$$templateMetaName
STRING
$varName= ''listViewDefs''
The variable name that is used with the file for example in editviewdefs and detailviewdefs it is $viewdefs
'listViewDefs'
Details- Type
- STRING
Methods
areMatchingValues(
\MULTI $val1, \MULTI $val2
)
:
BOOLEAN
returns true if $val1 and $val2 match otherwise it returns false
Inherited from: \EditViewMerge::areMatchingValues()Name | Type | Description |
---|---|---|
$val1 | \MULTI |
|
$val2 | \MULTI |
|
Type | Description |
---|---|
BOOLEAN | - if $val1 and $val2 match |
arrayMerge(
ARRAY $gimp, ARRAY $dom
)
:
ARRAY
Name | Type | Description |
---|---|---|
$gimp | ARRAY |
|
$dom | ARRAY |
|
Type | Description |
---|---|
ARRAY | $merged - the merges array |
buildPanels(
)
:
ARRAY
This builds the array of fields from the merged fields in the appropriate order when building the panels for a list view the most important thing is order so we ensure the fields that came from the custom file keep their order then we add any new fields at the end
Type | Description |
---|---|
ARRAY |
clear(
)
:
void
Clears out the values of the arrays so that the same object can be utilized
Inherited from: \EditViewMerge::clear()getData(
)
:
ARRAY
This will return the meta data of the merged file
Inherited from: \EditViewMerge::getData()Type | Description |
---|---|
ARRAY | - the meta data of the merged file |
getFields(
ARRAY $panels, $multiple
=
true
)
:
ARRAY
This takes in a list of panels and returns an associative array of field names to the meta-data of the field as well as the locations of that field Since ListViews don't have the concept of rows and columns it takes the panel and the row to be the field name
Name | Type | Description |
---|---|---|
$panels | ARRAY |
|
$multiple |
Type | Description |
---|---|
ARRAY | $fields - an associate array of fields and their meta-data as well as their location |
loadData(
STRING $module, STRING $original_file, STRING $new_file, STRING $custom_file
)
:
void
Loads the meta data of the original, new, and custom file into the variables originalData, newData, and customData respectively it then transforms them into a structure that EditView Merge would understand
Name | Type | Description |
---|---|---|
$module | STRING |
|
$original_file | STRING |
|
$new_file | STRING |
|
$custom_file | STRING |
|
log(
\MULTI $message
)
:
void
Logs the given message if the message is not a string it will export it first. If $this->fp is NULL then it will try to log to the $GLOBALS['log'] if it is available
Inherited from: \EditViewMerge::log()Name | Type | Description |
---|---|---|
$message | \MULTI |
merge(
STRING $module, STRING $original_file, STRING $new_file, STRING $custom_file
=
false, BOOLEAN $save
=
true
)
:
BOOLEAN
public function that will merge meta data from an original sugar file that shipped with the product, a customized file, and a new file shipped with an upgrade
Inherited from: \EditViewMerge::merge()Name | Type | Description |
---|---|---|
$module | STRING |
|
$original_file | STRING |
|
$new_file | STRING |
|
$custom_file | STRING |
|
$save | BOOLEAN |
|
Type | Description |
---|---|
BOOLEAN | - if the merged file was saved if false is passed in for the save parameter it always returns true |
mergeField(
ARRAY $orig, ARRAY $new, ARRAY $custom
)
:
ARRAY
Merges the meta data of a single field
Name | Type | Description |
---|---|---|
$orig | ARRAY |
|
$new | ARRAY |
|
$custom | ARRAY |
|
Type | Description |
---|---|
ARRAY | $merged - the merged meta-data |
mergeMetaData(
)
:
void
Parses out the fields for each files meta data and then calls on mergeFields and setPanels
Inherited from: \EditViewMerge::mergeMetaData()mergeTemplateMeta(
)
:
void
Merge the templateMeta entry for the view defs. Also assume that any changes made in the custom files should have precedence since they must be changed manually, even over new files that may be provided in the upgarde patch.
Inherited from: \EditViewMerge::mergeTemplateMeta()save(
STRING $to
)
:
BOOLEAN
This will save the merged data to a file
Name | Type | Description |
---|---|---|
$to | STRING |
|
Type | Description |
---|---|
BOOLEAN | - success or failure of the save |
setBestMatch(
BOOLEAN $on
=
true
)
:
void
Allows the user to choose to use the best match algorithim or not
Inherited from: \EditViewMerge::setBestMatch()Name | Type | Description |
---|---|---|
$on | BOOLEAN |
setDefaultPanel(
STRING $name
=
'default'
)
:
void
Allows users to set the name to use as the default panel in the meta data
Inherited from: \EditViewMerge::setDefaultPanel()Name | Type | Description |
---|---|---|
$name | STRING |
|
setLogFile(
STRING $file
)
:
void
opens the file with the 'a' parameter and use it to log messages to
Inherited from: \EditViewMerge::setLogFile()Name | Type | Description |
---|---|---|
$file | STRING |
|
setLogFilePointer(
\FILEPOINTER $fp
)
:
void
Allows the user to set a filepointer that is already open to log to
Inherited from: \EditViewMerge::setLogFilePointer()Name | Type | Description |
---|---|---|
$fp | \FILEPOINTER |