abstract class CRM_Activity_Import_Parser extends CRM_Import_Parser

Constants

MAX_WARNINGS

Settings

DEFAULT_TIMEOUT

Settings

VALID

Return codes

WARNING

Return codes

ERROR

Return codes

CONFLICT

Return codes

STOP

Return codes

DUPLICATE

Return codes

MULTIPLE_DUPE

Return codes

NO_MATCH

Return codes

UNPARSED_ADDRESS_WARNING

Return codes

MODE_MAPFIELD

Parser modes

MODE_PREVIEW

Parser modes

MODE_SUMMARY

Parser modes

MODE_IMPORT

Parser modes

DUPLICATE_SKIP

Codes for duplicate record handling

DUPLICATE_REPLACE

Codes for duplicate record handling

DUPLICATE_UPDATE

Codes for duplicate record handling

DUPLICATE_FILL

Codes for duplicate record handling

DUPLICATE_NOCHECK

Codes for duplicate record handling

CONTACT_INDIVIDUAL

Contact types

CONTACT_HOUSEHOLD

Contact types

CONTACT_ORGANIZATION

Contact types

Properties

protected int $_totalCount Total number of non empty lines from CRM_Import_Parser
protected int $_validCount Running total number of valid lines from CRM_Import_Parser
protected int $_invalidRowCount Running total number of invalid rows from CRM_Import_Parser
protected int $_maxLinesToProcess Maximum number of non-empty/comment lines to process from CRM_Import_Parser
protected array $_errors Array of error lines, bounded by MAX_ERROR from CRM_Import_Parser
protected int $_conflictCount Total number of conflict lines from CRM_Import_Parser
protected array $_conflicts Array of conflict lines from CRM_Import_Parser
protected int $_duplicateCount Total number of duplicate (from database) lines from CRM_Import_Parser
protected array $_duplicates Array of duplicate lines from CRM_Import_Parser
protected int $_warningCount Running total number of warnings from CRM_Import_Parser
protected int $_maxWarningCount Maximum number of warnings to store from CRM_Import_Parser
protected array $_warnings Array of warning lines, bounded by MAX_WARNING from CRM_Import_Parser
protected array $_fields Array of all the fields that could potentially be part of this import process from CRM_Import_Parser
protected array $importableFieldsMetadata Metadata for all available fields, keyed by unique name. from CRM_Import_Parser
protected array $_activeFields Array of the fields that are actually part of the import process the position in the array also dictates their position in the import file from CRM_Import_Parser
protected int $_activeFieldCount Cache the count of active fields from CRM_Import_Parser
protected array $_rows Cache of preview rows from CRM_Import_Parser
protected string $_errorFileName Filename of error data from CRM_Import_Parser
protected string $_conflictFileName Filename of conflict data from CRM_Import_Parser
protected string $_duplicateFileName Filename of duplicate data from CRM_Import_Parser
int $_contactType Contact type from CRM_Import_Parser
int $_contactSubType Contact sub-type from CRM_Import_Parser
protected $_fileName
protected int $_fileSize Imported file size.
protected string $_seperator Separator being used.
protected int $_lineCount Total number of lines in file.
protected bool $_haveColumnHeader Whether the file has a column header or not.

Methods

array
getImportableFieldsMetadata()

Get metadata for all importable fields in std getfields style format.

setImportableFieldsMetadata(array $importableFieldsMetadata)

Set metadata for all importable fields in std getfields style format.

__construct()

Class constructor.

init()

Abstract function definitions.

mixed
fini()

No description

mixed
mapField(array $values)

Map field.

mixed
preview(array $values)

Preview.

mixed
summary($values)

No description

mixed
import($onDuplicate, $values)

No description

int
setActiveFieldValues(array $elements, $erroneousField)

Set and validate field values.

array
getActiveFieldParams()

Format the field values for input to the api.

NULL|$currTimestamp
progressImport($statusID, bool $startImport = TRUE, $startTimestamp = NULL, $prevTimestamp = NULL, $totalRowCount = NULL)

Add progress bar to the import process. Calculates time remaining, status etc.

array
getSelectValues()

No description

array
getSelectTypes()

No description

array
getHeaderPatterns()

No description

array
getDataPatterns()

No description

static void
encloseScrub(array $values, string $enclosure = "'")

Remove single-quote enclosures from a value array (row).

void
setMaxLinesToProcess(int $max)

Setter function.

static string
errorFileName($type)

Determines the file extension based on error code.

static string
saveFileName($type)

Determines the file name based on error code.

array
checkContactDuplicate(array $formatValues)

Check if contact is a duplicate .

mixed
parsePseudoConstantField(string|int|null $submittedValue, array $fieldSpec)

Parse a field which could be represented by a label or name value rather than the DB value.

mixed
run(string $fileName, string $seperator = ',', $mapper, bool $skipColumnHeader = FALSE, int $mode = self::MODE_PREVIEW, int $onDuplicate = self::DUPLICATE_SKIP, int $statusID = NULL, int $totalRowCount = NULL)

No description

setActiveFields(array $fieldKeys)

Given a list of the importable field keys that the user has selected set the active fields array to this list.

