PluginProbe
User Profile Builder – Beautiful User Registration Forms, User Profiles & User Role Editor / 4.0.3
User Profile Builder – Beautiful User Registration Forms, User Profiles & User Role Editor v4.0.3
4.0.3 4.0.2 4.0.1 4.0.0 3.16.6 3.16.5 3.16.4 3.16.3 3.16.2 3.16.1 3.16.0 3.15.9 3.9.9 3.9.5 3.9.6 3.9.7 3.9.8 1.1.7 1.1.8 1.1.9 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 All 341 releases
profile-builder / add-ons-free / import-export / pbie-export.php

pbie-export.php in User Profile Builder – Beautiful User Registration Forms, User Profiles & User Role Editor 4.0.3, at add-ons-free/import-export/pbie-export.php

148 lines 5.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 // Exit if accessed directly
3 if ( ! defined( 'ABSPATH' ) ) exit;
4
5 /* include export class */
6 require_once 'inc/class-pbie-export.php';
7
8 /* add scripts */
9 add_action( 'admin_init', 'wppb_pbie_export_our_json' );
10
11 /* export class arguments and call */
12 function wppb_pbie_export_our_json() {
13 if( isset( $_POST['cozmos-export'] ) && isset( $_POST['wppb_nonce'] ) && wp_verify_nonce( sanitize_text_field( $_POST['wppb_nonce'] ), 'wppb_export_settings' ) && current_user_can( 'manage_options' ) ) {
14 /* get Profile Builder version */
15 $versions = array( 'Profile Builder Pro', 'Profile Builder Agency', 'Profile Builder Unlimited', 'Profile Builder Dev' );
16
17 if( in_array( PROFILE_BUILDER, $versions ) ) {
18 $version = 'pro';
19 } elseif( PROFILE_BUILDER == 'Profile Builder Hobbyist' || PROFILE_BUILDER == 'Profile Builder Basic' ) {
20 $version = 'hobbyist';
21 }
22
23 $pbie_args = array(
24 'options' => array(
25 // General Settings
26 'wppb_general_settings',
27 // Content Restriction
28 'wppb_content_restriction_settings',
29 // Roles Editor
30 'wppb_roles_editor_capabilities',
31 // Serial Settings
32 'wppb_profile_builder_'.$version.'_serial_status',
33 'wppb_profile_builder_'.$version.'_serial',
34 // Manage Fields
35 'wppb_manage_fields',
36 // Form Builder per-CPT editor mode (modern/classic toggle)
37 'wppb_forms_editor_mode',
38 // Module Settings
39 'wppb_module_settings',
40 'wppb_module_settings_description',
41 'wppb_free_add_ons_settings',
42 'wppb_advanced_add_ons_settings',
43 // Email Customizer Settings
44 'wppb_emailc_common_settings_from_name',
45 'wppb_emailc_common_settings_from_reply_to_email',
46 // Email Customizer for Admins
47 'wppb_admin_emailc_default_registration_email_subject',
48 'wppb_admin_emailc_default_registration_email_content',
49 'wppb_admin_emailc_registration_with_admin_approval_email_subject',
50 'wppb_admin_emailc_registration_with_admin_approval_email_content',
51 'wppb_admin_emailc_user_password_reset_email_subject',
52 'wppb_admin_emailc_user_password_reset_email_content',
53 // Email Customizer for Users
54 'wppb_user_emailc_default_registration_email_subject',
55 'wppb_user_emailc_default_registration_email_content',
56 'wppb_user_emailc_registr_w_email_confirm_email_subject',
57 'wppb_user_emailc_registr_w_email_confirm_email_content',
58 'wppb_user_emailc_registration_with_admin_approval_email_subject',
59 'wppb_user_emailc_registration_with_admin_approval_email_content',
60 'wppb_user_emailc_admin_approval_notif_approved_email_subject',
61 'wppb_user_emailc_admin_approval_notif_approved_email_content',
62 'wppb_user_emailc_admin_approval_notif_unapproved_email_subject',
63 'wppb_user_emailc_admin_approval_notif_unapproved_email_content',
64 'wppb_user_emailc_reset_email_subject',
65 'wppb_user_emailc_reset_email_content',
66 'wppb_user_emailc_reset_success_email_subject',
67 'wppb_user_emailc_reset_success_email_content',
68 'wppb_user_emailc_change_email_address_subject',
69 'wppb_user_emailc_change_email_address_content',
70 // Custom Redirects
71 'wppb_cr_user',
72 'wppb_cr_role',
73 'wppb_cr_global',
74 'wppb_cr_default_wp_pages',
75 'customRedirectSettings', // this is the old version of custom redirects, we only keep this for backwards compatibility
76 // Private Website
77 'wppb_private_website_settings',
78 // Add-on: Multi-Step Forms
79 'wppb_msf_options',
80 'wppb_msf_break_points',
81 'wppb_msf_tab_titles',
82 // Add-on: Social Connect
83 'wppb_social_connect_settings',
84 // Add-on: bbPress
85 'wppb_bbpress_settings',
86 // Add-on: BuddyPress
87 'wppb_buddypress_settings',
88 // Add-on: Campaign Monitor
89 'wppb_cmi_settings',
90 'wppb_cmi_api_key_validated',
91 // Add-on: MailChimp
92 'wppb_mci_settings',
93 'wppb_mailchimp_api_key_validated',
94 // Add-on: WooSync
95 'wppb_woosync_settings',
96 // Add-on: Toolbox
97 'wppb_toolbox_forms_settings',
98 'wppb_toolbox_fields_settings',
99 'wppb_toolbox_userlisting_settings',
100 'wppb_toolbox_shortcodes_settings',
101 ),
102 'cpts' => array(
103 // User Listing
104 'wppb-ul-cpt',
105 // Register Forms
106 'wppb-rf-cpt',
107 // Edit Profile Forms
108 'wppb-epf-cpt',
109 )
110 );
111
112 wppb_pbie_add_repeater_meta_names($pbie_args);
113
114 $pb_prefix = 'PB_';
115 $pbie_json_export = new WPPB_ImpEx_Export( $pbie_args );
116 $pbie_json_export->download_to_json_format( $pb_prefix );
117 }
118 }
119
120 /* Export tab content function */
121 function wppb_pbie_export() {
122 ?>
123 <div class="cozmoslabs-form-subsection-wrapper">
124 <h4 class="cozmoslabs-subsection-title"><?php esc_html_e( 'Export Profile Builder Options', 'profile-builder' ); ?></h4>
125 <p class="cozmoslabs-description"><?php esc_html_e( 'This allows you to easily import the configuration into another site.', 'profile-builder' ); ?></p>
126
127 <form action="" method="post">
128 <input type="hidden" name="wppb_nonce" value="<?php echo esc_attr( wp_create_nonce( 'wppb_export_settings' ) ); ?>" />
129
130 <div class="cozmoslabs-form-field-wrapper">
131 <label class="cozmoslabs-form-field-label"><?php esc_html_e('Export Options', 'profile-builder'); ?></label>
132 <input class="button-secondary" type="submit" name="cozmos-export" value=<?php esc_html_e( 'Export', 'profile-builder' ); ?> id="cozmos-export" />
133 <p class="cozmoslabs-description cozmoslabs-description-align-right"><?php esc_html_e( 'Export Profile Builder options as a JSON file.', 'profile-builder' ); ?></p>
134 </div>
135 </form>
136 </div>
137 <?php
138 }
139
140 function wppb_pbie_add_repeater_meta_names( &$args ) {
141 $fields = get_option('wppb_manage_fields');
142
143 foreach ($fields as $field) {
144 if ($field['field'] == 'Repeater')
145 $args['options'][] = $field['meta-name'];
146 }
147 }
148