diff --git a/admin/core/um-admin-builder.php b/admin/core/um-admin-builder.php index 9a943a7b..b6be5a89 100644 --- a/admin/core/um-admin-builder.php +++ b/admin/core/um-admin-builder.php @@ -50,6 +50,11 @@ class UM_Admin_Builder { *** @get fields in row ***/ function get_fields_by_row( $row_id ) { + + if( empty( $this->global_fields) || ! is_array( $this->global_fields ) ){ + $this->global_fields = array(); + } + foreach( $this->global_fields as $key => $array ) { if ( !isset( $array['in_row'] ) || ( isset( $array['in_row'] ) && $array['in_row'] == $row_id ) ) { $results[$key] = $array; @@ -127,8 +132,12 @@ class UM_Admin_Builder { } else { - $this->global_fields = $fields; - + if( empty( $fields) || ! is_array( $fields ) ){ + $this->global_fields = array(); + }else{ + $this->global_fields = $fields; + } + foreach( $this->global_fields as $key => $array ) { if ( $array['type'] == 'row' ) { $rows[$key] = $array; diff --git a/core/um-fields.php b/core/um-fields.php index 24fc2074..ba9c3363 100644 --- a/core/um-fields.php +++ b/core/um-fields.php @@ -183,19 +183,19 @@ class UM_Fields { global $ultimatemember; $fields = $ultimatemember->query->get_attr( 'custom_fields', $form_id ); $field_scope = $ultimatemember->builtin->saved_fields; - - if ( !isset( $fields[$global_id] ) ) { + $global_id = intval( $global_id ); + if ( !isset( $fields[ $global_id ] ) ) { $count = 1; - if ( isset( $fields ) && !empty( $fields) ) $count = count($fields)+1; + if ( isset( $fields ) && !empty( $fields ) ) $count = count( $fields ) + 1; - $fields[$global_id] = $field_scope[$global_id]; - $fields[$global_id]['position'] = $count; + $fields[ $global_id ] = $field_scope[ $global_id ]; + $fields[ $global_id ]['position'] = $count; // set position if ( $position ) { foreach( $position as $key => $val ) { - $fields[$global_id][$key] = $val; + $fields[ $global_id ][ $key ] = $val; } } @@ -216,19 +216,19 @@ class UM_Fields { $fields = $ultimatemember->query->get_attr( 'custom_fields', $form_id ); $field_scope = $ultimatemember->builtin->predefined_fields; - - if ( !isset( $fields[$global_id] ) ) { + $global_id = intval( $global_id ); + if ( !isset( $fields[ $global_id ] ) ) { $count = 1; - if ( isset( $fields ) && !empty( $fields) ) $count = count($fields)+1; + if ( isset( $fields ) && !empty( $fields) ) $count = count( $fields ) + 1; - $fields[$global_id] = $field_scope[$global_id]; - $fields[$global_id]['position'] = $count; + $fields[ $global_id ] = $field_scope[ $global_id ]; + $fields[ $global_id ]['position'] = $count; // set position if ( $position ) { foreach( $position as $key => $val ) { - $fields[$global_id][$key] = $val; + $fields[ $global_id ][ $key ] = $val; } }