示例#1
0
 function _import()
 {
     require_once dirname(__FILE__) . '/class.builder-import-export.php';
     if (isset($_POST['action'])) {
         ITForm::check_nonce('import_data');
         if (0 != $_FILES['import_file']['error'] || !is_file($_FILES['import_file']['tmp_name'])) {
             $redirect = "{$this->_parent->_self_link}&import_error=file#import-export-import";
             wp_redirect($redirect);
             exit;
         }
         $importer = new BuilderImportExport($_FILES['import_file']['tmp_name']);
         if (true === $importer->had_error()) {
             $this->_errors = $importer->get_errors();
             unset($_REQUEST['action']);
             $this->_parent->_nonce = 'import_data';
             return;
         }
         $guid = $importer->get_guid();
         $info = $importer->get_info();
         $this->_exports['exports'][$guid] = $info;
         $this->_storage->save($this->_exports);
     } else {
         ITForm::check_nonce("import_guid_{$_GET['guid']}");
         if (!isset($this->_exports['exports'][$_GET['guid']])) {
             $redirect = "{$this->_parent->_self_link}&site_import_error=file#import-export-site_exports";
             wp_redirect($redirect);
             exit;
         }
         $importer = new BuilderImportExport($_GET['guid']);
         $guid = $_GET['guid'];
     }
     $redirect = "{$this->_parent->_self_link}&action=import_methods&guid={$guid}";
     $redirect = add_query_arg('_wpnonce', wp_create_nonce("import_methods_guid_{$guid}"), $redirect);
     wp_redirect($redirect);
     exit;
 }