public function getDuplicateCheckIndexedFiles() { require_once 'include/export_utils.php'; $import_fields = $this->_focus->get_importable_fields(); $importable_keys = array_keys($import_fields); // $index_array = array(); $fields_used = array(); $mstr_exclude_array = array('all' => array('team_set_id', 'id', 'deleted'), 'contacts' => array('email2'), array('leads' => 'reports_to_id'), array('prospects' => 'tracker_key')); //create exclude array from subset of applicable mstr_exclude_array elements $exclude_array = isset($mstr_exclude_array[strtolower($this->_focus->module_dir)]) ? array_merge($mstr_exclude_array[strtolower($this->_focus->module_dir)], $mstr_exclude_array['all']) : $mstr_exclude_array['all']; //process all fields belonging to indexes foreach ($this->_getIndexVardefs() as $index) { if ($index['type'] == "index") { foreach ($index['fields'] as $field) { $fieldName = ''; //skip this field if it is the deleted field, not in the importable keys array, or a field in the exclude array if (!in_array($field, $importable_keys) || in_array($field, $exclude_array)) { continue; } $fieldDef = $this->_focus->getFieldDefinition($field); //skip if this field is already defined (from another index) if (in_array($fieldDef['name'], $fields_used)) { continue; } //get the proper export label $fieldName = translateForExport($fieldDef['name'], $this->_focus); $index_array[$index['name'] . '::' . $fieldDef['name']] = $fieldName; $fields_used[] = $fieldDef['name']; } } } //special handling for beans with first_name and last_name if (in_array('first_name', $fields_used) && in_array('last_name', $fields_used)) { //since both full name and last name fields have been mapped, add full name index $index_array['full_name::full_name'] = translateForExport('full_name', $this->_focus); $fields_used[] = 'full_name'; } asort($index_array); return $index_array; }