1 | diff -r rmw-wordpress-importer-0.6.2/languages/wordpress-importer.pot wordpress-importer/languages/wordpress-importer.pot |
---|
2 | 5c5 |
---|
3 | < "Project-Id-Version: WordPress Importer 0.6\n" |
---|
4 | --- |
---|
5 | > "Project-Id-Version: WordPress Importer 0.5\n" |
---|
6 | diff -r rmw-wordpress-importer-0.6.2/wordpress-importer.php wordpress-importer/wordpress-importer.php |
---|
7 | 841,845c841 |
---|
8 | < // Note that we don't do this in the case that the original upload didn't |
---|
9 | < // have a valid extension, but we were able to determine one by looking at |
---|
10 | < // the relevant HTTP headers (as denoted by the |
---|
11 | < // 'force_extension_in_replacement' flag) |
---|
12 | < if ( preg_match( '!^image/!', $info['type'] ) && empty($upload['force_extension_in_replacement'])) { |
---|
13 | --- |
---|
14 | > if ( preg_match( '!^image/!', $info['type'] ) ) { |
---|
15 | 866d861 |
---|
16 | < |
---|
17 | 870,889d864 |
---|
18 | < // Some systems, like moveable-type / typepad, advertise files w/o |
---|
19 | < // extension information attached. We can get around this limitation |
---|
20 | < // by grabbing information about the file from the webserver |
---|
21 | < $file_type = wp_check_filetype($file_name); |
---|
22 | < |
---|
23 | < // If there is a situation where we're adding a file extension |
---|
24 | < // onto an upload that didn't originally have one, we |
---|
25 | < // can tell the remapper to not strip off the extension/ |
---|
26 | < $force_extension_in_replacement = FALSE; |
---|
27 | < |
---|
28 | < if ( empty( $file_type['ext'] ) ) { |
---|
29 | < |
---|
30 | < $retured_file_info = $this->fetch_attachment_info_from_server( $url ); |
---|
31 | < |
---|
32 | < if ( $retured_file_info ) { |
---|
33 | < $file_name = $retured_file_info['filename']; |
---|
34 | < $force_extension_in_replacement = TRUE; |
---|
35 | < } |
---|
36 | < } |
---|
37 | < |
---|
38 | 935,936d909 |
---|
39 | < if ($force_extension_in_replacement) |
---|
40 | < $upload['force_extension_in_replacement'] = TRUE; |
---|
41 | 1111,1165d1083 |
---|
42 | < |
---|
43 | < /** |
---|
44 | < * Attempts to grab information about a file from a URL. This |
---|
45 | < * call just requests the header information from the server (the |
---|
46 | < * body of the resource isn't fetched) so the call is relativly lite. |
---|
47 | < * |
---|
48 | < * @param string $url |
---|
49 | < * A valid url to request mime info from |
---|
50 | < * |
---|
51 | < * @return array|bool |
---|
52 | < * If the server didn't return a valid header, FALSE is returned. Otherwise, |
---|
53 | < * an array with the following keys is returned: |
---|
54 | < * 'ext' (string): The extension of the file, if avaiable |
---|
55 | < * 'type' (string): The advertised mime type of the resource, if available |
---|
56 | < * 'filename' (string): |
---|
57 | < * The suggested name of the file, if available |
---|
58 | < */ |
---|
59 | < function fetch_attachment_info_from_server($url) { |
---|
60 | < |
---|
61 | < $results = array( |
---|
62 | < 'ext' => '', |
---|
63 | < 'type' => '', |
---|
64 | < 'filename' => '', |
---|
65 | < ); |
---|
66 | < |
---|
67 | < $curl = curl_init(); |
---|
68 | < curl_setopt( $curl, CURLOPT_URL, $url ); |
---|
69 | < curl_setopt( $curl, CURLOPT_HEADER, TRUE ); |
---|
70 | < curl_setopt( $curl, CURLOPT_NOBODY, TRUE ); |
---|
71 | < curl_setopt( $curl, CURLOPT_RETURNTRANSFER, TRUE ); |
---|
72 | < $header_info = curl_exec( $curl ); |
---|
73 | < curl_close( $curl ); |
---|
74 | < |
---|
75 | < if ( ! $header_info) { |
---|
76 | < return FALSE; |
---|
77 | < } |
---|
78 | < |
---|
79 | < $file_type_pattern = '/Content-Type:\s?([^\s]+)/i'; |
---|
80 | < $file_type_matches = array(); |
---|
81 | < if ( preg_match( $file_type_pattern, $header_info, $file_type_matches ) ) { |
---|
82 | < $results['type'] = trim( $file_type_matches[1] ); |
---|
83 | < } |
---|
84 | < |
---|
85 | < $file_name_pattern = '/filename=([^\s]+)/i'; |
---|
86 | < $file_name_matches = array(); |
---|
87 | < if ( preg_match( $file_name_pattern, $header_info, $file_name_matches ) ) { |
---|
88 | < $results['filename'] = trim( $file_name_matches[1] ); |
---|
89 | < |
---|
90 | < if ( ( $index = strripos( $results['filename'], '.' ) ) !== FALSE ) { |
---|
91 | < $results['ext'] = substr( $results['filename'], $index + 1 ); |
---|
92 | < } |
---|
93 | < } |
---|
94 | < |
---|
95 | < return $results; |
---|
96 | < } |
---|