addField(string $name, $title, int $type = CRM_Utils_Type::T_INT, string $headerPattern = '//', string $dataPattern = '//')

No description

set(CRM_Core_Session $store, int $mode = self::MODE_SUMMARY)

Store parser values.

static 
exportCSV(string $fileName, array $header, array $data)

Export data to a CSV file.

Details

in CRM_Import_Parser at line 155
array getImportableFieldsMetadata()

Get metadata for all importable fields in std getfields style format.

Return Value

array

in CRM_Import_Parser at line 163
setImportableFieldsMetadata(array $importableFieldsMetadata)

Set metadata for all importable fields in std getfields style format.

Parameters

array $importableFieldsMetadata

in CRM_Import_Parser at line 226
__construct()

Class constructor.

in CRM_Import_Parser at line 233
abstract protected init()

Abstract function definitions.

in CRM_Import_Parser at line 238
abstract protected mixed fini()

Return Value

mixed

in CRM_Import_Parser at line 247
abstract protected mixed mapField(array $values)

Map field.

Parameters

array $values

Return Value

mixed

in CRM_Import_Parser at line 256
abstract protected mixed preview(array $values)

Preview.

Parameters

array $values

Return Value

mixed

in CRM_Import_Parser at line 263
abstract protected mixed summary($values)

Parameters

$values

Return Value

mixed

in CRM_Import_Parser at line 271
abstract protected mixed import($onDuplicate, $values)

Parameters

$onDuplicate
$values

Return Value

mixed

in CRM_Import_Parser at line 283
int setActiveFieldValues(array $elements, $erroneousField)

Set and validate field values.

Parameters

array $elements array.
$erroneousField reference.

Return Value

int

at line 299
array getActiveFieldParams()

Format the field values for input to the api.

Return Value

array (reference) associative array of name/value pairs

in CRM_Import_Parser at line 343
NULL|$currTimestamp progressImport($statusID, bool $startImport = TRUE, $startTimestamp = NULL, $prevTimestamp = NULL, $totalRowCount = NULL)

Add progress bar to the import process. Calculates time remaining, status etc.

Parameters

$statusID status id of the import process saved in $config->uploadDir.
bool $startImport True when progress bar is to be initiated.
$startTimestamp Initial timstamp when the import was started.
$prevTimestamp Previous timestamp when this function was last called.
$totalRowCount Total number of rows in the import file.

Return Value

NULL|$currTimestamp

in CRM_Import_Parser at line 385
array getSelectValues()

Return Value

array

in CRM_Import_Parser at line 396
array getSelectTypes()

Return Value

array

in CRM_Import_Parser at line 409
array getHeaderPatterns()

Return Value

array

in CRM_Import_Parser at line 422
array getDataPatterns()

Return Value

array

in CRM_Import_Parser at line 438
static void encloseScrub(array $values, string $enclosure = "'")

Remove single-quote enclosures from a value array (row).

Parameters

array $values
string $enclosure

Return Value

void

in CRM_Import_Parser at line 455
void setMaxLinesToProcess(int $max)

Setter function.

Parameters

int $max

Return Value

void

in CRM_Import_Parser at line 465
static string errorFileName($type)

Determines the file extension based on error code.

Parameters

$type

Return Value

string

in CRM_Import_Parser at line 504
static string saveFileName($type)

Determines the file name based on error code.

Parameters

$type

Return Value

string

in CRM_Import_Parser at line 541
protected array checkContactDuplicate(array $formatValues)

Check if contact is a duplicate .

Parameters

array $formatValues

Return Value

array

in CRM_Import_Parser at line 563
protected mixed parsePseudoConstantField(string|int|null $submittedValue, array $fieldSpec)

Parse a field which could be represented by a label or name value rather than the DB value.

We will try to match name first or (per https://lab.civicrm.org/dev/core/issues/1285 if we have an id.

but if not available then see if we have a label that can be converted to a name.

Parameters

string|int|null $submittedValue
array $fieldSpec Metadata for the field

Return Value

mixed

at line 75
mixed run(string $fileName, string $seperator = ',', $mapper, bool $skipColumnHeader = FALSE, int $mode = self::MODE_PREVIEW, int $onDuplicate = self::DUPLICATE_SKIP, int $statusID = NULL, int $totalRowCount = NULL)

Parameters

string $fileName
string $seperator
$mapper
bool $skipColumnHeader
int $mode
int $onDuplicate
int $statusID
int $totalRowCount

Return Value

mixed

Exceptions

Exception

at line 281
setActiveFields(array $fieldKeys)

Given a list of the importable field keys that the user has selected set the active fields array to this list.

Parameters

array $fieldKeys

at line 320
addField(string $name, $title, int $type = CRM_Utils_Type::T_INT, string $headerPattern = '//', string $dataPattern = '//')

Parameters

string $name
$title
int $type
string $headerPattern
string $dataPattern

at line 343
set(CRM_Core_Session $store, int $mode = self::MODE_SUMMARY)

Store parser values.

Parameters

CRM_Core_Session $store
int $mode

at line 384
static exportCSV(string $fileName, array $header, array $data)

Export data to a CSV file.

Parameters

string $fileName
array $header
array $data