summaryrefslogtreecommitdiffstats
path: root/wp-admin/includes/import.php
diff options
context:
space:
mode:
Diffstat (limited to 'wp-admin/includes/import.php')
-rw-r--r--wp-admin/includes/import.php45
1 files changed, 45 insertions, 0 deletions
diff --git a/wp-admin/includes/import.php b/wp-admin/includes/import.php
new file mode 100644
index 0000000..9835bb1
--- /dev/null
+++ b/wp-admin/includes/import.php
@@ -0,0 +1,45 @@
+<?php
+
+function get_importers() {
+ global $wp_importers;
+ uasort($wp_importers, create_function('$a, $b', 'return strcmp($a[0], $b[0]);'));
+ return $wp_importers;
+}
+
+function register_importer( $id, $name, $description, $callback ) {
+ global $wp_importers;
+ if ( is_wp_error( $callback ) )
+ return $callback;
+ $wp_importers[$id] = array ( $name, $description, $callback );
+}
+
+function wp_import_cleanup( $id ) {
+ wp_delete_attachment( $id );
+}
+
+function wp_import_handle_upload() {
+ $overrides = array( 'test_form' => false, 'test_type' => false );
+ $file = wp_handle_upload( $_FILES['import'], $overrides );
+
+ if ( isset( $file['error'] ) )
+ return $file;
+
+ $url = $file['url'];
+ $type = $file['type'];
+ $file = addslashes( $file['file'] );
+ $filename = basename( $file );
+
+ // Construct the object array
+ $object = array( 'post_title' => $filename,
+ 'post_content' => $url,
+ 'post_mime_type' => $type,
+ 'guid' => $url
+ );
+
+ // Save the data
+ $id = wp_insert_attachment( $object, $file );
+
+ return array( 'file' => $file, 'id' => $id );
+}
+
+?>