mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-06-05 15:09:37 +09:00
Refactor securing account fields
This commit is contained in:
@@ -20,7 +20,9 @@
|
||||
}
|
||||
|
||||
$arr_fields = array();
|
||||
$secure_fields = get_user_meta( um_user('ID'), 'um_account_secure_fields', true );
|
||||
$account_fields = get_user_meta( um_user('ID'), 'um_account_secure_fields', true );
|
||||
$secure_fields = apply_filters('um_secure_account_fields', $account_fields , um_user('ID') );
|
||||
|
||||
if( isset( $secure_fields ) ){
|
||||
foreach ( $secure_fields as $tab_key => $fields ) {
|
||||
if( isset( $fields ) ){
|
||||
@@ -30,6 +32,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$changes = array();
|
||||
foreach( $_POST as $k => $v ) {
|
||||
@@ -474,3 +477,12 @@
|
||||
<?php
|
||||
|
||||
}
|
||||
|
||||
add_action('wp_footer','um_account_secure_registered_fields');
|
||||
function um_account_secure_registered_fields(){
|
||||
global $ultimatemember;
|
||||
|
||||
$secure_fields = $ultimatemember->account->register_fields;
|
||||
update_user_meta( um_user('ID'), 'um_account_secure_fields', $secure_fields );
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?php
|
||||
|
||||
|
||||
/**
|
||||
* Account default tabs
|
||||
* @param array $tabs
|
||||
@@ -21,6 +20,7 @@
|
||||
|
||||
if ( $id == 'delete' ) {
|
||||
if ( !um_user('can_delete_profile') && !um_user('can_delete_everyone') ) {
|
||||
|
||||
unset( $tabs[$k][$id] );
|
||||
}
|
||||
}
|
||||
@@ -41,18 +41,17 @@
|
||||
*/
|
||||
add_filter('um_account_secure_fields','um_account_secure_fields', 10, 2);
|
||||
function um_account_secure_fields( $fields, $tab_key ){
|
||||
|
||||
global $ultimatemember;
|
||||
$secure = apply_filters('um_account_secure_fields__enabled', true );
|
||||
|
||||
if( ! $secure ) return $fields;
|
||||
|
||||
if( ! isset( $_SESSION['um_account_fields'] ) || ! isset( $_SESSION['um_account_fields'][ $tab_key ] ) ){
|
||||
|
||||
$_SESSION['um_account_fields'][ $tab_key ] = $fields;
|
||||
|
||||
update_user_meta( um_user('ID'), 'um_account_secure_fields', $_SESSION['um_account_fields'] );
|
||||
|
||||
if( isset( $ultimatemember->account->register_fields ) && ! isset( $ultimatemember->account->register_fields[ $tab_key ] ) ){
|
||||
$ultimatemember->account->register_fields[ $tab_key ] = $fields;
|
||||
}
|
||||
|
||||
|
||||
|
||||
return $fields;
|
||||
}
|
||||
Reference in New Issue
Block a user