summaryrefslogtreecommitdiff
path: root/plugins/import_export
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2013-04-11 20:31:24 +0400
committerAndrew Dolgov <[email protected]>2013-04-11 20:31:24 +0400
commitb229a1845693e2d6210d431a852462e8c274061a (patch)
treeb4119c37aacdfa59d445422ebd6812bba9cc1a6f /plugins/import_export
parentb91a1e4deb510252485044f8856d9eb178f822ae (diff)
fix import_export plugin for open_basedir; add missing closing form tags to import_export and googleimport plugin
Diffstat (limited to 'plugins/import_export')
-rw-r--r--plugins/import_export/init.php29
1 files changed, 26 insertions, 3 deletions
diff --git a/plugins/import_export/init.php b/plugins/import_export/init.php
index 1d7a8e55f..a01a612a4 100644
--- a/plugins/import_export/init.php
+++ b/plugins/import_export/init.php
@@ -83,6 +83,7 @@ class Import_Export extends Plugin implements IHandler {
<button dojoType=\"dijit.form.Button\" onclick=\"return importData();\" type=\"submit\">" .
__('Import') . "</button>";
+ print "</form>";
print "</div>"; # pane
}
@@ -416,13 +417,35 @@ class Import_Export extends Plugin implements IHandler {
print "<div style='text-align : center'>";
- 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 "<p>" . 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.</p>";
+ 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 "<button dojoType=\"dijit.form.Button\"