示例#1
0
 public static function initialize_admin()
 {
     self::$admin = new Tribe__Events__Importer__Admin_Page();
     add_action('admin_menu', array(self::$admin, 'register_admin_page'));
     add_action('load-tribe_events_page_events-importer', array(self::$admin, 'handle_submission'));
     add_filter('tribe_import_general_settings', array(self::$admin, 'add_settings_fields'));
 }
示例#2
0
 function Tribe_Events_Importer_Load()
 {
     Tribe__Events__Importer__Plugin::set_plugin_basename(plugin_basename(__FILE__));
     if (is_admin()) {
         add_action('init', array('Tribe__Events__Importer__Plugin', 'initialize_admin'), 10, 0);
         add_action('init', array('Tribe__Events__Importer__Options', 'process_general_form_submission'));
     }
 }
 public function render_csv_tab()
 {
     switch ($this->state) {
         case 'map':
             try {
                 $file = new Tribe__Events__Importer__File_Reader(Tribe__Events__Importer__File_Uploader::get_file_path());
             } catch (RuntimeException $e) {
                 $this->errors[] = __('The file went away. Please try again.', 'tribe-events-calendar');
                 $this->state = '';
                 return $this->render_admin_page_contents();
             }
             $header = $file->get_header();
             if (get_option('tribe_events_importer_has_header', 0) == 0) {
                 $letter = 'A';
                 $size = count($header);
                 $header = array();
                 for ($i = 0; $i < $size; $i++) {
                     $header[] = $letter++;
                 }
             }
             $import_type = get_option('tribe_events_import_type');
             $messages = $this->errors;
             include Tribe__Events__Importer__Plugin::path('src/io/csv/admin-views/columns.php');
             break;
         case 'importing':
             $messages = $this->messages;
             include Tribe__Events__Importer__Plugin::path('src/io/csv/admin-views/in-progress.php');
             break;
         case 'complete':
             $log = get_option('tribe_events_import_log');
             $skipped = get_option('tribe_events_import_failed_rows', array());
             include Tribe__Events__Importer__Plugin::path('src/io/csv/admin-views/result.php');
             break;
         default:
             $messages = $this->errors;
             include Tribe__Events__Importer__Plugin::path('src/io/csv/admin-views/import.php');
             break;
     }
 }
示例#4
0
 public function render_csv_tab()
 {
     switch ($this->state) {
         case 'map':
             try {
                 $file = new Tribe__Events__Importer__File_Reader(Tribe__Events__Importer__File_Uploader::get_file_path());
             } catch (RuntimeException $e) {
                 $this->errors[] = esc_html__('The file went away. Please try again.', 'the-events-calendar');
                 $this->state = '';
                 return $this->render_admin_page_contents();
             }
             $header = $file->get_header();
             if (get_option('tribe_events_importer_has_header', 0) == 0) {
                 $letter = 'A';
                 $size = count($header);
                 $header = array();
                 for ($i = 0; $i < $size; $i++) {
                     $header[] = $letter++;
                 }
             }
             $import_type = get_option('tribe_events_import_type');
             $import_type_titles_map = array();
             /**
              * Allows filtering the import type titles to go from a slug to a pretty title.
              *
              * @param array $import_type_titles_map
              */
             $import_type_titles_map = apply_filters('tribe_events_import_type_titles_map', $import_type_titles_map);
             $import_type_title = isset($import_type_titles_map[$import_type]) ? $import_type_titles_map[$import_type] : ucwords($import_type);
             $messages = $this->errors;
             include Tribe__Events__Importer__Plugin::path('src/io/csv/admin-views/columns.php');
             break;
         case 'importing':
             $messages = $this->messages;
             include Tribe__Events__Importer__Plugin::path('src/io/csv/admin-views/in-progress.php');
             break;
         case 'complete':
             $log = get_option('tribe_events_import_log');
             $skipped = get_option('tribe_events_import_failed_rows', array());
             $encoded = get_option('tribe_events_import_encoded_rows', array());
             include Tribe__Events__Importer__Plugin::path('src/io/csv/admin-views/result.php');
             break;
         default:
             $messages = $this->errors;
             $import_options = array('venues' => esc_html__('Venues', 'the-events-calendar'), 'organizers' => esc_html__('Organizers', 'the-events-calendar'), 'events' => esc_html__('Events', 'the-events-calendar'));
             /**
              * Filters the CSV import options available to the user.
              *
              * @param array $import_options An associative array of option values and labels.
              */
             $import_options = apply_filters('tribe_events_import_options_rows', $import_options);
             $default_selected_import_option = 'events';
             /**
              * Filters the default selected option for the import options.
              *
              * @param string $default_selected_import_option
              */
             $default_selected_import_option = apply_filters('tribe_events_import_options_default_selected', $default_selected_import_option);
             include Tribe__Events__Importer__Plugin::path('src/io/csv/admin-views/import.php');
             break;
     }
 }