From b229a1845693e2d6210d431a852462e8c274061a Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 11 Apr 2013 20:31:24 +0400 Subject: [PATCH] fix import_export plugin for open_basedir; add missing closing form tags to import_export and googleimport plugin --- plugins/googlereaderimport/init.php | 1 + plugins/import_export/init.php | 29 ++++++++++++++++++++++++++--- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/plugins/googlereaderimport/init.php b/plugins/googlereaderimport/init.php index f7d876b9..d25d3288 100644 --- a/plugins/googlereaderimport/init.php +++ b/plugins/googlereaderimport/init.php @@ -374,6 +374,7 @@ class GoogleReaderImport extends Plugin { "; + print ""; print ""; #pane } diff --git a/plugins/import_export/init.php b/plugins/import_export/init.php index 1d7a8e55..a01a612a 100644 --- a/plugins/import_export/init.php +++ b/plugins/import_export/init.php @@ -83,6 +83,7 @@ class Import_Export extends Plugin implements IHandler { "; + print ""; print ""; # pane } @@ -416,13 +417,35 @@ class Import_Export extends Plugin implements IHandler { print "
"; - if (is_file($_FILES['export_file']['tmp_name'])) { + if ($_FILES['export_file']['error'] != 0) { + print_error(T_sprintf("Upload failed with error code %d", + $_FILES['export_file']['error'])); + return; + } + + $tmp_file = false; - $this->perform_data_import($this->link, $_FILES['export_file']['tmp_name'], $_SESSION['uid']); + if (is_uploaded_file($_FILES['export_file']['tmp_name'])) { + $tmp_file = tempnam(CACHE_DIR . '/upload', 'export'); + $result = move_uploaded_file($_FILES['export_file']['tmp_name'], + $tmp_file); + + if (!$result) { + print_error(__("Unable to move uploaded file.")); + return; + } } else { - print "

" . T_sprintf("Could not upload file. You might need to adjust upload_max_filesize in PHP.ini (current value = %s)", ini_get("upload_max_filesize")) . " or use CLI import tool.

"; + print_error(__('Error: please upload OPML file.')); + return; + } + if (is_file($tmp_file)) { + $this->perform_data_import($this->link, $tmp_file, $_SESSION['uid']); + unlink($tmp_file); + } else { + print_error(__('No file uploaded.')); + return; } print "