function builder_import_theme_default_layouts_and_views($method = 'add', $layouts_method = 'add', $views_method = 'skip') { if (!in_array($method, array('add', 'replace'))) { $method = 'add'; } $theme_defaults_file = locate_template('defaults/layouts-and-views.zip'); if (!file_exists($theme_defaults_file)) { $layouts = builder_get_builder_core_default_layouts(); $storage = new ITStorage('layout_settings'); $storage->save($layouts); return $layouts; } require_once dirname(dirname(__FILE__)) . '/import-export/class.builder-import-export.php'; $import = new BuilderImportExport($theme_defaults_file); $data_sources = $import->get_data_sources(); if (!isset($data_sources['layouts-views'])) { $import->cleanup(); return false; } $settings = array('data_sources' => array('layouts-views' => array('method' => $method, 'layouts_method' => $layouts_method, 'views_method' => $views_method))); $db_data = array('layouts-views' => array()); $results = $import->run_import($settings, false, true, $db_data); $import->cleanup(); if (!isset($results['layouts-views']) || empty($results['layouts-views'])) { return false; } return $results['layouts-views']; }
function _load_data() { if ($this->had_error()) { return false; } if (!empty($this->_file_path)) { return true; } $path = get_transient("builder-imex-path-{$this->_guid}"); if (false !== $path && is_dir($path)) { $this->_file_path = $path; return true; } $file = BuilderImportExport::_get_export_path($this->_guid); if (is_wp_error($file)) { $this->add_error($file); return false; } it_classes_load('it-file-utility.php'); it_classes_load('it-zip.php'); $path = ITFileUtility::create_writable_directory(array('name' => 'deleteme-builder-import-export-cache-temp', 'random' => true)); if (is_wp_error($path)) { return $path; } $result = ITZip::unzip($file, $path); if (is_wp_error($result)) { $this->add_error($results); return false; } $this->_file_path = $path; set_transient("builder-imex-path-{$this->_guid}", $path, 600); wp_schedule_single_event(time() + 660, 'builder_import_export_cleanup', array($this->_guid, $path)); return true; }
function run_import() { ITForm::check_nonce("import_run_guid_{$_REQUEST['guid']}"); require_once dirname(__FILE__) . '/class.builder-import-export.php'; $import = new BuilderImportExport($_REQUEST['guid']); $result = $import->run_import(); $errors = ''; if (is_array($result)) { $errors = '&errors=' . implode(',', $result); } $redirect = "{$this->_parent->_self_link}&imported={$_REQUEST['guid']}{$errors}"; // echo "<p>Redirect: $redirect</p>\n"; wp_redirect($redirect); exit; }
function builder_import_export_cleanup($guid, $path) { require_once dirname(__FILE__) . '/class.builder-import-export.php'; BuilderImportExport::cleanup($guid, $path); }