protected function renderPreviewTable() { $out = '<div class="import-table-wrapper">'; $out .= '<table class="grid import-preview">'; $out .= '<tr><th></th>'; $importFields = $this->getImportFields(); foreach ($importFields as $field) { if ($field->isForImport()) { $out .= sprintf('<th%s>%s</th>', $field->isRequired() && !$field->isDefined() ? ' class="required"' : '', $field->getTitle()); } } if ($this->session->importOptions['add_subscription']) { $importSubFields = $this->getImportFields(self::FIELD_TYPE_SUBSCRIPTION); foreach ($importSubFields as $field) { if ($field->isForImport()) { $out .= sprintf('<th%s>%s</th>', $field->isRequired() && !$field->isDefined() ? ' class="required"' : '', $field->getTitle()); } } } if ($this->session->importOptions['add_encrypted_pass']) { $importEncryptedFields = $this->getImportFields(self::FIELD_TYPE_ENCRYPTED_PASS); foreach ($importEncryptedFields as $field) { if ($field->isForImport()) { $out .= sprintf('<th%s>%s</th>', $field->isRequired() && !$field->isDefined() ? ' class="required"' : '', $field->getTitle()); } } } $out .= '</tr>'; $linesParsed = $this->dataSource->getFirstLinesParsed(10); if ($this->session->importOptions['skip']) { unset($linesParsed[0]); } foreach ($linesParsed as $lineNum => $lineParsed) { $out .= '<tr class="data"><td>' . $lineNum . '</td>'; $dummyUser = $this->getDi()->userRecord; foreach ($importFields as $field) { if ($field->isForImport()) { $field->setValueForRecord($dummyUser, $lineParsed); $out .= sprintf('<td>%s</td>', $field->getReadableValue($lineParsed, $dummyUser)); } } if ($this->session->importOptions['add_subscription']) { $importSubFields = $this->getImportFields(self::FIELD_TYPE_SUBSCRIPTION); foreach ($importSubFields as $field) { if ($field->isForImport()) { $out .= sprintf('<td>%s</td>', $field->getReadableValue($lineParsed)); } } } if ($this->session->importOptions['add_encrypted_pass']) { $importPassFields = $this->getImportFields(self::FIELD_TYPE_ENCRYPTED_PASS); foreach ($importPassFields as $field) { if ($field->isForImport()) { $out .= sprintf('<td>%s</td>', $field->getReadableValue($lineParsed)); } } } $out .= '</tr>'; } $out .= '</table>'; $out .= '</div>'; return $out; }