/** * Step #3: Export */ public function process() { @set_time_limit(0); $export = $this->data['update_previous']; if (!PMXE_Plugin::is_ajax()) { if ("" == PMXE_Plugin::$session->friendly_name) { $friendly_name = ''; $post_types = PMXE_Plugin::$session->get('cpt'); if (!empty($post_types)) { if (!in_array('users', $post_types)) { $post_type_details = get_post_type_object(array_shift($post_types)); $friendly_name = $post_type_details->labels->name . ' Export - ' . date("Y F d H:i"); } else { $friendly_name = 'Users Export - ' . date("Y F d H:i"); } } else { $friendly_name = 'WP_Query Export - ' . date("Y F d H:i"); } PMXE_Plugin::$session->set('friendly_name', $friendly_name); } PMXE_Plugin::$session->set('file', ''); PMXE_Plugin::$session->save_data(); $export->set(array('triggered' => 0, 'processing' => 0, 'exported' => 0, 'executing' => 1, 'canceled' => 0, 'options' => PMXE_Plugin::$session->get_clear_session_data(), 'friendly_name' => PMXE_Plugin::$session->friendly_name, 'scheduled' => PMXE_Plugin::$session->is_scheduled ? PMXE_Plugin::$session->scheduled_period : '', 'registered_on' => date('Y-m-d H:i:s'), 'last_activity' => date('Y-m-d H:i:s')))->save(); $options = $export->options; if ($options['is_generate_import'] and wp_all_export_is_compatible()) { $import = new PMXI_Import_Record(); if (!empty($options['import_id'])) { $import->getById($options['import_id']); } if ($import->isEmpty()) { $import->set(array('parent_import_id' => 99999, 'xpath' => '/', 'type' => 'upload', 'options' => array('empty'), 'root_element' => 'root', 'path' => 'path', 'imported' => 0, 'created' => 0, 'updated' => 0, 'skipped' => 0, 'deleted' => 0, 'iteration' => 1))->save(); PMXE_Plugin::$session->set('import_id', $import->id); $options['import_id'] = $import->id; $export->set(array('options' => $options))->save(); } else { if ($import->parent_import_id != 99999) { $newImport = new PMXI_Import_Record(); $newImport->set(array('parent_import_id' => 99999, 'xpath' => '/', 'type' => 'upload', 'options' => array('empty'), 'root_element' => 'root', 'path' => 'path', 'imported' => 0, 'created' => 0, 'updated' => 0, 'skipped' => 0, 'deleted' => 0, 'iteration' => 1))->save(); PMXE_Plugin::$session->set('import_id', $newImport->id); $options['import_id'] = $newImport->id; $export->set(array('options' => $options))->save(); } } } PMXE_Plugin::$session->set('update_previous', $export->id); PMXE_Plugin::$session->save_data(); } $this->render(); }
/** * Step #4: Export Processing */ public function process() { @set_time_limit(0); $export = $this->data['update_previous']; if (!PMXE_Plugin::is_ajax()) { if ("" == PMXE_Plugin::$session->friendly_name) { $friendly_name = ''; $post_types = PMXE_Plugin::$session->get('cpt'); if (!empty($post_types)) { if (in_array('users', $post_types)) { $friendly_name = 'Users Export - ' . date("Y F d H:i"); } elseif (in_array('shop_customer', $post_types)) { $friendly_name = 'Customers Export - ' . date("Y F d H:i"); } elseif (in_array('comments', $post_types)) { $friendly_name = 'Comments Export - ' . date("Y F d H:i"); } else { $post_type_details = get_post_type_object(array_shift($post_types)); $friendly_name = $post_type_details->labels->name . ' Export - ' . date("Y F d H:i"); } } else { $friendly_name = 'WP_Query Export - ' . date("Y F d H:i"); } PMXE_Plugin::$session->set('friendly_name', $friendly_name); } PMXE_Plugin::$session->set('file', ''); PMXE_Plugin::$session->save_data(); $export->set(array('triggered' => 0, 'processing' => 0, 'exported' => 0, 'executing' => 1, 'canceled' => 0, 'options' => PMXE_Plugin::$session->get_clear_session_data(), 'friendly_name' => PMXE_Plugin::$session->friendly_name, 'scheduled' => PMXE_Plugin::$session->is_scheduled ? PMXE_Plugin::$session->scheduled_period : '', 'registered_on' => date('Y-m-d H:i:s'), 'last_activity' => date('Y-m-d H:i:s')))->save(); // create an import for this export PMXE_Wpallimport::create_an_import($export); PMXE_Plugin::$session->set('update_previous', $export->id); PMXE_Plugin::$session->save_data(); do_action('pmxe_before_export', $export->id); } $this->render(); }