var/www/html/servotec-doerpen/wp-admin/includes | uid:33
import.php [X]
<?php
/**
 * WordPress Administration Importer API.
 *
 * @package WordPress
 * @subpackage Administration
 */

/**
 * Retrieves the list of importers.
 *
 * @since 2.0.0
 *
 * @global array $wp_importers
 * @return array
 */
function get_importers() {
	global $wp_importers;
	if ( is_array( $wp_importers ) ) {
		uasort( $wp_importers, '_usort_by_first_member' );
	}
	return $wp_importers;
}

/**
 * Sorts a multidimensional array by first member of each top level member.
 *
 * Used by uasort() as a callback, should not be used directly.
 *
 * @since 2.9.0
 * @access private
 *
 * @param array $a
 * @param array $b
 * @return int
 */
function _usort_by_first_member( $a, $b ) {
	return strnatcasecmp( $a[0], $b[0] );
}

/**
 * Registers importer for WordPress.
 *
 * @since 2.0.0
 *
 * @global array $wp_importers
 *
 * @param string   $id          Importer tag. Used to uniquely identify importer.
 * @param string   $name        Importer name and title.
 * @param string   $description Importer description.
 * @param callable $callback    Callback to run.
 * @return void|WP_Error Void on success. WP_Error when $callback is WP_Error.
 */
function register_importer( $id, $name, $description, $callback ) {
	global $wp_importers;
	if ( is_wp_error( $callback ) ) {
		return $callback;
	}
	$wp_importers[ $id ] = array( $name, $description, $callback );
}

/**
 * Cleanup importer.
 *
 * Removes attachment based on ID.
 *
 * @since 2.0.0
 *
 * @param string $id Importer ID.
 */
function wp_import_cleanup( $id ) {
	wp_delete_attachment( $id );
}

/**
 * Handles importer uploading and adds attachment.
 *
 * @since 2.0.0
 *
 * @return array Uploaded file's details on success, error message on failure.
 */
function wp_import_handle_upload() {
	if ( ! isset( $_FILES['import'] ) ) {
		return array(
			'error' => sprintf(
				/* translators: 1: php.ini, 2: post_max_size, 3: upload_max_filesize */
				__( 'File is empty. Please upload something more substantial. This error could also be caused by uploads being disabled in your %1$s file or by %2$s being defined as smaller than %3$s in %1$s.' ),
				'php.ini',
				'post_max_size',
				'upload_max_filesize'
			),
		);
	}

	$overrides                 = array(
		'test_form' => false,
		'test_type' => false,
	);
	$_FILES['import']['name'] .= '.txt';
	$upload                    = wp_handle_upload( $_FILES['import'], $overrides );

	if ( isset( $upload['error'] ) ) {
		return $upload;
	}

	// Construct the attachment array.
	$attachment = array(
		'post_title'     => wp_basename( $upload['file'] ),
		'post_content'   => $upload['url'],
		'post_mime_type' => $upload['type'],
		'guid'           => $upload['url'],
		'context'        => 'import',
		'post_status'    => 'private',
	);

	// Save the data.
	$id = wp_insert_attachment( $attachment, $upload['file'] );

	/*
	 * Schedule a cleanup for one day from now in case of failed
	 * import or missing wp_import_cleanup() call.
	 */
	wp_schedule_single_event( time() + DAY_IN_SECONDS, 'importer_scheduled_cleanup', array( $id ) );

	return array(
		'file' => $upload['file'],
		'id'   => $id,
	);
}

/**
 * Returns a list from WordPress.org of popular importer plugins.
 *
 * @since 3.5.0
 *
 * @return array Importers with metadata for each.
 */
