mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-07-15 12:43:33 +09:00
Fix account fields update
This commit is contained in:
+13
-1
@@ -150,7 +150,7 @@ class UM_Account {
|
||||
global $ultimatemember;
|
||||
|
||||
$output = null;
|
||||
|
||||
|
||||
switch( $id ) {
|
||||
|
||||
case 'notifications':
|
||||
@@ -166,6 +166,9 @@ class UM_Account {
|
||||
$args = apply_filters('um_account_tab_privacy_fields', $args );
|
||||
|
||||
$fields = $ultimatemember->builtin->get_specific_fields( $args );
|
||||
|
||||
$fields = apply_filters('um_account_secure_fields', $fields, $id );
|
||||
|
||||
foreach( $fields as $key => $data ){
|
||||
$output .= $ultimatemember->fields->edit_field( $key, $data );
|
||||
}
|
||||
@@ -179,6 +182,9 @@ class UM_Account {
|
||||
$args = 'single_user_password';
|
||||
|
||||
$fields = $ultimatemember->builtin->get_specific_fields( $args );
|
||||
|
||||
$fields = apply_filters('um_account_secure_fields', $fields, $id );
|
||||
|
||||
foreach( $fields as $key => $data ){
|
||||
$output .= $ultimatemember->fields->edit_field( $key, $data );
|
||||
}
|
||||
@@ -200,6 +206,9 @@ class UM_Account {
|
||||
}
|
||||
|
||||
$fields = $ultimatemember->builtin->get_specific_fields( $args );
|
||||
|
||||
$fields = apply_filters('um_account_secure_fields', $fields, $id );
|
||||
|
||||
foreach( $fields as $key => $data ){
|
||||
$output .= $ultimatemember->fields->edit_field( $key, $data );
|
||||
}
|
||||
@@ -213,6 +222,9 @@ class UM_Account {
|
||||
$args = 'user_password';
|
||||
|
||||
$fields = $ultimatemember->builtin->get_specific_fields( $args );
|
||||
|
||||
$fields = apply_filters('um_account_secure_fields', $fields, $id );
|
||||
|
||||
foreach( $fields as $key => $data ){
|
||||
$output .= $ultimatemember->fields->edit_field( $key, $data );
|
||||
}
|
||||
|
||||
@@ -15,12 +15,25 @@
|
||||
|
||||
}
|
||||
|
||||
foreach( $_POST as $k => $v ) {
|
||||
if ( !strstr( $k, 'password' ) && !strstr( $k, 'um_account' ) ) {
|
||||
$changes[ $k ] = $v;
|
||||
$arr_fields = array();
|
||||
$secure_fields = get_user_meta( um_user('ID'), 'um_account_secure_fields', true );
|
||||
if( isset( $secure_fields ) ){
|
||||
foreach ( $secure_fields as $tab_key => $fields ) {
|
||||
if( isset( $fields ) ){
|
||||
foreach ($fields as $key => $value) {
|
||||
$arr_fields[ ] = $key;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$changes = array();
|
||||
foreach( $_POST as $k => $v ) {
|
||||
if ( !strstr( $k, 'password' ) && !strstr( $k, 'um_account' ) && in_array( $k, $arr_fields ) ) {
|
||||
$changes[ $k ] = $v;
|
||||
}
|
||||
}
|
||||
|
||||
if ( isset( $changes['hide_in_members'] ) && $changes['hide_in_members'] == __('No','ultimatemember') ) {
|
||||
delete_user_meta( um_user('ID'), 'hide_in_members' );
|
||||
unset( $changes['hide_in_members'] );
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
<?php
|
||||
|
||||
/***
|
||||
*** @Adjust available tabs
|
||||
***/
|
||||
|
||||
/**
|
||||
* Account default tabs
|
||||
* @param array $tabs
|
||||
* @return array $tabs
|
||||
* @uses um_account_page_default_tabs_hook
|
||||
*/
|
||||
add_filter('um_account_page_default_tabs_hook', 'um_account_page_default_tabs_hook' );
|
||||
function um_account_page_default_tabs_hook( $tabs ) {
|
||||
global $ultimatemember;
|
||||
@@ -26,4 +30,21 @@
|
||||
|
||||
return $tabs;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Account secure fields
|
||||
* @param array $fields
|
||||
* @param string $tab_key
|
||||
* @return array
|
||||
* @uses um_account_secure_fields
|
||||
*/
|
||||
add_filter('um_account_secure_fields','um_account_secure_fields', 10, 2);
|
||||
function um_account_secure_fields( $fields, $tab_key ){
|
||||
|
||||
$_SESSION['um_account_fields'][ $tab_key ] = $fields;
|
||||
|
||||
update_user_meta( um_user('ID'), 'um_account_secure_fields', $_SESSION['um_account_fields'] );
|
||||
|
||||
return $fields;
|
||||
}
|
||||
Reference in New Issue
Block a user