Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
/**
 * 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;
}
Exemplo n.º 3
0
 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;
 }