get_var($wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_name = %s AND post_type = %s", $view_template['post_name'], 'view-template')); if ($post_to_update) { $imported_view_templates[] = $post_to_update; // only update if we have overwrite enabled. if (isset($_POST['view-templates-overwrite']) && $_POST['view-templates-overwrite'] == 'on') { $overwrite_count++; $view_template['ID'] = $post_to_update; $id = wp_update_post($view_template); if (!$id) { return new WP_Error('could_not_update_post', sprintf(__('Failed to update view template - %s.', 'wpv-views'), $view_template['post_name'])); } } } else { // it's a new view template $new_count++; unset($view_template['ID']); $id = wp_insert_post($view_template, true); if (is_object($id)) { // it's an WP_Error object. return $id; } $imported_view_templates[] = $id; } } } $deleted_count = 0; if (isset($_POST['view-templates-delete']) && $_POST['view-templates-delete'] == 'on') { $view_templates_to_delete = get_posts('post_type=view-template&post_status=any&posts_per_page=-1'); if (!empty($view_templates_to_delete)) { foreach ($view_templates_to_delete as $view_template_to_delete) { if (!in_array($view_template_to_delete->ID, $imported_view_templates)) { wp_delete_post($view_template_to_delete->ID, true); $deleted_count++; } } } } $import_messages[] = sprintf(__('%d View Templates found in the file. %d have been created and %d have been over written.', 'wpv-views'), sizeof($imported_view_templates), $new_count, $overwrite_count); if ($deleted_count) { $import_messages[] = sprintf(__('%d existing View Templates were deleted.', 'wpv-views'), $deleted_count); } return false; // no errors } function wpv_admin_import_views($import_data) { global $wpdb, $import_messages, $WP_Views; $imported_views = array(); $overwrite_count = 0; $new_count = 0; if (isset($import_data['views']['view'])) { $views = $import_data['views']['view']; // check for a single view if (!isset($views[0])) { $views = array($views); } foreach($views as $view) { $meta = $view['meta']; unset($view['meta']); if (isset($meta['_wpv_settings'])) { $meta['_wpv_settings'] = $WP_Views->convert_names_to_ids_in_settings($meta['_wpv_settings']); } if (isset($meta['_wpv_layout_settings'])) { $meta['_wpv_layout_settings'] = $WP_Views->convert_names_to_ids_in_layout_settings($meta['_wpv_layout_settings']); } $post_to_update = $wpdb->get_var($wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_name = %s AND post_type = %s", $view['post_name'], 'view')); if ($post_to_update) { $imported_views[] = $post_to_update; // only update if we have overwrite enabled. if (isset($_POST['views-overwrite']) && $_POST['views-overwrite'] == 'on') { $overwrite_count++; $view['ID'] = $post_to_update; $id = wp_update_post($view); if (!$id) { return new WP_Error('could_not_update_post', sprintf(__('Failed to update view - %s.', 'wpv-views'), $view['post_name'])); } if (isset($meta['_wpv_settings'])) { update_post_meta($id, '_wpv_settings', $meta['_wpv_settings']); } if (isset($meta['_wpv_layout_settings'])) { update_post_meta($id, '_wpv_layout_settings', $meta['_wpv_layout_settings']); } } } else { // it's a new view template $new_count++; unset($view['ID']); $id = wp_insert_post($view, true); if (is_object($id)) { // it's an WP_Error object. return $id; } $imported_views[] = $id; if (isset($meta['_wpv_settings'])) { update_post_meta($id, '_wpv_settings', $meta['_wpv_settings']); } if (isset($meta['_wpv_layout_settings'])) { update_post_meta($id, '_wpv_layout_settings', $meta['_wpv_layout_settings']); } } } } $deleted_count = 0; if (isset($_POST['views-delete']) && $_POST['views-delete'] == 'on') { $views_to_delete = get_posts('post_type=view&post_status=any&posts_per_page=-1'); if (!empty($views_to_delete)) { foreach ($views_to_delete as $view_to_delete) { if (!in_array($view_to_delete->ID, $imported_views)) { wp_delete_post($view_to_delete->ID, true); $deleted_count++; } } } } $import_messages[] = sprintf(__('%d Views found in the file. %d have been created and %d have been over written.', 'wpv-views'), sizeof($imported_views), $new_count, $overwrite_count); if ($deleted_count) { $import_messages[] = sprintf(__('%d existing Views were deleted.', 'wpv-views'), $deleted_count); } return false; // no errors } function wpv_import_errors() { global $import_errors; ?>

get_error_message()?>

$v) { $v = is_string($v) ? trim($v) : $v; if (empty($v)) { $element[$k] = ''; continue; } $add = wpv_admin_import_export_simplexml2array($v); if (!empty($add)) { $element[$k] = $add; } else { $element[$k] = ''; } } } if (empty($element)) { $element = ''; } return $element; }