public static function import_modules_cred_items($res, $xmlstring, $items = false) { CRED_Loader::load('CLASS/XML_Processor'); if (false !== $items && is_array($items)) { $import_items = array(); foreach ($items as $item) { $import_items[] = str_replace(_CRED_MODULE_MANAGER_KEY_, '', $item); } unset($items); $results = CRED_XML_Processor::importFromXMLString($xmlstring, array('overwrite_forms' => true, 'items' => $import_items)); } else { $results = CRED_XML_Processor::importFromXMLString($xmlstring); } if (false === $results || is_wp_error($results)) { $error = false === $results ? __('Error during CRED import', 'wp-cred') : $results->get_error_message($results->get_error_code()); $results = array('new' => 0, 'updated' => 0, 'failed' => 0, 'errors' => array($error)); } unset($results['settings']); return $results; }
/** * public API to import from XML string * * @param string $xml * @param array $options * 'overwrite_forms'=>(0|1) // Overwrite existing forms * 'overwrite_settings'=>(0|1) // Import and Overwrite CRED Settings * 'overwrite_custom_fields'=>(0|1) // Import and Overwrite CRED Custom Fields * 'force_overwrite_post_name'=>array // Skip all, overwrite only forms from array * 'force_skip_post_name'=>array // Skip forms from array * 'force_duplicate_post_name'=>array // Skip all, duplicate only from array * @return array * 'settings'=>(int), * 'custom_fields'=>(int), * 'updated'=>(int), * 'new'=>(int), * 'failed'=>(int), * 'errors'=>array() * * example: * $result = cred_import_xml_from_string($import_xml_string, array('overwrite_forms'=>1, 'overwrite_settings'=>0, 'overwrite_custom_fields'=>1)); * note: * force_duplicate_post_name, force_skip_post_name, force_overwrite_post_name - can work together */ function cred_import_xml_from_string($xml, $options = array()) { CRED_Loader::load('CLASS/XML_Processor'); $result = CRED_XML_Processor::importFromXMLString($xml, $options); return $result; }
public static function import_modules_cred_items($res, $xmlstring, $selecteditems = false, $allitems = false) { CRED_Loader::load('CLASS/XML_Processor'); //cred_log($selecteditems); if (false !== $selecteditems && is_array($selecteditems)) { $import_items = array(); foreach ($selecteditems as $item) { $import_items[] = str_replace(_CRED_MODULE_MANAGER_KEY_, '', $item); } unset($selecteditems); $results = CRED_XML_Processor::importFromXMLString($xmlstring, array('overwrite_forms' => true, 'items' => $import_items, 'return_ids' => true)); } else { $results = CRED_XML_Processor::importFromXMLString($xmlstring); } if (false === $results || is_wp_error($results)) { $error = false === $results ? __('Error during CRED Post Forms import', 'wp-cred') : $results->get_error_message($results->get_error_code()); $results = array('new' => 0, 'updated' => 0, 'failed' => 0, 'errors' => array($error)); } unset($results['settings']); // for module manager if (isset($results['items'])) { foreach ($results['items'] as $old_id => $new_id) { $results['items'][_CRED_MODULE_MANAGER_KEY_ . $old_id] = _CRED_MODULE_MANAGER_KEY_ . $new_id; unset($results['items'][$old_id]); } } return $results; }