<?php /** * @var string[] $messages * @var string $import_type * @var string[] $header */ // Don't load directly if (!defined('ABSPATH')) { die('-1'); } $mapper = new TribeEventsImporter_ColumnMapper($import_type); if (isset($_POST['column_map'])) { $mapper->set_defaults($_POST['column_map']); } else { $mapper->set_defaults(get_option('tribe_events_import_column_mapping', array())); } require_once 'header.php'; ?> <h3><?php echo sprintf(__('Column Mapping: %s', 'tribe-events-calendar'), ucwords($import_type)); ?> </h3> <?php if (!empty($messages)) { ?> <div class="error"><?php echo implode('', $messages); ?>
private function handle_column_mapping() { // Deconstruct mapping. if (empty($_POST['column_map'])) { return FALSE; } $column_mapping = $_POST['column_map']; try { $importer = $this->get_importer(); } catch (RuntimeException $e) { $this->errors[] = __('The file went away. Please try again.', 'tribe-events-calendar'); return FALSE; } $required_fields = $importer->get_required_fields(); $missing = array_diff($required_fields, $column_mapping); if (!empty($missing)) { $mapper = new TribeEventsImporter_ColumnMapper(get_option('tribe_events_import_type')); $message = __('<p>The following fields are required for a successful import:</p>', 'tribe-events-calendar'); $message .= '<ul style="list-style-type: disc; margin-left: 1.5em;">'; foreach ($missing as $key) { $message .= '<li>' . $mapper->get_column_label($key) . '</li>'; } $message .= '</ul>'; $this->errors[] = $message; return FALSE; } update_option('tribe_events_import_column_mapping', $column_mapping); return TRUE; }