示例#1
0
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;
 }
示例#3
0
 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;
 }
示例#4
0
function builder_import_export_cleanup($guid, $path)
{
    require_once dirname(__FILE__) . '/class.builder-import-export.php';
    BuilderImportExport::cleanup($guid, $path);
}