/** * Get data for enable fields for a single record. * * @param object $record The current database record for the current row of data. * * @return array An array of additional data, indexed by field. */ public function get_data($record) { $additional_data = array(); foreach ($this->enabled_fields as $field => $fieldrec) { $record_field_key = static::FIELDSET_NAME . '_' . $field; if ($field === 'curass_expires') { if (isset($record->{$record_field_key}) && is_numeric($record->{$record_field_key})) { $date_format = get_string('date_format', 'dhexport_version1elis'); $additional_data['curass_expires'] = date($date_format, $record->{$record_field_key}); } else { $additional_data['curass_expires'] = get_string('nodatemarker', 'dhexport_version1elis'); } } else { $additional_data[$field] = isset($record->{$record_field_key}) ? $record->{$record_field_key} : ''; } } $additional_data = array_merge($additional_data, parent::get_data($record)); return $additional_data; }
/** * Gets SQL JOIN fragments for custom fields. * * @return array An array of SQL JOIN fragments. */ public function get_sql_join() { $join = array(); $join[] = "LEFT JOIN {context} " . static::FIELDSET_NAME . "_ctx\n ON " . static::FIELDSET_NAME . "_ctx.contextlevel = " . CONTEXT_ELIS_USER . "\n AND " . static::FIELDSET_NAME . "_ctx.instanceid = u.id"; $join = array_merge($join, parent::get_sql_join()); return $join; }