export_forms( 'wpuf_forms', $export_type, $form_ids );
}
$args = [
'post_type' => 'wpuf_forms',
'posts_per_page' => -1,
'post_status' => 'publish',
];
$forms = get_posts( $args );
if ( $forms ) {
?>
%s', __( 'Sorry you have no form to export', 'wp-user-frontend' ) );
}
}
/**
* List of All Registration forms
*
* @return void
*/
public function list_regis_forms() {
$post_data = wp_unslash( $_POST );
if ( isset( $post_data['export_regis_form'] ) ) {
check_admin_referer( 'wpuf-export-regs-form' );
$export_type = isset( $post_data['export_type'] ) ? sanitize_text_field( $post_data['export_type'] ) : 'all';
$form_ids = isset( $post_data['form_ids'] ) ? array_map( 'absint', $post_data['form_ids'] ) : array();
$this->export_forms( 'wpuf_profile', $export_type, $form_ids );
}
$args = [
'post_type' => 'wpuf_profile',
'posts_per_page' => -1,
'post_status' => 'publish',
];
$forms = get_posts( $args );
if ( $forms ) {
?>
%s', __( 'Sorry you have no form to export', 'wp-user-frontend' ) );
}
}
/**
* Import functionality
*/
public function import_data() {
?>
$value ) {
$generate_post = [
'post_title' => $value['post_data']['post_title'],
'post_status' => $value['post_data']['post_status'],
'post_type' => $value['post_data']['post_type'],
'ping_status' => $value['post_data']['ping_status'],
'comment_status' => $value['post_data']['comment_status'],
];
$post_id = wp_insert_post( $generate_post, true );
if ( is_wp_error( $post_id ) ) {
$errors->add( $post_id->get_error_code(), $post_id->get_error_message() );
} else {
foreach ( $value['meta_data']['fields'] as $order => $field ) {
wpuf_insert_form_field( $post_id, $field, false, $order );
}
update_post_meta( $post_id, 'wpuf_form_settings', $value['meta_data']['settings'] );
update_post_meta( $post_id, 'notifications', $value['meta_data']['notifications'] );
}
}
if ( $errors->has_errors() ) {
return $errors;
}
return true;
}
/**
* Export normal form data
*
* @param string $export_type
* @param int $form_ids
*/
public function export_forms( $form_type, $export_type, $form_ids ) {
if ( $export_type === 'all' ) {
static::export_to_json( $form_type );
} else if ( $export_type === 'selected' ) {
if ( empty( $form_ids ) ) {
printf(
'',
esc_html__( 'Please select some form for exporting', 'wp-user-frontend' )
);
} else {
static::export_to_json( $form_type, $form_ids );
}
}
}
/**
* Export into json file
*
* @param string $post_type
* @param array $post_ids
*/
public static function export_to_json( $post_type, $post_ids = [] ) {
$formatted_data = [];
$ids = [];
$blogname = strtolower( str_replace( ' ', '-', get_option( 'blogname' ) ) );
$date = date( 'Y-m-d' );
$json_name = $blogname . '-wpuf-' . $post_type . '-' . $date; // Namming the filename will be generated.
if ( !empty( $post_ids ) ) {
foreach ( $post_ids as $key => $value ) {
array_push( $ids, $value );
}
}
$args = [
'post_status' => 'publish',
'post_type' => $post_type,
'post__in' => ( !empty( $ids ) ) ? $ids : '',
];
$query = new WP_Query( $args );
foreach ( $query->posts as $post ) {
$postdata = get_object_vars( $post );
unset( $postdata['ID'] );
$data = [
'post_data' => $postdata,
'meta_data' => [
'fields' => wpuf_get_form_fields( $post->ID ),
'settings' => wpuf_get_form_settings( $post->ID ),
'notifications' => wpuf_get_form_notifications( $post->ID ),
],
];
array_push( $formatted_data, $data );
}
$json_file = json_encode( $formatted_data ); // Encode data into json data
ob_clean();
echo $json_file; // phpcs:ignore WordPress.XSS.EscapeOutput.OutputNotEscaped
header( 'Content-Type: text/json; charset=' . get_option( 'blog_charset' ) );
header( "Content-Disposition: attachment; filename=$json_name.json" );
exit();
}
/**
* Formetted meta key value
*
* @param array $array
*
* @return array
*/
public function formetted_meta_key_value( $array ) {
$result = [ ];
foreach ( $array as $key => $val ) {
$result[$key] = $val[0];
}
return $result;
}
public function tool_page() {
$msg = isset( $_GET['msg'] ) ? sanitize_text_field( wp_unslash( $_GET['msg'] ) ) : '';
$text = '';
$confirmation_message = __( 'Are you Sure?', 'wp-user-frontend' );
switch ( $msg ) {
case 'del_forms':
$text = __( 'All forms has been deleted', 'wp-user-frontend' );
break;
case 'settings_cleared':
$text = __( 'Settings has been cleared!', 'wp-user-frontend' );
break;
case 'del_trans':
$text = __( 'All transactions has been deleted!', 'wp-user-frontend' );
break;
}
if ( $text ) {
?>