/** * Process mapped columns to check for matched record by column * @param ImportRules $importRules * @param RedBeanModel $model * @param array $mappingData * @param RedBean_OODBBean $rowBean * @param ImportSanitizeResultsUtil $importSanitizeResultsUtil * @param array $skippedColumns */ protected static function processDedupeAttributesToCheckForSkipIfRequired(ImportRules $importRules, RedBeanModel $model, $mappingData, $rowBean, ImportRowDataResultsUtil $importRowDataResultsUtil, ImportSanitizeResultsUtil $importSanitizeResultsUtil, &$skippedColumns) { assert('$rowBean instanceof RedBean_OODBBean'); $isSkipped = false; //Process the dedupe fields foreach ($importRules->getDedupeAttributes() as $dedupeField) { $sourceColumnName = static::getMappedColumnNameByMappingData($dedupeField, $mappingData); if (false !== $sourceColumnName) { $columnMappingData = $mappingData[$sourceColumnName]; $attributeValueData = static::getAttributeValueData($importRules, $sourceColumnName, $columnMappingData, $rowBean, $importSanitizeResultsUtil); if (!$importSanitizeResultsUtil->shouldSaveModel()) { $importRowDataResultsUtil->addMessages($importSanitizeResultsUtil->getMessages()); $importRowDataResultsUtil->setStatusToError(); $isSkipped = true; } $skippedColumns[] = $sourceColumnName; } } return $isSkipped; }