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