function wp_get_popular_importers() {
	$locale            = get_user_locale();
	$cache_key         = 'popular_importers_' . md5( $locale . wp_get_wp_version() );
	$popular_importers = get_site_transient( $cache_key );

	if ( ! $popular_importers ) {
		$url     = add_query_arg(
			array(
				'locale'  => $locale,
				'version' => wp_get_wp_version(),
			),
			'http://api.wordpress.org/core/importers/1.1/'
		);
		$options = array( 'user-agent' => 'WordPress/' . wp_get_wp_version() . '; ' . home_url( '/' ) );

		if ( wp_http_supports( array( 'ssl' ) ) ) {
			$url = set_url_scheme( $url, 'https' );
		}

		$response          = wp_remote_get( $url, $options );
		$popular_importers = json_decode( wp_remote_retrieve_body( $response ), true );

		if ( is_array( $popular_importers ) ) {
			set_site_transient( $cache_key, $popular_importers, 2 * DAY_IN_SECONDS );
		} else {
			$popular_importers = false;
		}
	}

	if ( is_array( $popular_importers ) ) {
		// If the data was received as translated, return it as-is.
		if ( $popular_importers['translated'] ) {
			return $popular_importers['importers'];
		}

		foreach ( $popular_importers['importers'] as &$importer ) {
			// phpcs:ignore WordPress.WP.I18n.LowLevelTranslationFunction,WordPress.WP.I18n.NonSingularStringLiteralText
			$importer['description'] = translate( $importer['description'] );
			if ( 'WordPress' !== $importer['name'] ) {
				// phpcs:ignore WordPress.WP.I18n.LowLevelTranslationFunction,WordPress.WP.I18n.NonSingularStringLiteralText
				$importer['name'] = translate( $importer['name'] );
			}
		}
		return $popular_importers['importers'];
	}

	return array(
		// slug => name, description, plugin slug, and register_importer() slug.
		'blogger'     => array(
			'name'        => __( 'Blogger' ),
			'description' => __( 'Import posts, comments, and users from a Blogger blog.' ),
			'plugin-slug' => 'blogger-importer',
			'importer-id' => 'blogger',
		),
		'wpcat2tag'   => array(
			'name'        => __( 'Categories and Tags Converter' ),
			'description' => __( 'Convert existing categories to tags or tags to categories, selectively.' ),
			'plugin-slug' => 'wpcat2tag-importer',
			'importer-id' => 'wp-cat2tag',
		),
		'livejournal' => array(
			'name'        => __( 'LiveJournal' ),
			'description' => __( 'Import posts from LiveJournal using their API.' ),
			'plugin-slug' => 'livejournal-importer',
			'importer-id' => 'livejournal',
		),
		'movabletype' => array(
			'name'        => __( 'Movable Type and TypePad' ),
			'description' => __( 'Import posts and comments from a Movable Type or TypePad blog.' ),
			'plugin-slug' => 'movabletype-importer',
			'importer-id' => 'mt',
		),
		'rss'         => array(
			'name'        => __( 'RSS' ),
			'description' => __( 'Import posts from an RSS feed.' ),
			'plugin-slug' => 'rss-importer',
			'importer-id' => 'rss',
		),
		'tumblr'      => array(
			'name'        => __( 'Tumblr' ),
			'description' => __( 'Import posts &amp; media from Tumblr using their API.' ),
			'plugin-slug' => 'tumblr-importer',
			'importer-id' => 'tumblr',
		),
		'wordpress'   => array(
			'name'        => 'WordPress',
			'description' => __( 'Import posts, pages, comments, custom fields, categories, and tags from a WordPress export file.' ),
			'plugin-slug' => 'wordpress-importer',
			'importer-id' => 'wordpress',
		),
	);
}
admin-filters.php7.8KV E R D
admin.php3.5KV E R D
bookmark.php11.4KV E R D
class-automatic-upgrader-skin.php3.6KV E R D
class-bulk-plugin-upgrader-skin.php2.5KV E R D
class-bulk-theme-upgrader-skin.php2.6KV E R D
class-bulk-upgrader-skin.php6.5KV E R D
class-core-upgrader.php14.8KV E R D
class-custom-background.php21.2KV E R D
class-custom-image-header.php48KV E R D
class-file-upload-upgrader.php4.1KV E R D
class-ftp-pure.php5.3KV E R D
class-ftp-sockets.php8.3KV E R D
class-language-pack-upgrader-skin.php2.8KV E R D
class-language-pack-upgrader.php15.2KV E R D
class-pclzip.php192.1KV E R D
class-plugin-installer-skin.php11.7KV E R D
class-plugin-upgrader-skin.php3.2KV E R D
class-plugin-upgrader.php22.7KV E R D
class-theme-installer-skin.php12.7KV E R D
class-theme-upgrader-skin.php4.1KV E R D
class-theme-upgrader.php26.2KV E R D
class-walker-category-checklist.php5KV E R D
class-walker-nav-menu-checklist.php5.6KV E R D
class-walker-nav-menu-edit.php14KV E R D
class-wp-ajax-upgrader-skin.php4.1KV E R D
class-wp-application-passwords-list-table.php6.8KV E R D
class-wp-automatic-updater.php60.5KV E R D
class-wp-comments-list-table.php33.8KV E R D
class-wp-community-events.php18.2KV E R D
class-wp-debug-data.php70.3KV E R D
class-wp-filesystem-base.php23.8KV E R D
class-wp-filesystem-direct.php18.2KV E R D
class-wp-filesystem-ftpext.php22.7KV E R D
class-wp-filesystem-ftpsockets.php18.1KV E R D
class-wp-filesystem-ssh2.php22.8KV E R D
class-wp-internal-pointers.php4.5KV E R D
class-wp-links-list-table.php9.3KV E R D
class-wp-list-table-compat.php1.5KV E R D
class-wp-list-table.php51.9KV E R D
class-wp-media-list-table.php26.4KV E R D
class-wp-ms-sites-list-table.php22.2KV E R D
class-wp-ms-themes-list-table.php29.5KV E R D
class-wp-ms-users-list-table.php15.3KV E R D
class-wp-plugin-install-list-table.php24.4KV E R D
class-wp-plugins-list-table.php56.7KV E R D
class-wp-post-comments-list-table.php1.4KV E R D
class-wp-posts-list-table.php63.5KV E R D
class-wp-privacy-data-export-requests-list-table.php5.4KV E R D
class-wp-privacy-data-removal-requests-list-table.php5.6KV E R D
class-wp-privacy-policy-content.php31.9KV E R D
class-wp-privacy-requests-table.php14.4KV E R D
class-wp-screen.php36.6KV E R D
class-wp-site-health-auto-updates.php14KV E R D
class-wp-site-health.php128.2KV E R D
class-wp-site-icon.php6.3KV E R D
class-wp-terms-list-table.php20.6KV E R D
class-wp-theme-install-list-table.php15.3KV E R D
class-wp-themes-list-table.php10.1KV E R D
class-wp-upgrader-skin.php6.9KV E R D
class-wp-upgrader-skins.php1.4KV E R D
class-wp-upgrader.php47.2KV E R D
class-wp-users-list-table.php18.6KV E R D
comment.php6.1KV E R D
continents-cities.php20.1KV E R D
credits.php5.7KV E R D
dashboard.php68.7KV E R D
edit-tag-messages.php1.4KV E R D
export.php25.4KV E R D
file.php95.6KV E R D
image-edit.php43KV E R D
image.php44.1KV E R D
import.php6.5KV E R D
list-table.php3.7KV E R D
media.php117.1KV E R D
menu.php9.4KV E R D
meta-boxes.php65.3KV E R D
misc.php45.4KV E R D
ms-admin-filters.php1.3KV E R D
ms-deprecated.php3.7KV E R D
ms.php33.4KV E R D
network.php26.4KV E R D
noop.php1.1KV E R D
options.php4.1KV E R D
plugin-install.php38.2KV E R D
post.php80.3KV E R D
privacy-tools.php32.7KV E R D
schema.php44.5KV E R D
screen.php6.2KV E R D
template.php97.3KV E R D
theme.php46.4KV E R D
translation-install.php10.8KV E R D
update-core.php71.2KV E R D
update.php34KV E R D
upgrade.php114KV E R D
user.php23.4KV E R D
widgets.php10.3KV E R D