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 | User registration & user profile – Profile Builder |
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
|