Example #1
0
<?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;
 }