class CRM_Member_Import_Parser_Membership extends CRM_Member_Import_Parser

class to parse membership csv files

Constants

MAX_ERRORS

Settings

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 $_totalCount Total number of non empty lines from CRM_Import_Parser
protected $_validCount Running total number of valid lines from CRM_Import_Parser
protected $_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 $_maxErrorCount Maximum number of invalid rows to store from CRM_Import_Parser
protected $_errors Array of error lines, bounded by MAX_ERROR from CRM_Import_Parser
protected $_conflictCount Total number of conflict lines from CRM_Import_Parser
protected $_conflicts Array of conflict lines from CRM_Import_Parser
protected $_duplicateCount Total number of duplicate (from database) lines from CRM_Import_Parser
protected $_duplicates Array of duplicate lines from CRM_Import_Parser
protected $_warningCount Running total number of warnings from CRM_Import_Parser
protected $_maxWarningCount Maximum number of warnings to store from CRM_Import_Parser
protected $_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 $_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 from CRM_Member_Import_Parser
protected $_fileSize Imported file size from CRM_Member_Import_Parser
protected $_seperator Seperator being used from CRM_Member_Import_Parser
protected $_lineCount Total number of lines in file from CRM_Member_Import_Parser
protected boolean $_haveColumnHeader Whether the file has a column header or not from CRM_Member_Import_Parser
protected $_mapperKeys
protected $_newMemberships Array of successfully imported membership id's

Methods

__construct($mapperKeys, null $mapperLocType = NULL, null $mapperPhoneType = NULL)

Class constructor.

init()

The initializer code, called before the processing

mixed
fini()

The initializer code, called before the processing

mixed
mapField(array $values)

Handle the values in mapField mode.

mixed
preview(array $values)

Handle the values in preview mode.

mixed
summary($values)

Handle the values in summary mode.

mixed
import($onDuplicate, $values)

Handle the values in import mode.

int
setActiveFieldValues(array $elements, $erroneousField)

Set and validate field values.

array
getActiveFieldParams()

Format the field values for input to the api.

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.

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

No description

void
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

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

Store parser values.

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

Export data to a CSV file.

array
getImportedMemberships()

Get the array of successfully imported membership id's

formattedDates(array $calcDates, $formatted)

to calculate join, start and end dates

array|error
membership_format_params(array $params, array $values, array|bool $create = FALSE) deprecated

No description

Details

at line 65
__construct($mapperKeys, null $mapperLocType = NULL, null $mapperPhoneType = NULL)

Class constructor.

Parameters

$mapperKeys
null $mapperLocType
null $mapperPhoneType

at line 75
init()

The initializer code, called before the processing

at line 588
mixed fini()

The initializer code, called before the processing

Return Value

mixed

at line 121
mixed mapField(array $values)

Handle the values in mapField mode.

Parameters

array $values

Return Value

mixed

at line 134
mixed preview(array $values)

Handle the values in preview mode.

Parameters

array $values

Return Value

mixed

at line 147
mixed summary($values)

Handle the values in summary mode.

Parameters

$values

Return Value

mixed

at line 264
mixed import($onDuplicate, $values)

Handle the values in import mode.

Parameters

$onDuplicate
$values

Return Value

mixed

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

Set and validate field values.

Parameters

array $elements array.
$erroneousField reference.

Return Value

int

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 298
array getSelectValues()

Return Value

array

in CRM_Import_Parser at line 309
array getSelectTypes()

Return Value

array

in CRM_Import_Parser at line 322
array getHeaderPatterns()

Return Value

array

in CRM_Import_Parser at line 335
array getDataPatterns()

Return Value

array

in CRM_Import_Parser at line 351
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 368
void setMaxLinesToProcess(int $max)

Setter function.

Parameters

int $max

Return Value

void

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

Determines the file extension based on error code.

Parameters

$type

Return Value

string

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

Determines the file name based on error code.

Parameters

$type

Return Value

string

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

Parameters

string $fileName
string $seperator
$mapper
bool $skipColumnHeader
int $mode
int $contactType
int $onDuplicate

Return Value

mixed

Exceptions

Exception

void 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 mapped array of values

Return Value

void

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

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

Store parser values.

Parameters

CRM_Core_Session $store
int $mode

Return Value

void

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

Export data to a CSV file.

Parameters

string $fileName
array $header
array $data

Return Value

void

at line 579
array getImportedMemberships()

Get the array of successfully imported membership id's

Return Value

array

at line 600
formattedDates(array $calcDates, $formatted)

to calculate join, start and end dates

Parameters

array $calcDates Array of dates returned by getDatesForMembershipType().
$formatted

at line 637
array|error membership_format_params(array $params, array $values, array|bool $create = FALSE) deprecated

deprecated - this function formats params according to v2 standards but need to be sure about the impact of not calling it so retaining on the import class take the input parameter list as specified in the data model and convert it into the same format that we use in QF and BAO object

Parameters

array $params Associative array of property name/value. pairs to insert in new contact.
array $values The reformatted properties that we can use internally.
array|bool $create Is the formatted Values array going to be used for CRM_Member_BAO_Membership:create()

Return Value

array|error

Exceptions

Exception