mp-wp_genesis           1 <?php
mp-wp_genesis           2 /**
mp-wp_genesis           3  * WordPress Administration Importer API.
mp-wp_genesis           4  *
mp-wp_genesis           5  * @package WordPress
mp-wp_genesis           6  * @subpackage Administration
mp-wp_genesis           7  */
mp-wp_genesis           8 
mp-wp_genesis           9 /**
mp-wp_genesis          10  * Retrieve list of importers.
mp-wp_genesis          11  *
mp-wp_genesis          12  * @since 2.0.0
mp-wp_genesis          13  *
mp-wp_genesis          14  * @return array
mp-wp_genesis          15  */
mp-wp_genesis          16 function get_importers() {
mp-wp_genesis          17 	global $wp_importers;
mp-wp_genesis          18 	if ( is_array($wp_importers) )
mp-wp_genesis          19 		uasort($wp_importers, create_function('$a, $b', 'return strcmp($a[0], $b[0]);'));
mp-wp_genesis          20 	return $wp_importers;
mp-wp_genesis          21 }
mp-wp_genesis          22 
mp-wp_genesis          23 /**
mp-wp_genesis          24  * Register importer for WordPress.
mp-wp_genesis          25  *
mp-wp_genesis          26  * @since 2.0.0
mp-wp_genesis          27  *
mp-wp_genesis          28  * @param string $id Importer tag. Used to uniquely identify importer.
mp-wp_genesis          29  * @param string $name Importer name and title.
mp-wp_genesis          30  * @param string $description Importer description.
mp-wp_genesis          31  * @param callback $callback Callback to run.
mp-wp_genesis          32  * @return WP_Error Returns WP_Error when $callback is WP_Error.
mp-wp_genesis          33  */
mp-wp_genesis          34 function register_importer( $id, $name, $description, $callback ) {
mp-wp_genesis          35 	global $wp_importers;
mp-wp_genesis          36 	if ( is_wp_error( $callback ) )
mp-wp_genesis          37 		return $callback;
mp-wp_genesis          38 	$wp_importers[$id] = array ( $name, $description, $callback );
mp-wp_genesis          39 }
mp-wp_genesis          40 
mp-wp_genesis          41 /**
mp-wp_genesis          42  * Cleanup importer.
mp-wp_genesis          43  *
mp-wp_genesis          44  * Removes attachment based on ID.
mp-wp_genesis          45  *
mp-wp_genesis          46  * @since 2.0.0
mp-wp_genesis          47  *
mp-wp_genesis          48  * @param string $id Importer ID.
mp-wp_genesis          49  */
mp-wp_genesis          50 function wp_import_cleanup( $id ) {
mp-wp_genesis          51 	wp_delete_attachment( $id );
mp-wp_genesis          52 }
mp-wp_genesis          53 
mp-wp_genesis          54 /**
mp-wp_genesis          55  * Handle importer uploading and add attachment.
mp-wp_genesis          56  *
mp-wp_genesis          57  * @since 2.0.0
mp-wp_genesis          58  *
mp-wp_genesis          59  * @return array
mp-wp_genesis          60  */
mp-wp_genesis          61 function wp_import_handle_upload() {
mp-wp_genesis          62 	$overrides = array( 'test_form' => false, 'test_type' => false );
mp-wp_genesis          63 	$_FILES['import']['name'] .= '.import';
mp-wp_genesis          64 	$file = wp_handle_upload( $_FILES['import'], $overrides );
mp-wp_genesis          65 
mp-wp_genesis          66 	if ( isset( $file['error'] ) )
mp-wp_genesis          67 		return $file;
mp-wp_genesis          68 
mp-wp_genesis          69 	$url = $file['url'];
mp-wp_genesis          70 	$type = $file['type'];
mp-wp_genesis          71 	$file = addslashes( $file['file'] );
mp-wp_genesis          72 	$filename = basename( $file );
mp-wp_genesis          73 
mp-wp_genesis          74 	// Construct the object array
mp-wp_genesis          75 	$object = array( 'post_title' => $filename,
mp-wp_genesis          76 		'post_content' => $url,
mp-wp_genesis          77 		'post_mime_type' => $type,
mp-wp_genesis          78 		'guid' => $url
mp-wp_genesis          79 	);
mp-wp_genesis          80 
mp-wp_genesis          81 	// Save the data
mp-wp_genesis          82 	$id = wp_insert_attachment( $object, $file );
mp-wp_genesis          83 
mp-wp_genesis          84 	return array( 'file' => $file, 'id' => $id );
mp-wp_genesis          85 }
mp-wp_genesis          86 
mp-wp_genesis          87 ?>