From 6440499b176cee42f9798c5b72ed68ae924996e1 Mon Sep 17 00:00:00 2001 From: ashubawork Date: Wed, 29 Jun 2022 13:49:10 +0300 Subject: [PATCH 1/3] - change type for phones fields --- includes/core/class-builtin.php | 20 ++++++++++++-- includes/core/class-fields.php | 43 +++++++++++++++++++++++++++++ includes/core/um-filters-fields.php | 17 ++++++++++++ 3 files changed, 78 insertions(+), 2 deletions(-) diff --git a/includes/core/class-builtin.php b/includes/core/class-builtin.php index c3bc14fe..9448fb7e 100644 --- a/includes/core/class-builtin.php +++ b/includes/core/class-builtin.php @@ -245,6 +245,22 @@ if ( ! class_exists( 'um\core\Builtin' ) ) { ) ), + 'tel' => array( + 'name' => 'Tel Box', + 'col1' => array('_title','_metakey','_help','_default','_min_chars','_visibility'), + 'col2' => array('_label','_placeholder','_public','_roles','_validate','_custom_validate','_max_chars'), + 'col3' => array('_required','_editable','_icon'), + 'validate' => array( + '_title' => array( + 'mode' => 'required', + 'error' => __('You must provide a title','ultimate-member') + ), + '_metakey' => array( + 'mode' => 'unique', + ), + ) + ), + 'number' => array( 'name' => __('Number','ultimate-member'), 'col1' => array('_title','_metakey','_help','_default','_min','_visibility'), @@ -1133,7 +1149,7 @@ if ( ! class_exists( 'um\core\Builtin' ) ) { 'phone_number' => array( 'title' => __('Phone Number','ultimate-member'), 'metakey' => 'phone_number', - 'type' => 'text', + 'type' => 'tel', 'label' => __('Phone Number','ultimate-member'), 'required' => 0, 'public' => 1, @@ -1145,7 +1161,7 @@ if ( ! class_exists( 'um\core\Builtin' ) ) { 'mobile_number' => array( 'title' => __('Mobile Number','ultimate-member'), 'metakey' => 'mobile_number', - 'type' => 'text', + 'type' => 'tel', 'label' => __('Mobile Number','ultimate-member'), 'required' => 0, 'public' => 1, diff --git a/includes/core/class-fields.php b/includes/core/class-fields.php index 2abe7a70..c49c8dcf 100644 --- a/includes/core/class-fields.php +++ b/includes/core/class-fields.php @@ -1577,6 +1577,12 @@ if ( ! class_exists( 'um\core\Fields' ) ) { break; + case 'tel': + + $array['input'] = 'tel'; + + break; + case 'password': $array['input'] = 'password'; @@ -2322,6 +2328,43 @@ if ( ! class_exists( 'um\core\Fields' ) ) { $output .= ''; break; + /* Tel */ + case 'tel': + + $output .= '
get_atts( $key, $classes, $conditional, $data ) . '>'; + + if ( isset( $data['label'] ) ) { + $output .= $this->field_label( $label, $key, $data ); + } + + $output .= '
'; + + if ( ! empty( $icon ) && isset( $this->field_icons ) && $this->field_icons == 'field' ) { + + $output .= '
'; + + } + + $field_name = $key . UM()->form()->form_suffix; + $field_value = htmlspecialchars( $this->field_value( $key, $default, $data ) ); + + $output .= ' + +
'; + + if ( ! empty( $disabled ) ) { + $output .= $this->disabled_hidden_field( $field_name, $field_value ); + } + + if ( $this->is_error( $key ) ) { + $output .= $this->field_error( $this->show_error( $key ) ); + }else if ( $this->is_notice( $key ) ) { + $output .= $this->field_notice( $this->show_notice( $key ) ); + } + + $output .= '
'; + break; + /* Number */ case 'number': diff --git a/includes/core/um-filters-fields.php b/includes/core/um-filters-fields.php index 3ad00b43..5e78d8e5 100644 --- a/includes/core/um-filters-fields.php +++ b/includes/core/um-filters-fields.php @@ -99,6 +99,23 @@ function um_profile_field_filter_hook__vimeo_video( $value, $data ) { add_filter( 'um_profile_field_filter_hook__vimeo_video', 'um_profile_field_filter_hook__vimeo_video', 99, 2 ); +/** + * Outputs a phone link + * + * @param $value + * @param $data + * + * @return int|string + */ +function um_profile_field_filter_hook__phone( $value, $data ) { + $value = str_replace('+', '', $value); + $value = '' . esc_html( $value ) . ''; + return $value; +} +add_filter( 'um_profile_field_filter_hook__phone_number', 'um_profile_field_filter_hook__phone', 99, 2 ); +add_filter( 'um_profile_field_filter_hook__mobile_number', 'um_profile_field_filter_hook__phone', 99, 2 ); + + /** * Outputs a viber link * From bc8a0b1f041d5fe40da50e9dd4676cfd6b066ec1 Mon Sep 17 00:00:00 2001 From: ashubawork Date: Thu, 30 Jun 2022 09:33:47 +0300 Subject: [PATCH 2/3] - fix code for phone field --- includes/core/um-filters-fields.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/core/um-filters-fields.php b/includes/core/um-filters-fields.php index 5e78d8e5..bf7116eb 100644 --- a/includes/core/um-filters-fields.php +++ b/includes/core/um-filters-fields.php @@ -109,7 +109,7 @@ add_filter( 'um_profile_field_filter_hook__vimeo_video', 'um_profile_field_filte */ function um_profile_field_filter_hook__phone( $value, $data ) { $value = str_replace('+', '', $value); - $value = '' . esc_html( $value ) . ''; + $value = '' . esc_html( $value ) . ''; return $value; } add_filter( 'um_profile_field_filter_hook__phone_number', 'um_profile_field_filter_hook__phone', 99, 2 ); From c8c7ee8fd9c12d3a03a2f13349565e29156e0d18 Mon Sep 17 00:00:00 2001 From: ashubawork Date: Fri, 15 Jul 2022 10:08:30 +0300 Subject: [PATCH 3/3] - leave symbol + --- includes/core/um-filters-fields.php | 1 - 1 file changed, 1 deletion(-) diff --git a/includes/core/um-filters-fields.php b/includes/core/um-filters-fields.php index bf7116eb..7bde5b92 100644 --- a/includes/core/um-filters-fields.php +++ b/includes/core/um-filters-fields.php @@ -108,7 +108,6 @@ add_filter( 'um_profile_field_filter_hook__vimeo_video', 'um_profile_field_filte * @return int|string */ function um_profile_field_filter_hook__phone( $value, $data ) { - $value = str_replace('+', '', $value); $value = '' . esc_html( $value ) . ''; return $value; }