summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2011-12-28 11:00:58 +0400
committerAndrew Dolgov <[email protected]>2011-12-28 11:00:58 +0400
commit3382bce16dd885d4f2894c18c2d4c82438be1dcc (patch)
tree49c3e361408998bd87f3ceef4eda8a3952254f15
parent41f68571abfb56992896d6bc9677a79284285290 (diff)
support gzipped xml import
-rw-r--r--include/functions.php24
1 files changed, 23 insertions, 1 deletions
diff --git a/include/functions.php b/include/functions.php
index 018e518eb..1b780d955 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -5116,13 +5116,35 @@
return $rv;
}
+ if (!function_exists('gzdecode')) {
+ function gzdecode($string) { // no support for 2nd argument
+ return file_get_contents('compress.zlib://data:who/cares;base64,'.
+ base64_encode($string));
+ }
+ }
+
function perform_data_import($link, $filename, $owner_uid) {
$num_imported = 0;
$num_processed = 0;
$num_feeds_created = 0;
- $doc = DOMDocument::load($filename);
+ $doc = @DOMDocument::load($filename);
+
+ if (!$doc) {
+ $contents = file_get_contents($filename);
+
+ if ($contents) {
+ $data = @gzuncompress($contents);
+ }
+
+ if (!$data) {
+ $data = @gzdecode($contents);
+ }
+
+ if ($data)
+ $doc = DOMDocument::loadXML($data);
+ }
if ($doc) {