Version Description
- Fixed an issue with the redirect parameter for login widget
- Added extra_attr filter for recover password forms: 'wppb_recover_password_extra_attr'
- Added filter in select fields for placeholder labels add-on support
- Fixed the cozmoslabs.com url from http to https
Download this release
Release Info
| Developer | madalin.ungureanu |
| Plugin | |
| Version | 2.3.8 |
| Comparing to | |
| See all releases | |
Code changes from version 2.3.7 to 2.3.8
- admin/add-ons.php +3 -3
- admin/basic-info.php +4 -4
- admin/general-settings.php +1 -1
- admin/manage-fields.php +107 -2
- admin/pms-cross-promotion.php +1 -1
- admin/register-version.php +5 -5
- assets/css/style-back-end.css +21 -0
- assets/css/style-front-end.css +129 -0
- assets/images/ajax-loader.gif +0 -0
- assets/js/jquery-manage-fields-live-change.js +28 -2
- assets/js/jquery-pb-sitewide.js +11 -0
- features/functions.php +8 -2
- features/login-widget/login-widget.php +1 -1
- front-end/login.php +5 -1
- front-end/recover.php +11 -6
- index.php +5 -5
- readme.txt +8 -2
admin/add-ons.php
CHANGED
|
@@ -159,7 +159,7 @@ function wppb_add_ons_content() {
|
|
| 159 |
// PB version type does not match
|
| 160 |
} else {
|
| 161 |
|
| 162 |
-
echo '<a target="_blank" class="button button-secondary right" href="
|
| 163 |
echo '<span class="dashicons dashicons-no-alt"></span><span class="wppb-add-on-message">' . __('Not compatible with Profile Builder', 'profile-builder') . ' ' . $version . '</span>';
|
| 164 |
|
| 165 |
}
|
|
@@ -277,7 +277,7 @@ function wppb_add_ons_content() {
|
|
| 277 |
*/
|
| 278 |
function wppb_add_ons_get_remote_content() {
|
| 279 |
|
| 280 |
-
$response = wp_remote_get('
|
| 281 |
|
| 282 |
if( is_wp_error($response) ) {
|
| 283 |
return false;
|
|
@@ -360,7 +360,7 @@ function wppb_add_on_download_zip_file() {
|
|
| 360 |
$wppb_add_on_download_url = $_POST['wppb_add_on_download_url'];
|
| 361 |
$wppb_add_on_zip_name = $_POST['wppb_add_on_zip_name'];
|
| 362 |
|
| 363 |
-
if( strpos( $wppb_add_on_download_url, '
|
| 364 |
wp_die();
|
| 365 |
|
| 366 |
// Get .zip file
|
| 159 |
// PB version type does not match
|
| 160 |
} else {
|
| 161 |
|
| 162 |
+
echo '<a target="_blank" class="button button-secondary right" href="https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wpbackend&utm_medium=clientsite&utm_content=add-on-page-upgrade-button&utm_campaign=PB' . $version . '">' . __('Upgrade Profile Builder', 'profile-builder') . '</a>';
|
| 163 |
echo '<span class="dashicons dashicons-no-alt"></span><span class="wppb-add-on-message">' . __('Not compatible with Profile Builder', 'profile-builder') . ' ' . $version . '</span>';
|
| 164 |
|
| 165 |
}
|
| 277 |
*/
|
| 278 |
function wppb_add_ons_get_remote_content() {
|
| 279 |
|
| 280 |
+
$response = wp_remote_get('https://www.cozmoslabs.com/wp-content/plugins/cozmoslabs-products-add-ons/profile-builder-add-ons.json');
|
| 281 |
|
| 282 |
if( is_wp_error($response) ) {
|
| 283 |
return false;
|
| 360 |
$wppb_add_on_download_url = $_POST['wppb_add_on_download_url'];
|
| 361 |
$wppb_add_on_zip_name = $_POST['wppb_add_on_zip_name'];
|
| 362 |
|
| 363 |
+
if( strpos( $wppb_add_on_download_url, 'https://www.cozmoslabs.com/' ) === false && strpos( $wppb_add_on_download_url, 'https://downloads.wordpress.org/' ) === false )
|
| 364 |
wp_die();
|
| 365 |
|
| 366 |
// Get .zip file
|
admin/basic-info.php
CHANGED
|
@@ -87,7 +87,7 @@ function wppb_basic_info_content() {
|
|
| 87 |
<h3><?php _e( 'Customize Your Forms The Way You Want (*)', 'profile-builder' ); ?></h3>
|
| 88 |
<p><?php _e( 'With Extra Profile Fields you can create the exact registration form your project needs.', 'profile-builder' ); ?></p>
|
| 89 |
<?php if ($version == 'Free'){ ?>
|
| 90 |
-
<p><a href="
|
| 91 |
<?php } else {?>
|
| 92 |
<p><a href="admin.php?page=manage-fields" class="button"><?php _e( 'Get started with extra fields', 'profile-builder' ); ?></a></p>
|
| 93 |
<?php } ?>
|
|
@@ -118,7 +118,7 @@ function wppb_basic_info_content() {
|
|
| 118 |
<p><a href="admin.php?page=profile-builder-modules" class="button"><?php _e( 'Enable your modules', 'profile-builder' ); ?></a></p>
|
| 119 |
<?php endif; ?>
|
| 120 |
<?php if ($version == 'Free'){ ?>
|
| 121 |
-
<p><a href="
|
| 122 |
<?php }?>
|
| 123 |
</div>
|
| 124 |
<div class="wppb-row wppb-3-col">
|
|
@@ -170,8 +170,8 @@ function wppb_basic_info_content() {
|
|
| 170 |
<div>
|
| 171 |
<h3>Extra Notes</h3>
|
| 172 |
<ul>
|
| 173 |
-
<li><?php printf( __( ' * only available in the %1$sHobbyist and Pro versions%2$s.', 'profile-builder' ) ,'<a href="
|
| 174 |
-
<li><?php printf( __( '** only available in the %1$sPro version%2$s.', 'profile-builder' ), '<a href="
|
| 175 |
</ul>
|
| 176 |
</div>
|
| 177 |
</div>
|
| 87 |
<h3><?php _e( 'Customize Your Forms The Way You Want (*)', 'profile-builder' ); ?></h3>
|
| 88 |
<p><?php _e( 'With Extra Profile Fields you can create the exact registration form your project needs.', 'profile-builder' ); ?></p>
|
| 89 |
<?php if ($version == 'Free'){ ?>
|
| 90 |
+
<p><a href="https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wpbackend&utm_medium=clientsite&utm_content=basicinfo-extrafields&utm_campaign=PBFree" class="wppb-button-free"><?php _e( 'Extra Profile Fields are available in Hobbyist or PRO versions', 'profile-builder' ); ?></a></p>
|
| 91 |
<?php } else {?>
|
| 92 |
<p><a href="admin.php?page=manage-fields" class="button"><?php _e( 'Get started with extra fields', 'profile-builder' ); ?></a></p>
|
| 93 |
<?php } ?>
|
| 118 |
<p><a href="admin.php?page=profile-builder-modules" class="button"><?php _e( 'Enable your modules', 'profile-builder' ); ?></a></p>
|
| 119 |
<?php endif; ?>
|
| 120 |
<?php if ($version == 'Free'){ ?>
|
| 121 |
+
<p><a href="https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wpbackend&utm_medium=clientsite&utm_content=basicinfo-modules&utm_campaign=PBFree" class="wppb-button-free"><?php _e( 'Find out more about PRO Modules', 'profile-builder' ); ?></a></p>
|
| 122 |
<?php }?>
|
| 123 |
</div>
|
| 124 |
<div class="wppb-row wppb-3-col">
|
| 170 |
<div>
|
| 171 |
<h3>Extra Notes</h3>
|
| 172 |
<ul>
|
| 173 |
+
<li><?php printf( __( ' * only available in the %1$sHobbyist and Pro versions%2$s.', 'profile-builder' ) ,'<a href="https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wpbackend&utm_medium=clientsite&utm_content=basicinfo-extranotes&utm_campaign=PB'.$version.'" target="_blank">', '</a>' );?></li>
|
| 174 |
+
<li><?php printf( __( '** only available in the %1$sPro version%2$s.', 'profile-builder' ), '<a href="https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wpbackend&utm_medium=clientsite&utm_content=basicinfo-extranotes&utm_campaign=PB'.$version.'" target="_blank">', '</a>' );?></li>
|
| 175 |
</ul>
|
| 176 |
</div>
|
| 177 |
</div>
|
admin/general-settings.php
CHANGED
|
@@ -149,7 +149,7 @@ function wppb_general_settings_content() {
|
|
| 149 |
<?php _e( '"Admin Approval" Feature:', 'profile-builder' ); ?>
|
| 150 |
</th>
|
| 151 |
<td>
|
| 152 |
-
<p><em> <?php printf( __( 'You decide who is a user on your website. Get notified via email or approve multiple users at once from the WordPress UI. Enable Admin Approval by upgrading to %1$sHobbyist or PRO versions%2$s.', 'profile-builder' ),'<a href="
|
| 153 |
</td>
|
| 154 |
</tr>
|
| 155 |
<?php } ?>
|
| 149 |
<?php _e( '"Admin Approval" Feature:', 'profile-builder' ); ?>
|
| 150 |
</th>
|
| 151 |
<td>
|
| 152 |
+
<p><em> <?php printf( __( 'You decide who is a user on your website. Get notified via email or approve multiple users at once from the WordPress UI. Enable Admin Approval by upgrading to %1$sHobbyist or PRO versions%2$s.', 'profile-builder' ),'<a href="https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wpbackend&utm_medium=clientsite&utm_content=general-settings-link&utm_campaign=PBFree">', '</a>' )?></em></p>
|
| 153 |
</td>
|
| 154 |
</tr>
|
| 155 |
<?php } ?>
|
admin/manage-fields.php
CHANGED
|
@@ -49,6 +49,7 @@ function wppb_manage_fields_submenu(){
|
|
| 49 |
$manage_field_types[] = 'Input (Hidden)';
|
| 50 |
$manage_field_types[] = 'Textarea';
|
| 51 |
$manage_field_types[] = 'WYSIWYG';
|
|
|
|
| 52 |
$manage_field_types[] = 'Select';
|
| 53 |
$manage_field_types[] = 'Select (Multiple)';
|
| 54 |
$manage_field_types[] = 'Select (Country)';
|
|
@@ -65,13 +66,15 @@ function wppb_manage_fields_submenu(){
|
|
| 65 |
$manage_field_types[] = 'Colorpicker';
|
| 66 |
$manage_field_types[] = 'reCAPTCHA';
|
| 67 |
$manage_field_types[] = 'Validation';
|
|
|
|
|
|
|
| 68 |
}
|
| 69 |
|
| 70 |
|
| 71 |
//Free to Pro call to action on Manage Fields page
|
| 72 |
$field_description = __('Choose one of the supported field types','profile-builder');
|
| 73 |
if( PROFILE_BUILDER == 'Profile Builder Free' ) {
|
| 74 |
-
$field_description .= sprintf( __('. Extra Field Types are available in <a href="%s">Hobbyist or PRO versions</a>.' , 'profile-builder'), esc_url( '
|
| 75 |
}
|
| 76 |
|
| 77 |
|
|
@@ -131,8 +134,15 @@ function wppb_manage_fields_submenu(){
|
|
| 131 |
array( 'type' => 'text', 'slug' => 'validation-possible-values', 'title' => __( 'Allowable Values', 'profile-builder' ), 'description' => __( "Enter a comma separated list of possible values. Upon registration if the value provided by the user does not match one of these values, the user will not be registered.", 'profile-builder' ) ),
|
| 132 |
array( 'type' => 'text', 'slug' => 'custom-error-message', 'title' => __( 'Error Message', 'profile-builder' ), 'description' => __( "Set a custom error message that will be displayed to the user.", 'profile-builder' ) ),
|
| 133 |
array( 'type' => 'select', 'slug' => 'time-format', 'title' => __( 'Time Format', 'profile-builder' ), 'options' => array( '%12 Hours%12', '%24 Hours%24' ), 'description' => __( 'Specify the time format.', 'profile-builder' ) ),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 134 |
array( 'type' => 'textarea', 'slug' => 'default-content', 'title' => __( 'Default Content', 'profile-builder' ), 'description' => __( "Default value of the textarea", 'profile-builder' ) ),
|
| 135 |
-
|
|
|
|
|
|
|
| 136 |
array( 'type' => 'select', 'slug' => 'overwrite-existing', 'title' => __( 'Overwrite Existing', 'profile-builder' ), 'options' => array( 'No', 'Yes' ), 'default' => 'No', 'description' => __( "Selecting 'Yes' will add the field to the list, but will overwrite any other field in the database that has the same meta-name<br/>Use this at your own risk", 'profile-builder' ) ),
|
| 137 |
) );
|
| 138 |
|
|
@@ -1245,3 +1255,98 @@ function wppb_wpml_compat_with_fields( $oldvalue, $_newvalue ){
|
|
| 1245 |
}
|
| 1246 |
}
|
| 1247 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 49 |
$manage_field_types[] = 'Input (Hidden)';
|
| 50 |
$manage_field_types[] = 'Textarea';
|
| 51 |
$manage_field_types[] = 'WYSIWYG';
|
| 52 |
+
$manage_field_types[] = 'Phone';
|
| 53 |
$manage_field_types[] = 'Select';
|
| 54 |
$manage_field_types[] = 'Select (Multiple)';
|
| 55 |
$manage_field_types[] = 'Select (Country)';
|
| 66 |
$manage_field_types[] = 'Colorpicker';
|
| 67 |
$manage_field_types[] = 'reCAPTCHA';
|
| 68 |
$manage_field_types[] = 'Validation';
|
| 69 |
+
$manage_field_types[] = 'Map';
|
| 70 |
+
$manage_field_types[] = 'HTML';
|
| 71 |
}
|
| 72 |
|
| 73 |
|
| 74 |
//Free to Pro call to action on Manage Fields page
|
| 75 |
$field_description = __('Choose one of the supported field types','profile-builder');
|
| 76 |
if( PROFILE_BUILDER == 'Profile Builder Free' ) {
|
| 77 |
+
$field_description .= sprintf( __('. Extra Field Types are available in <a href="%s">Hobbyist or PRO versions</a>.' , 'profile-builder'), esc_url( 'https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=wpbackend&utm_medium=clientsite&utm_content=manage-fields-link&utm_campaign=PBFree' ) );
|
| 78 |
}
|
| 79 |
|
| 80 |
|
| 134 |
array( 'type' => 'text', 'slug' => 'validation-possible-values', 'title' => __( 'Allowable Values', 'profile-builder' ), 'description' => __( "Enter a comma separated list of possible values. Upon registration if the value provided by the user does not match one of these values, the user will not be registered.", 'profile-builder' ) ),
|
| 135 |
array( 'type' => 'text', 'slug' => 'custom-error-message', 'title' => __( 'Error Message', 'profile-builder' ), 'description' => __( "Set a custom error message that will be displayed to the user.", 'profile-builder' ) ),
|
| 136 |
array( 'type' => 'select', 'slug' => 'time-format', 'title' => __( 'Time Format', 'profile-builder' ), 'options' => array( '%12 Hours%12', '%24 Hours%24' ), 'description' => __( 'Specify the time format.', 'profile-builder' ) ),
|
| 137 |
+
array( 'type' => 'text', 'slug' => 'map-api-key', 'title' => __( 'Google Maps API Key', 'profile-builder' ), 'description' => __( 'Enter your Google Maps API key ( <a href="https://console.developers.google.com/flows/enableapi?apiid=maps_backend" target="_blank">Get your API key</a> ). If more than one map fields are added to a form the API key from the first map displayed will be used.', 'profile-builder' ) ),
|
| 138 |
+
array( 'type' => 'text', 'slug' => 'map-default-lat', 'title' => __( 'Default Latitude', 'profile-builder' ), 'description' => __( "The latitude at which the map should be displayed when no pins are attached.", 'profile-builder' ) ),
|
| 139 |
+
array( 'type' => 'text', 'slug' => 'map-default-lng', 'title' => __( 'Default Longitude', 'profile-builder' ), 'description' => __( "The longitude at which the map should be displayed when no pins are attached.", 'profile-builder' ) ),
|
| 140 |
+
array( 'type' => 'text', 'slug' => 'map-default-zoom', 'title' => __( 'Default Zoom Level', 'profile-builder' ), 'description' => __( "Add a number from 0 to 19. The higher the number the higher the zoom.", 'profile-builder' ), 'default' => 16 ),
|
| 141 |
+
array( 'type' => 'text', 'slug' => 'map-height', 'title' => __( 'Map Height', 'profile-builder' ), 'description' => __( "The height of the map.", 'profile-builder' ), 'default' => 400 ),
|
| 142 |
array( 'type' => 'textarea', 'slug' => 'default-content', 'title' => __( 'Default Content', 'profile-builder' ), 'description' => __( "Default value of the textarea", 'profile-builder' ) ),
|
| 143 |
+
array( 'type' => 'textarea', 'slug' => 'html-content', 'title' => __( 'HTML Content', 'profile-builder' ), 'description' => __( "Add your HTML (or text) content", 'profile-builder' ) ),
|
| 144 |
+
array( 'type' => 'text', 'slug' => 'phone-format', 'title' => __( 'Phone Format', 'profile-builder' ), 'default' => '(###) ###-####', 'description' => __( "You can use: # for numbers, parentheses ( ), - sign, + sign, dot . and spaces.", 'profile-builder' ) .'<br>'. __( "Eg. (###) ###-####", 'profile-builder' ) .'<br>'. __( "Empty field won't check for correct phone number.", 'profile-builder' ) ),
|
| 145 |
+
array( 'type' => 'select', 'slug' => 'required', 'title' => __( 'Required', 'profile-builder' ), 'options' => array( 'No', 'Yes' ), 'default' => 'No', 'description' => __( 'Whether the field is required or not', 'profile-builder' ) ),
|
| 146 |
array( 'type' => 'select', 'slug' => 'overwrite-existing', 'title' => __( 'Overwrite Existing', 'profile-builder' ), 'options' => array( 'No', 'Yes' ), 'default' => 'No', 'description' => __( "Selecting 'Yes' will add the field to the list, but will overwrite any other field in the database that has the same meta-name<br/>Use this at your own risk", 'profile-builder' ) ),
|
| 147 |
) );
|
| 148 |
|
| 1255 |
}
|
| 1256 |
}
|
| 1257 |
}
|
| 1258 |
+
|
| 1259 |
+
|
| 1260 |
+
/*
|
| 1261 |
+
* Returns the HTML for a map given the field
|
| 1262 |
+
*
|
| 1263 |
+
*/
|
| 1264 |
+
function wppb_get_map_output( $field, $args ) {
|
| 1265 |
+
|
| 1266 |
+
$defaults = array(
|
| 1267 |
+
'markers' => array(),
|
| 1268 |
+
'editable' => true,
|
| 1269 |
+
'show_search' => true,
|
| 1270 |
+
'extra_attr' => ''
|
| 1271 |
+
);
|
| 1272 |
+
|
| 1273 |
+
$args = wp_parse_args( $args, $defaults );
|
| 1274 |
+
|
| 1275 |
+
$return = '';
|
| 1276 |
+
|
| 1277 |
+
// Search box
|
| 1278 |
+
// The style:left=-99999px is set to hide the input from the viewport. It will be rewritten when the map gets initialised
|
| 1279 |
+
if( $args['show_search'] )
|
| 1280 |
+
$return .= '<input style="left: -99999px" type="text" id="' . $field['meta-name'] . '-search-box" class="wppb-map-search-box" placeholder="' . __( 'Search Location', 'profile-builder' ) . '" />';
|
| 1281 |
+
|
| 1282 |
+
// Map container
|
| 1283 |
+
$return .= '<div id="' . $field['meta-name'] . '" class="wppb-map-container" style="height: ' . $field['map-height'] . 'px;" data-editable="' . ( $args['editable'] ? 1 : 0 ) . '" data-default-zoom="' . ( !empty( $field['map-default-zoom'] ) ? (int)$field['map-default-zoom'] : 16 ) . '" data-default-lat="' . $field['map-default-lat'] . '" data-default-lng="' . $field['map-default-lng'] . '" ' . $args['extra_attr'] . '></div>';
|
| 1284 |
+
|
| 1285 |
+
if( !empty( $args['markers'] ) ) {
|
| 1286 |
+
foreach( $args['markers'] as $marker )
|
| 1287 |
+
$return .= '<input name="' . $field['meta-name'] . '[]" type="hidden" class="wppb-map-marker" value="' . $marker . '" />';
|
| 1288 |
+
}
|
| 1289 |
+
|
| 1290 |
+
return $return;
|
| 1291 |
+
|
| 1292 |
+
}
|
| 1293 |
+
|
| 1294 |
+
|
| 1295 |
+
/*
|
| 1296 |
+
* Returns all the saved markers for a map field for a particular user
|
| 1297 |
+
*
|
| 1298 |
+
*/
|
| 1299 |
+
function wppb_get_user_map_markers( $user_id, $meta_name ) {
|
| 1300 |
+
|
| 1301 |
+
global $wpdb;
|
| 1302 |
+
|
| 1303 |
+
$meta_name .= '_';
|
| 1304 |
+
|
| 1305 |
+
$results = $wpdb->get_results( "SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id={$user_id} AND meta_key LIKE '%{$meta_name}%'", ARRAY_N );
|
| 1306 |
+
|
| 1307 |
+
foreach( $results as $key => $result )
|
| 1308 |
+
$results[$key] = $result[0];
|
| 1309 |
+
|
| 1310 |
+
return $results;
|
| 1311 |
+
|
| 1312 |
+
}
|
| 1313 |
+
|
| 1314 |
+
/*
|
| 1315 |
+
* Deletes from the database all saved markers
|
| 1316 |
+
*
|
| 1317 |
+
*/
|
| 1318 |
+
function wppb_delete_user_map_markers( $user_id, $meta_name ) {
|
| 1319 |
+
|
| 1320 |
+
global $wpdb;
|
| 1321 |
+
|
| 1322 |
+
$meta_name .= '_';
|
| 1323 |
+
|
| 1324 |
+
$delete = $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->usermeta} WHERE user_id=%d AND meta_key LIKE %s", $user_id, '%' . $meta_name . '%' ) );
|
| 1325 |
+
|
| 1326 |
+
wp_cache_delete( $user_id, 'user_meta' );
|
| 1327 |
+
|
| 1328 |
+
}
|
| 1329 |
+
|
| 1330 |
+
|
| 1331 |
+
/*
|
| 1332 |
+
* Save markers upon user activation
|
| 1333 |
+
*/
|
| 1334 |
+
function wppb_activate_user_map_field( $user_id, $password, $meta ) {
|
| 1335 |
+
|
| 1336 |
+
$manage_fields = get_option( 'wppb_manage_fields', array() );
|
| 1337 |
+
|
| 1338 |
+
if( !empty( $manage_fields ) ) {
|
| 1339 |
+
foreach( $manage_fields as $field ) {
|
| 1340 |
+
|
| 1341 |
+
if( $field['field'] == 'Map' && !empty( $meta[wppb_handle_meta_name($field['meta-name'])] ) && is_array( $meta[wppb_handle_meta_name( $field['meta-name'] )] ) ) {
|
| 1342 |
+
|
| 1343 |
+
foreach( $meta[wppb_handle_meta_name( $field['meta-name'] )] as $key => $position )
|
| 1344 |
+
update_user_meta( $user_id, $field['meta-name'] . '_' . $key, $position );
|
| 1345 |
+
|
| 1346 |
+
}
|
| 1347 |
+
|
| 1348 |
+
}
|
| 1349 |
+
}
|
| 1350 |
+
|
| 1351 |
+
}
|
| 1352 |
+
add_action( 'wppb_activate_user', 'wppb_activate_user_map_field', 10, 3 );
|
admin/pms-cross-promotion.php
CHANGED
|
@@ -26,7 +26,7 @@ function wppb_pms_cross_promo() {
|
|
| 26 |
<hr />
|
| 27 |
<div class="wppb-row">
|
| 28 |
<p>One of the most requested features in Profile Builder was for users to be able to pay for an account.</p>
|
| 29 |
-
<p>Now that's possible using the free WordPress plugin - <a href="
|
| 30 |
</div>
|
| 31 |
|
| 32 |
|
| 26 |
<hr />
|
| 27 |
<div class="wppb-row">
|
| 28 |
<p>One of the most requested features in Profile Builder was for users to be able to pay for an account.</p>
|
| 29 |
+
<p>Now that's possible using the free WordPress plugin - <a href="https://www.cozmoslabs.com/wordpress-paid-member-subscriptions/?utm_source=wpbackend&utm_medium=clientsite&utm_content=pb-pms-promo&utm_campaign=PBFree">Paid Member Subscriptions</a>.</p>
|
| 30 |
</div>
|
| 31 |
|
| 32 |
|
admin/register-version.php
CHANGED
|
@@ -78,9 +78,9 @@ function wppb_serial_form($version, $fullname){
|
|
| 78 |
elseif ( $wppb_profile_builder_serial_status == 'notFound' )
|
| 79 |
echo '<span class="validateStatus"><img src="'.WPPB_PLUGIN_URL.'/assets/images/icon_error.png" title="'.__( 'The serial number entered couldn\'t be validated!','profile-builder' ).'"/></span>';
|
| 80 |
elseif ( strpos( $wppb_profile_builder_serial_status, 'aboutToExpire') !== false )
|
| 81 |
-
echo '<span class="validateStatus"><img src="' . WPPB_PLUGIN_URL . '/assets/images/icon_error.png" title="' . __('The serial number is about to expire soon!', 'profile-builder') . '"/>'. sprintf( __(' Your serial number is about to expire, please %1$s Renew Your License%2$s.','profile-builder'), "<a href='
|
| 82 |
elseif ( $wppb_profile_builder_serial_status == 'expired' )
|
| 83 |
-
echo '<span class="validateStatus"><img src="'.WPPB_PLUGIN_URL.'/assets/images/icon_error.png" title="'.__( 'The serial number couldn\'t be validated because it expired!','profile-builder' ).'"/>'. sprintf( __(' Your serial number is expired, please %1$s Renew Your License%2$s.','profile-builder'), "<a href='
|
| 84 |
elseif ( $wppb_profile_builder_serial_status == 'serverDown' )
|
| 85 |
echo '<span class="validateStatus"><img src="'.WPPB_PLUGIN_URL.'/assets/images/icon_error.png" title="'.__( 'The serial number couldn\'t be validated because process timed out. This is possible due to the server being down. Please try again later!','profile-builder' ).'"/></span>';
|
| 86 |
?>
|
|
@@ -240,13 +240,13 @@ if ( $wppb_profile_builder_pro_hobbyist_serial_status == 'notFound' || $wppb_pro
|
|
| 240 |
else
|
| 241 |
$register_url = network_admin_url( 'admin.php?page=profile-builder-register' );
|
| 242 |
|
| 243 |
-
new wppb_add_notices( 'wppb', 'profile_builder_pro', sprintf( __( '<p>Your <strong>Profile Builder</strong> serial number is invalid or missing. <br/>Please %1$sregister your copy%2$s to receive access to automatic updates and support. Need a license key? %3$sPurchase one now%4$s</p>', 'profile-builder'), "<a href='". $register_url ."'>", "</a>", "<a href='
|
| 244 |
}
|
| 245 |
elseif ( $wppb_profile_builder_pro_hobbyist_serial_status == 'expired' ){
|
| 246 |
-
new wppb_add_notices( 'wppb_expired', 'profile_builder_pro', sprintf( __( '<p>Your <strong>Profile Builder</strong> license has expired. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now and get 50% off %4$s %5$sDismiss%6$s</p>', 'profile-builder'), "<a href='
|
| 247 |
}
|
| 248 |
elseif( strpos( $wppb_profile_builder_pro_hobbyist_serial_status, 'aboutToExpire' ) === 0 ){
|
| 249 |
$serial_status_parts = explode( '#', $wppb_profile_builder_pro_hobbyist_serial_status );
|
| 250 |
$date = $serial_status_parts[1];
|
| 251 |
-
new wppb_add_notices( 'wppb_about_to_expire', 'profile_builder_pro', sprintf( __( '<p>Your <strong>Profile Builder</strong> license is about to expire on %5$s. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now and get 50% off %4$s %6$sDismiss%7$s</p>', 'profile-builder'), "<a href='
|
| 252 |
}
|
| 78 |
elseif ( $wppb_profile_builder_serial_status == 'notFound' )
|
| 79 |
echo '<span class="validateStatus"><img src="'.WPPB_PLUGIN_URL.'/assets/images/icon_error.png" title="'.__( 'The serial number entered couldn\'t be validated!','profile-builder' ).'"/></span>';
|
| 80 |
elseif ( strpos( $wppb_profile_builder_serial_status, 'aboutToExpire') !== false )
|
| 81 |
+
echo '<span class="validateStatus"><img src="' . WPPB_PLUGIN_URL . '/assets/images/icon_error.png" title="' . __('The serial number is about to expire soon!', 'profile-builder') . '"/>'. sprintf( __(' Your serial number is about to expire, please %1$s Renew Your License%2$s.','profile-builder'), "<a href='https://www.cozmoslabs.com/downloads/profile-builder-". $version ."-v2-yearly-renewal/?utm_source=PB&utm_medium=dashboard&utm_campaign=PB-Renewal' >", "</a>").'</span>';
|
| 82 |
elseif ( $wppb_profile_builder_serial_status == 'expired' )
|
| 83 |
+
echo '<span class="validateStatus"><img src="'.WPPB_PLUGIN_URL.'/assets/images/icon_error.png" title="'.__( 'The serial number couldn\'t be validated because it expired!','profile-builder' ).'"/>'. sprintf( __(' Your serial number is expired, please %1$s Renew Your License%2$s.','profile-builder'), "<a href='https://www.cozmoslabs.com/downloads/profile-builder-". $version ."-v2-yearly-renewal/?utm_source=PB&utm_medium=dashboard&utm_campaign=PB-Renewal' >", "</a>").'</span>';
|
| 84 |
elseif ( $wppb_profile_builder_serial_status == 'serverDown' )
|
| 85 |
echo '<span class="validateStatus"><img src="'.WPPB_PLUGIN_URL.'/assets/images/icon_error.png" title="'.__( 'The serial number couldn\'t be validated because process timed out. This is possible due to the server being down. Please try again later!','profile-builder' ).'"/></span>';
|
| 86 |
?>
|
| 240 |
else
|
| 241 |
$register_url = network_admin_url( 'admin.php?page=profile-builder-register' );
|
| 242 |
|
| 243 |
+
new wppb_add_notices( 'wppb', 'profile_builder_pro', sprintf( __( '<p>Your <strong>Profile Builder</strong> serial number is invalid or missing. <br/>Please %1$sregister your copy%2$s to receive access to automatic updates and support. Need a license key? %3$sPurchase one now%4$s</p>', 'profile-builder'), "<a href='". $register_url ."'>", "</a>", "<a href='https://www.cozmoslabs.com/wordpress-profile-builder/?utm_source=PB&utm_medium=dashboard&utm_campaign=PB-SN-Purchase' target='_blank' class='button-primary'>", "</a>" ), 'wppb_profile_builder_pro_serial_status' );
|
| 244 |
}
|
| 245 |
elseif ( $wppb_profile_builder_pro_hobbyist_serial_status == 'expired' ){
|
| 246 |
+
new wppb_add_notices( 'wppb_expired', 'profile_builder_pro', sprintf( __( '<p>Your <strong>Profile Builder</strong> license has expired. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now and get 50% off %4$s %5$sDismiss%6$s</p>', 'profile-builder'), "<a href='https://www.cozmoslabs.com/downloads/profile-builder-". $version ."-v2-yearly-renewal/?utm_source=PB&utm_medium=dashboard&utm_campaign=PB-Renewal' target='_blank'>", "</a>", "<a href='https://www.cozmoslabs.com/downloads/profile-builder-".$version."-v2-yearly-renewal/?utm_source=PB&utm_medium=dashboard&utm_campaign=PB-Renewal' target='_blank' class='button-primary'>", "</a>", "<a href='". esc_url( add_query_arg( 'wppb_expired_dismiss_notification', '0' ) ) ."' class='wppb-dismiss-notification'>", "</a>" ), 'wppb_profile_builder_pro_serial_status' );
|
| 247 |
}
|
| 248 |
elseif( strpos( $wppb_profile_builder_pro_hobbyist_serial_status, 'aboutToExpire' ) === 0 ){
|
| 249 |
$serial_status_parts = explode( '#', $wppb_profile_builder_pro_hobbyist_serial_status );
|
| 250 |
$date = $serial_status_parts[1];
|
| 251 |
+
new wppb_add_notices( 'wppb_about_to_expire', 'profile_builder_pro', sprintf( __( '<p>Your <strong>Profile Builder</strong> license is about to expire on %5$s. <br/>Please %1$sRenew Your Licence%2$s to continue receiving access to product downloads, automatic updates and support. %3$sRenew now and get 50% off %4$s %6$sDismiss%7$s</p>', 'profile-builder'), "<a href='https://www.cozmoslabs.com/downloads/profile-builder-". $version ."-v2-yearly-renewal/?utm_source=PB&utm_medium=dashboard&utm_campaign=PB-Renewal' target='_blank'>", "</a>", "<a href='https://www.cozmoslabs.com/downloads/profile-builder-".$version."-v2-yearly-renewal/?utm_source=PB&utm_medium=dashboard&utm_campaign=PB-Renewal' target='_blank' class='button-primary'>", "</a>", $date, "<a href='". esc_url( add_query_arg( 'wppb_about_to_expire_dismiss_notification', '0' ) )."' class='wppb-dismiss-notification'>", "</a>" ), 'wppb_profile_builder_pro_serial_status' );
|
| 252 |
}
|
assets/css/style-back-end.css
CHANGED
|
@@ -87,6 +87,22 @@
|
|
| 87 |
height: 400px;
|
| 88 |
}
|
| 89 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 90 |
/* Extra Stuff */
|
| 91 |
.nowrap {
|
| 92 |
white-space: nowrap;
|
|
@@ -608,4 +624,9 @@ p .wppb-button-free {
|
|
| 608 |
|
| 609 |
#pms-bottom-install .wppb-confirmation-success{
|
| 610 |
color:#FFFFFF;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 611 |
}
|
| 87 |
height: 400px;
|
| 88 |
}
|
| 89 |
|
| 90 |
+
.update_container_wppb_ul_faceted_settings .row-facet-behaviour,
|
| 91 |
+
.update_container_wppb_ul_faceted_settings .row-facet-limit,
|
| 92 |
+
#container_wppb_ul_faceted_settings .row-facet-behaviour,
|
| 93 |
+
#container_wppb_ul_faceted_settings .row-facet-behaviour,
|
| 94 |
+
#container_wppb_ul_faceted_settings .row-facet-limit{
|
| 95 |
+
display:none;
|
| 96 |
+
}
|
| 97 |
+
|
| 98 |
+
#container_wppb_ul_faceted_settings .facet_type_checkboxes .row-facet-behaviour,
|
| 99 |
+
#container_wppb_ul_faceted_settings .facet_type_checkboxes .row-facet-limit,
|
| 100 |
+
#container_wppb_ul_faceted_settings .update_container_wppb_ul_faceted_settings.facet_checkboxes .row-facet-behaviour,
|
| 101 |
+
#container_wppb_ul_faceted_settings .update_container_wppb_ul_faceted_settings.facet_checkboxes .row-facet-limit{
|
| 102 |
+
display:block;
|
| 103 |
+
}
|
| 104 |
+
|
| 105 |
+
|
| 106 |
/* Extra Stuff */
|
| 107 |
.nowrap {
|
| 108 |
white-space: nowrap;
|
| 624 |
|
| 625 |
#pms-bottom-install .wppb-confirmation-success{
|
| 626 |
color:#FFFFFF;
|
| 627 |
+
}
|
| 628 |
+
|
| 629 |
+
#wppb_ul_search_settings .wck-checkboxes > div{
|
| 630 |
+
display: inline-block;
|
| 631 |
+
margin-left:7px;
|
| 632 |
}
|
assets/css/style-front-end.css
CHANGED
|
@@ -265,6 +265,21 @@ input#send_credentials_via_email{
|
|
| 265 |
margin-bottom: 0;
|
| 266 |
}
|
| 267 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 268 |
/*--------------------------------------------------------------
|
| 269 |
4.0 Errors & Notices
|
| 270 |
--------------------------------------------------------------*/
|
|
@@ -430,6 +445,113 @@ ul.wppb-profile li h3:first-child{
|
|
| 430 |
border-top:1px solid #d2d2d2;
|
| 431 |
}
|
| 432 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 433 |
@media screen and ( max-width: 720px ) {
|
| 434 |
|
| 435 |
.wppb-table {
|
|
@@ -570,4 +692,11 @@ ul.wppb-profile li h3:first-child{
|
|
| 570 |
font-style: italic;
|
| 571 |
margin-left: 0;
|
| 572 |
margin-bottom: 1.5em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 573 |
}
|
| 265 |
margin-bottom: 0;
|
| 266 |
}
|
| 267 |
|
| 268 |
+
.wppb-form-field input.wppb-map-search-box {
|
| 269 |
+
position: absolute;
|
| 270 |
+
top: 10px !important;
|
| 271 |
+
height: 34px;
|
| 272 |
+
width: 50%;
|
| 273 |
+
min-width: 250px;
|
| 274 |
+
background: #fff;
|
| 275 |
+
border: 0;
|
| 276 |
+
border-radius: 1px;
|
| 277 |
+
padding: 0 10px;
|
| 278 |
+
box-shadow: 0 1px 1px 0 #c1c1c1;
|
| 279 |
+
font-family: 'Roboto', sans-serif;
|
| 280 |
+
}
|
| 281 |
+
|
| 282 |
+
|
| 283 |
/*--------------------------------------------------------------
|
| 284 |
4.0 Errors & Notices
|
| 285 |
--------------------------------------------------------------*/
|
| 445 |
border-top:1px solid #d2d2d2;
|
| 446 |
}
|
| 447 |
|
| 448 |
+
.wppb-faceted-list{
|
| 449 |
+
list-style: none;
|
| 450 |
+
margin:0 0 20px;
|
| 451 |
+
}
|
| 452 |
+
|
| 453 |
+
.wppb-faceted-list:after{
|
| 454 |
+
visibility: hidden;
|
| 455 |
+
display: block;
|
| 456 |
+
font-size: 0;
|
| 457 |
+
content: " ";
|
| 458 |
+
clear: both;
|
| 459 |
+
height: 0;
|
| 460 |
+
}
|
| 461 |
+
|
| 462 |
+
.wppb-faceted-list > li{
|
| 463 |
+
float:left;
|
| 464 |
+
margin-right: 15px;
|
| 465 |
+
max-width: 300px;
|
| 466 |
+
}
|
| 467 |
+
|
| 468 |
+
.wppb-faceted-list > li:first-child{
|
| 469 |
+
float:none;
|
| 470 |
+
clear:both;
|
| 471 |
+
}
|
| 472 |
+
|
| 473 |
+
.wppb-userlisting-container .wppb-faceted-list li h5{
|
| 474 |
+
margin-top: 20px;
|
| 475 |
+
margin-bottom: 5px;
|
| 476 |
+
}
|
| 477 |
+
|
| 478 |
+
.wppb-faceted-list label > *{
|
| 479 |
+
vertical-align: middle;
|
| 480 |
+
}
|
| 481 |
+
|
| 482 |
+
.wppb-faceted-list input[type="checkbox"]{
|
| 483 |
+
margin-right: 5px;
|
| 484 |
+
}
|
| 485 |
+
|
| 486 |
+
.wppb-userlisting-container.spinner{
|
| 487 |
+
position:relative;
|
| 488 |
+
opacity: 0.5
|
| 489 |
+
}
|
| 490 |
+
|
| 491 |
+
.wppb-userlisting-container.spinner:after{
|
| 492 |
+
content: '';
|
| 493 |
+
position: absolute;
|
| 494 |
+
top: 50%;
|
| 495 |
+
left: 50%;
|
| 496 |
+
margin-top: -16px;
|
| 497 |
+
margin-left: -16px;
|
| 498 |
+
display: block;
|
| 499 |
+
width: 32px;
|
| 500 |
+
height: 32px;
|
| 501 |
+
/*background: url('../images/ajax-loader.gif') no-repeat center;*/
|
| 502 |
+
z-index: 1000;
|
| 503 |
+
}
|
| 504 |
+
|
| 505 |
+
.wppb-faceted-list .hide-this{
|
| 506 |
+
display:none;
|
| 507 |
+
}
|
| 508 |
+
|
| 509 |
+
#wppb-remove-facets-container{
|
| 510 |
+
list-style: none;
|
| 511 |
+
margin: 0;
|
| 512 |
+
}
|
| 513 |
+
|
| 514 |
+
.wppb-remove-facet:before, .wppb-remove-all-facets:before {
|
| 515 |
+
content: "x";
|
| 516 |
+
display: inline-block;
|
| 517 |
+
border-right: 1px dotted #D3CCC9;
|
| 518 |
+
border-right: 1px dotted #6F6F6F;
|
| 519 |
+
padding-right: 5px;
|
| 520 |
+
margin-right: 5px;
|
| 521 |
+
}
|
| 522 |
+
|
| 523 |
+
.wppb-userlisting-container .wppb-ul-range-values{
|
| 524 |
+
padding: 5px 0;
|
| 525 |
+
}
|
| 526 |
+
|
| 527 |
+
.wppb-userlisting-container:after {
|
| 528 |
+
visibility: hidden;
|
| 529 |
+
display: block;
|
| 530 |
+
font-size: 0;
|
| 531 |
+
content: " ";
|
| 532 |
+
clear: both;
|
| 533 |
+
height: 0;
|
| 534 |
+
}
|
| 535 |
+
|
| 536 |
+
.wppb-float-left{
|
| 537 |
+
float:left;
|
| 538 |
+
}
|
| 539 |
+
|
| 540 |
+
.wppb-float-right{
|
| 541 |
+
float:right;
|
| 542 |
+
}
|
| 543 |
+
|
| 544 |
+
.wppb-facet-float-left{
|
| 545 |
+
float:left;
|
| 546 |
+
max-width:300px;
|
| 547 |
+
}
|
| 548 |
+
|
| 549 |
+
.wppb-facet-float-right{
|
| 550 |
+
float:right;
|
| 551 |
+
max-width:300px;
|
| 552 |
+
}
|
| 553 |
+
|
| 554 |
+
|
| 555 |
@media screen and ( max-width: 720px ) {
|
| 556 |
|
| 557 |
.wppb-table {
|
| 692 |
font-style: italic;
|
| 693 |
margin-left: 0;
|
| 694 |
margin-bottom: 1.5em;
|
| 695 |
+
}
|
| 696 |
+
|
| 697 |
+
/**************************************************/
|
| 698 |
+
/* This is very weird: if in the css there is a rule on table of border-collapse:collapse; then on FFox and Edge the Media upload won't open
|
| 699 |
+
/**************************************************/
|
| 700 |
+
table{
|
| 701 |
+
border-collapse:separate;
|
| 702 |
}
|
assets/images/ajax-loader.gif
ADDED
|
Binary file
|
assets/js/jquery-manage-fields-live-change.js
CHANGED
|
@@ -236,7 +236,15 @@ var fields = {
|
|
| 236 |
'.row-overwrite-existing'
|
| 237 |
]
|
| 238 |
},
|
| 239 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 240 |
'Select': { 'show_rows' : [
|
| 241 |
'.row-field-title',
|
| 242 |
'.row-meta-name',
|
|
@@ -419,7 +427,25 @@ var fields = {
|
|
| 419 |
'properties': {
|
| 420 |
'meta_name_value' : ''
|
| 421 |
}
|
| 422 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 423 |
|
| 424 |
}
|
| 425 |
var fields_to_show = [
|
| 236 |
'.row-overwrite-existing'
|
| 237 |
]
|
| 238 |
},
|
| 239 |
+
'Phone': { 'show_rows' : [
|
| 240 |
+
'.row-field-title',
|
| 241 |
+
'.row-meta-name',
|
| 242 |
+
'.row-description',
|
| 243 |
+
'.row-phone-format',
|
| 244 |
+
'.row-required',
|
| 245 |
+
'.row-overwrite-existing'
|
| 246 |
+
]
|
| 247 |
+
},
|
| 248 |
'Select': { 'show_rows' : [
|
| 249 |
'.row-field-title',
|
| 250 |
'.row-meta-name',
|
| 427 |
'properties': {
|
| 428 |
'meta_name_value' : ''
|
| 429 |
}
|
| 430 |
+
},
|
| 431 |
+
|
| 432 |
+
'Map': { 'show_rows' : [
|
| 433 |
+
'.row-field-title',
|
| 434 |
+
'.row-description',
|
| 435 |
+
'.row-map-api-key',
|
| 436 |
+
'.row-map-default-lat',
|
| 437 |
+
'.row-map-default-lng',
|
| 438 |
+
'.row-map-default-zoom',
|
| 439 |
+
'.row-map-height',
|
| 440 |
+
'.row-required'
|
| 441 |
+
]
|
| 442 |
+
},
|
| 443 |
+
'HTML': { 'show_rows' : [
|
| 444 |
+
'.row-field-title',
|
| 445 |
+
'.row-description',
|
| 446 |
+
'.row-html-content'
|
| 447 |
+
]
|
| 448 |
+
}
|
| 449 |
|
| 450 |
}
|
| 451 |
var fields_to_show = [
|
assets/js/jquery-pb-sitewide.js
CHANGED
|
@@ -86,6 +86,17 @@ jQuery( function(){
|
|
| 86 |
jQuery( '#wppb-ul-settings-args').on('click', '#visible-only-to-logged-in-users_yes', function(){
|
| 87 |
jQuery( '.row-visible-to-following-roles', jQuery(this).parent().parent().parent().parent().parent().parent()).toggle();
|
| 88 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 89 |
});
|
| 90 |
|
| 91 |
/*
|
| 86 |
jQuery( '#wppb-ul-settings-args').on('click', '#visible-only-to-logged-in-users_yes', function(){
|
| 87 |
jQuery( '.row-visible-to-following-roles', jQuery(this).parent().parent().parent().parent().parent().parent()).toggle();
|
| 88 |
});
|
| 89 |
+
|
| 90 |
+
jQuery( '#wppb-ul-faceted-args').on('change', '#facet-type', function(){
|
| 91 |
+
if( jQuery(this).val() == 'checkboxes' ){
|
| 92 |
+
jQuery( '.row-facet-behaviour, .row-facet-limit', jQuery(this).parent().parent().parent()).show();
|
| 93 |
+
}
|
| 94 |
+
else{
|
| 95 |
+
jQuery( '.row-facet-behaviour, .row-facet-limit', jQuery(this).parent().parent().parent()).hide();
|
| 96 |
+
jQuery( '.row-facet-behaviour #facet-behaviour', jQuery(this).parent().parent().parent()).val('narrow');
|
| 97 |
+
}
|
| 98 |
+
});
|
| 99 |
+
|
| 100 |
});
|
| 101 |
|
| 102 |
/*
|
features/functions.php
CHANGED
|
@@ -36,12 +36,12 @@ function wppb_add_plugin_stylesheet() {
|
|
| 36 |
$wppb_generalSettings = get_option( 'wppb_general_settings' );
|
| 37 |
|
| 38 |
if ( ( file_exists( WPPB_PLUGIN_DIR . '/assets/css/style-front-end.css' ) ) && ( isset( $wppb_generalSettings['extraFieldsLayout'] ) && ( $wppb_generalSettings['extraFieldsLayout'] == 'default' ) ) ){
|
| 39 |
-
wp_register_style( 'wppb_stylesheet', WPPB_PLUGIN_URL . 'assets/css/style-front-end.css' );
|
| 40 |
wp_enqueue_style( 'wppb_stylesheet' );
|
| 41 |
}
|
| 42 |
if( is_rtl() ) {
|
| 43 |
if ( ( file_exists( WPPB_PLUGIN_DIR . '/assets/css/rtl.css' ) ) && ( isset( $wppb_generalSettings['extraFieldsLayout'] ) && ( $wppb_generalSettings['extraFieldsLayout'] == 'default' ) ) ){
|
| 44 |
-
wp_register_style( 'wppb_stylesheet_rtl', WPPB_PLUGIN_URL . 'assets/css/rtl.css' );
|
| 45 |
wp_enqueue_style( 'wppb_stylesheet_rtl' );
|
| 46 |
}
|
| 47 |
}
|
|
@@ -628,6 +628,12 @@ function wppb_recaptcha_field_error($field_title='') {
|
|
| 628 |
return $recaptcha_error;
|
| 629 |
|
| 630 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 631 |
|
| 632 |
/* Create a wrapper function for get_query_var */
|
| 633 |
function wppb_get_query_var( $varname ){
|
| 36 |
$wppb_generalSettings = get_option( 'wppb_general_settings' );
|
| 37 |
|
| 38 |
if ( ( file_exists( WPPB_PLUGIN_DIR . '/assets/css/style-front-end.css' ) ) && ( isset( $wppb_generalSettings['extraFieldsLayout'] ) && ( $wppb_generalSettings['extraFieldsLayout'] == 'default' ) ) ){
|
| 39 |
+
wp_register_style( 'wppb_stylesheet', WPPB_PLUGIN_URL . 'assets/css/style-front-end.css', array(), PROFILE_BUILDER_VERSION );
|
| 40 |
wp_enqueue_style( 'wppb_stylesheet' );
|
| 41 |
}
|
| 42 |
if( is_rtl() ) {
|
| 43 |
if ( ( file_exists( WPPB_PLUGIN_DIR . '/assets/css/rtl.css' ) ) && ( isset( $wppb_generalSettings['extraFieldsLayout'] ) && ( $wppb_generalSettings['extraFieldsLayout'] == 'default' ) ) ){
|
| 44 |
+
wp_register_style( 'wppb_stylesheet_rtl', WPPB_PLUGIN_URL . 'assets/css/rtl.css', array(), PROFILE_BUILDER_VERSION );
|
| 45 |
wp_enqueue_style( 'wppb_stylesheet_rtl' );
|
| 46 |
}
|
| 47 |
}
|
| 628 |
return $recaptcha_error;
|
| 629 |
|
| 630 |
}
|
| 631 |
+
/* Function for displaying phone field error */
|
| 632 |
+
function wppb_phone_field_error( $field_title = '' ) {
|
| 633 |
+
$phone_error = apply_filters( 'wppb_phone_error' , __( 'Incorrect phone number', 'profile-builder' ) , $field_title );
|
| 634 |
+
|
| 635 |
+
return $phone_error;
|
| 636 |
+
}
|
| 637 |
|
| 638 |
/* Create a wrapper function for get_query_var */
|
| 639 |
function wppb_get_query_var( $varname ){
|
features/login-widget/login-widget.php
CHANGED
|
@@ -30,7 +30,7 @@ class wppb_login_widget extends WP_Widget {
|
|
| 30 |
echo $before_title . $title . $after_title;
|
| 31 |
|
| 32 |
echo do_shortcode('[wppb-login display="false" register_url="'.$register.'" lostpassword_url="'.$lostpass.'" redirect="'.$redirect.'"]');
|
| 33 |
-
|
| 34 |
do_action( 'wppb_login_widget_display', $args, $instance);
|
| 35 |
|
| 36 |
echo $after_widget;
|
| 30 |
echo $before_title . $title . $after_title;
|
| 31 |
|
| 32 |
echo do_shortcode('[wppb-login display="false" register_url="'.$register.'" lostpassword_url="'.$lostpass.'" redirect="'.$redirect.'"]');
|
| 33 |
+
|
| 34 |
do_action( 'wppb_login_widget_display', $args, $instance);
|
| 35 |
|
| 36 |
echo $after_widget;
|
front-end/login.php
CHANGED
|
@@ -158,8 +158,12 @@ function wppb_front_end_login( $atts ){
|
|
| 158 |
$form_args = array( 'echo' => false, 'id_submit' => 'wppb-submit' );
|
| 159 |
|
| 160 |
// maybe set up the redirect argument
|
|
|
|
|
|
|
|
|
|
|
|
|
| 161 |
if ( ! empty( $redirect_url ) ) {
|
| 162 |
-
if( $redirect_priority == 'top' ) {
|
| 163 |
$form_args['redirect_priority'] = 'top';
|
| 164 |
} else {
|
| 165 |
$form_args['redirect_priority'] = 'normal';
|
| 158 |
$form_args = array( 'echo' => false, 'id_submit' => 'wppb-submit' );
|
| 159 |
|
| 160 |
// maybe set up the redirect argument
|
| 161 |
+
if( ! empty( $redirect ) ) {
|
| 162 |
+
$redirect_url = $redirect;
|
| 163 |
+
}
|
| 164 |
+
|
| 165 |
if ( ! empty( $redirect_url ) ) {
|
| 166 |
+
if( $redirect_priority == 'top' || ! empty( $redirect ) ) {
|
| 167 |
$form_args['redirect_priority'] = 'top';
|
| 168 |
} else {
|
| 169 |
$form_args['redirect_priority'] = 'normal';
|
front-end/recover.php
CHANGED
|
@@ -70,15 +70,18 @@ function wppb_create_recover_password_form( $user, $post_data ){
|
|
| 70 |
else
|
| 71 |
$passw_two = '';
|
| 72 |
|
|
|
|
|
|
|
|
|
|
| 73 |
$recover_inputPassword = '
|
| 74 |
<li class="wppb-form-field passw1">
|
| 75 |
-
<label for="passw1">'.
|
| 76 |
-
<input class="password" name="passw1" type="password" id="passw1" value="'. $passw_one .'" autocomplete="off" title="'. wppb_password_length_text() .'"/>
|
| 77 |
</li><!-- .passw1 -->
|
| 78 |
<input type="hidden" name="userData" value="'.$user->ID.'"/>
|
| 79 |
<li class="wppb-form-field passw2">
|
| 80 |
-
<label for="passw2">'.
|
| 81 |
-
<input class="password" name="passw2" type="password" id="passw2" value="'.$passw_two.'" autocomplete="off" />
|
| 82 |
</li><!-- .passw2 -->';
|
| 83 |
|
| 84 |
/* if we have active the password strength checker */
|
|
@@ -114,10 +117,12 @@ function wppb_create_recover_password_form( $user, $post_data ){
|
|
| 114 |
|
| 115 |
$username_email = ( isset( $post_data['username_email'] ) ? $post_data['username_email'] : '' );
|
| 116 |
|
|
|
|
|
|
|
| 117 |
$recover_input = '<ul>
|
| 118 |
<li class="wppb-form-field wppb-username-email">
|
| 119 |
-
<label for="username_email">'.
|
| 120 |
-
<input class="text-input" name="username_email" type="text" id="username_email" value="'.trim( $username_email ).'" />
|
| 121 |
</li><!-- .username_email --></ul>';
|
| 122 |
echo apply_filters( 'wppb_recover_password_generate_password_input', $recover_input, trim( $username_email ) );
|
| 123 |
?>
|
| 70 |
else
|
| 71 |
$passw_two = '';
|
| 72 |
|
| 73 |
+
$password_label = __( 'Password', 'profile-builder' );
|
| 74 |
+
$repeat_password_label = __( 'Repeat Password', 'profile-builder' );
|
| 75 |
+
|
| 76 |
$recover_inputPassword = '
|
| 77 |
<li class="wppb-form-field passw1">
|
| 78 |
+
<label for="passw1">'. $password_label .'</label>
|
| 79 |
+
<input class="password" name="passw1" type="password" id="passw1" value="'. $passw_one .'" autocomplete="off" title="'. wppb_password_length_text() .'" '. apply_filters( 'wppb_recover_password_extra_attr', '', $password_label, 'password' ) .' />
|
| 80 |
</li><!-- .passw1 -->
|
| 81 |
<input type="hidden" name="userData" value="'.$user->ID.'"/>
|
| 82 |
<li class="wppb-form-field passw2">
|
| 83 |
+
<label for="passw2">'. $repeat_password_label .'</label>
|
| 84 |
+
<input class="password" name="passw2" type="password" id="passw2" value="'.$passw_two.'" autocomplete="off" '. apply_filters( 'wppb_recover_password_extra_attr', '', $repeat_password_label, 'repeat_password' ) .' />
|
| 85 |
</li><!-- .passw2 -->';
|
| 86 |
|
| 87 |
/* if we have active the password strength checker */
|
| 117 |
|
| 118 |
$username_email = ( isset( $post_data['username_email'] ) ? $post_data['username_email'] : '' );
|
| 119 |
|
| 120 |
+
$username_email_label = __( 'Username or E-mail', 'profile-builder' );
|
| 121 |
+
|
| 122 |
$recover_input = '<ul>
|
| 123 |
<li class="wppb-form-field wppb-username-email">
|
| 124 |
+
<label for="username_email">'. $username_email_label .'</label>
|
| 125 |
+
<input class="text-input" name="username_email" type="text" id="username_email" value="'.trim( $username_email ).'" '. apply_filters( 'wppb_recover_password_extra_attr', '', $username_email_label, 'username_email' ) .' />
|
| 126 |
</li><!-- .username_email --></ul>';
|
| 127 |
echo apply_filters( 'wppb_recover_password_generate_password_input', $recover_input, trim( $username_email ) );
|
| 128 |
?>
|
index.php
CHANGED
|
@@ -1,11 +1,11 @@
|
|
| 1 |
<?php
|
| 2 |
/*
|
| 3 |
Plugin Name: Profile Builder
|
| 4 |
-
Plugin URI:
|
| 5 |
Description: Login, registration and edit profile shortcodes for the front-end. Also you can chose what fields should be displayed or add new (custom) ones both in the front-end and in the dashboard.
|
| 6 |
-
Version: 2.3.
|
| 7 |
Author: Cozmoslabs, Madalin Ungureanu, Antohe Cristian, Barina Gabriel, Mihai Iova
|
| 8 |
-
Author URI:
|
| 9 |
License: GPL2
|
| 10 |
|
| 11 |
== Copyright ==
|
|
@@ -73,7 +73,7 @@ function wppb_free_plugin_init() {
|
|
| 73 |
*
|
| 74 |
*
|
| 75 |
*/
|
| 76 |
-
define('PROFILE_BUILDER_VERSION', '2.3.
|
| 77 |
define('WPPB_PLUGIN_DIR', plugin_dir_path(__FILE__));
|
| 78 |
define('WPPB_PLUGIN_URL', plugin_dir_url(__FILE__));
|
| 79 |
define('WPPB_SERVER_MAX_UPLOAD_SIZE_BYTE', apply_filters('wppb_server_max_upload_size_byte_constant', wppb_return_bytes(ini_get('upload_max_filesize'))));
|
|
@@ -145,10 +145,10 @@ function wppb_free_plugin_init() {
|
|
| 145 |
include_once(WPPB_PLUGIN_DIR . '/modules/custom-redirects/custom-redirects.php');
|
| 146 |
include_once(WPPB_PLUGIN_DIR . '/modules/email-customizer/email-customizer.php');
|
| 147 |
include_once(WPPB_PLUGIN_DIR . '/modules/multiple-forms/multiple-forms.php');
|
|
|
|
| 148 |
|
| 149 |
$wppb_module_settings = get_option('wppb_module_settings');
|
| 150 |
if (isset($wppb_module_settings['wppb_userListing']) && ($wppb_module_settings['wppb_userListing'] == 'show')) {
|
| 151 |
-
include_once(WPPB_PLUGIN_DIR . '/modules/user-listing/userlisting.php');
|
| 152 |
add_shortcode('wppb-list-users', 'wppb_user_listing_shortcode');
|
| 153 |
} else
|
| 154 |
add_shortcode('wppb-list-users', 'wppb_list_all_users_display_error');
|
| 1 |
<?php
|
| 2 |
/*
|
| 3 |
Plugin Name: Profile Builder
|
| 4 |
+
Plugin URI: https://www.cozmoslabs.com/wordpress-profile-builder/
|
| 5 |
Description: Login, registration and edit profile shortcodes for the front-end. Also you can chose what fields should be displayed or add new (custom) ones both in the front-end and in the dashboard.
|
| 6 |
+
Version: 2.3.8
|
| 7 |
Author: Cozmoslabs, Madalin Ungureanu, Antohe Cristian, Barina Gabriel, Mihai Iova
|
| 8 |
+
Author URI: https://www.cozmoslabs.com/
|
| 9 |
License: GPL2
|
| 10 |
|
| 11 |
== Copyright ==
|
| 73 |
*
|
| 74 |
*
|
| 75 |
*/
|
| 76 |
+
define('PROFILE_BUILDER_VERSION', '2.3.8' );
|
| 77 |
define('WPPB_PLUGIN_DIR', plugin_dir_path(__FILE__));
|
| 78 |
define('WPPB_PLUGIN_URL', plugin_dir_url(__FILE__));
|
| 79 |
define('WPPB_SERVER_MAX_UPLOAD_SIZE_BYTE', apply_filters('wppb_server_max_upload_size_byte_constant', wppb_return_bytes(ini_get('upload_max_filesize'))));
|
| 145 |
include_once(WPPB_PLUGIN_DIR . '/modules/custom-redirects/custom-redirects.php');
|
| 146 |
include_once(WPPB_PLUGIN_DIR . '/modules/email-customizer/email-customizer.php');
|
| 147 |
include_once(WPPB_PLUGIN_DIR . '/modules/multiple-forms/multiple-forms.php');
|
| 148 |
+
include_once(WPPB_PLUGIN_DIR . '/modules/user-listing/userlisting.php');
|
| 149 |
|
| 150 |
$wppb_module_settings = get_option('wppb_module_settings');
|
| 151 |
if (isset($wppb_module_settings['wppb_userListing']) && ($wppb_module_settings['wppb_userListing'] == 'show')) {
|
|
|
|
| 152 |
add_shortcode('wppb-list-users', 'wppb_user_listing_shortcode');
|
| 153 |
} else
|
| 154 |
add_shortcode('wppb-list-users', 'wppb_list_all_users_display_error');
|
readme.txt
CHANGED
|
@@ -1,11 +1,11 @@
|
|
| 1 |
-
=== Profile Builder - front-end user registration,
|
| 2 |
Contributors: cozmoslabs, reflectionmedia, sareiodata, adispiac, madalin.ungureanu, iova.mihai, barinagabriel
|
| 3 |
Donate link: http://www.cozmoslabs.com/wordpress-profile-builder/
|
| 4 |
Tags: user registration, user registration form, user fields, extra user fields, edit profile, user custom fields, front-end login, front-end edit profile, front-end user registration, email confirmation, login form
|
| 5 |
|
| 6 |
Requires at least: 3.1
|
| 7 |
Tested up to: 4.5.2
|
| 8 |
-
Stable tag: 2.3.
|
| 9 |
License: GPLv2 or later
|
| 10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 11 |
|
|
@@ -147,6 +147,12 @@ This plugin adds/removes user fields in the front-end. Both default and extra pr
|
|
| 147 |
10. Profile Builder Login Widget
|
| 148 |
|
| 149 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 150 |
= 2.3.7 =
|
| 151 |
* Changed the wppb_curpageurl function to fix the missing www problem from links
|
| 152 |
* Added a new filter wppb_send_to_admin_email to Email Confirmation
|
| 1 |
+
=== Profile Builder - front-end user registration, user profile and user login ===
|
| 2 |
Contributors: cozmoslabs, reflectionmedia, sareiodata, adispiac, madalin.ungureanu, iova.mihai, barinagabriel
|
| 3 |
Donate link: http://www.cozmoslabs.com/wordpress-profile-builder/
|
| 4 |
Tags: user registration, user registration form, user fields, extra user fields, edit profile, user custom fields, front-end login, front-end edit profile, front-end user registration, email confirmation, login form
|
| 5 |
|
| 6 |
Requires at least: 3.1
|
| 7 |
Tested up to: 4.5.2
|
| 8 |
+
Stable tag: 2.3.8
|
| 9 |
License: GPLv2 or later
|
| 10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
| 11 |
|
| 147 |
10. Profile Builder Login Widget
|
| 148 |
|
| 149 |
== Changelog ==
|
| 150 |
+
= 2.3.8 =
|
| 151 |
+
* Fixed an issue with the redirect parameter for login widget
|
| 152 |
+
* Added extra_attr filter for recover password forms: 'wppb_recover_password_extra_attr'
|
| 153 |
+
* Added filter in select fields for placeholder labels add-on support
|
| 154 |
+
* Fixed the cozmoslabs.com url from http to https
|
| 155 |
+
|
| 156 |
= 2.3.7 =
|
| 157 |
* Changed the wppb_curpageurl function to fix the missing www problem from links
|
| 158 |
* Added a new filter wppb_send_to_admin_email to Email Confirmation
|
