<?php

/**
 * WXR Importer class
 * Needed to extend the WXR_Importer class to get/set the importer protected variables,
 * for use in the multiple AJAX calls.
 *
 * @package Civi_Framework
 */

/**
 * Class WXRImporter
 */
class WXRImporter extends \ProteusThemes\WPContentImporter2\WXRImporter
{

	/**
	 * Constructor.
	 *
	 * @param array $options Import options.
	 */
	public function __construct($options = array())
	{
		parent::__construct($options);

		// Set current user to $mapping variable.
		// Fixes the [WARNING] Could not find the author for ... log warning messages.
		$current_user_obj = wp_get_current_user();
		$this->mapping['user_slug'][$current_user_obj->user_login] = $current_user_obj->ID;
	}

	/**
	 * Get all protected variables from the WXR_Importer needed for continuing the import.
	 */
	public function get_importer_data()
	{
		return array(
			'mapping'            => $this->mapping,
			'requires_remapping' => $this->requires_remapping,
			'exists'             => $this->exists,
			'user_slug_override' => $this->user_slug_override,
			'url_remap'          => $this->url_remap,
			'featured_images'    => $this->featured_images,
		);
	}

	/**
	 * Sets all protected variables from the WXR_Importer needed for continuing the import.
	 *
	 * @param array $data with set variables.
	 */
	public function set_importer_data($data)
	{
		$this->mapping            = empty($data['mapping']) ? array() : $data['mapping'];
		$this->requires_remapping = empty($data['requires_remapping']) ? array() : $data['requires_remapping'];
		$this->exists             = empty($data['exists']) ? array() : $data['exists'];
		$this->user_slug_override = empty($data['user_slug_override']) ? array() : $data['user_slug_override'];
		$this->url_remap          = empty($data['url_remap']) ? array() : $data['url_remap'];
		$this->featured_images    = empty($data['featured_images']) ? array() : $data['featured_images'];
	}
}
