
---
 .../class-bp-xprofile-field-type-telephone.php     | 49 ++++++++++++++--------
 .../classes/class-bp-xprofile-field-type-url.php   | 22 ++++++++--
 2 files changed, 49 insertions(+), 22 deletions(-)

diff --git a/bp-xprofile/classes/class-bp-xprofile-field-type-telephone.php b/bp-xprofile/classes/class-bp-xprofile-field-type-telephone.php
index 275bb3ab..0951a28b 100644
--- a/bp-xprofile/classes/class-bp-xprofile-field-type-telephone.php
+++ b/bp-xprofile/classes/class-bp-xprofile-field-type-telephone.php
@@ -130,27 +130,40 @@ class BP_XProfile_Field_Type_Telephone extends BP_XProfile_Field_Type {
 	 * @return string URL converted to a link.
 	 */
 	public static function display_filter( $field_value, $field_id = '' ) {
-		$url   = wp_strip_all_tags( $field_value );
-		$parts = parse_url( $url );
 
-		// Add the tel:// protocol to the field value.
-		if ( isset( $parts['scheme'] ) ) {
-			if ( strtolower( $parts['scheme'] ) !== 'tel' ) {
-				$scheme = preg_quote( $parts['scheme'], '#' );
-				$url    = preg_replace( '#^' . $scheme . '#i', 'tel', $url );
+		$do_autolink = bp_xprofile_get_meta( $field_id, 'field', 'do_autolink' );
+				
+		$url   = wp_strip_all_tags( $field_value );
+		
+		if ( 'off' != $do_autolink ) {
+			
+			$parts = parse_url( $url );
+
+			// Add the tel:// protocol to the field value.
+			if ( isset( $parts['scheme'] ) ) {
+				if ( strtolower( $parts['scheme'] ) !== 'tel' ) {
+					$scheme = preg_quote( $parts['scheme'], '#' );
+					$url    = preg_replace( '#^' . $scheme . '#i', 'tel', $url );
+				}
+
+				$url_text = preg_replace( '#^tel://#i', '', $url );
+
+			} else {
+				$url_text = $url;
+				$url      = 'tel://' . $url;
 			}
-
-			$url_text = preg_replace( '#^tel://#i', '', $url );
-
+		
+			return sprintf(
+				'<a href="%1$s" rel="nofollow">%2$s</a>',
+				esc_url( $url, array( 'tel' ) ),
+				esc_html( $url_text )
+			);
+			
 		} else {
-			$url_text = $url;
-			$url      = 'tel://' . $url;
+			
+			return esc_html( $url );
+			
 		}
-
-		return sprintf(
-			'<a href="%1$s" rel="nofollow">%2$s</a>',
-			esc_url( $url, array( 'tel' ) ),
-			esc_html( $url_text )
-		);
+			
 	}
 }
diff --git a/bp-xprofile/classes/class-bp-xprofile-field-type-url.php b/bp-xprofile/classes/class-bp-xprofile-field-type-url.php
index 226b4d1c..02d2be7d 100644
--- a/bp-xprofile/classes/class-bp-xprofile-field-type-url.php
+++ b/bp-xprofile/classes/class-bp-xprofile-field-type-url.php
@@ -170,9 +170,23 @@ class BP_XProfile_Field_Type_URL extends BP_XProfile_Field_Type {
 	 * @return string URL converted to a link.
 	 */
 	public static function display_filter( $field_value, $field_id = '' ) {
-		$link      = strip_tags( $field_value );
-		$no_scheme = preg_replace( '#^https?://#', '', rtrim( $link, '/' ) );
-		$url_text  = str_replace( $link, $no_scheme, $field_value );
-		return '<a href="' . esc_url( $field_value ) . '" rel="nofollow">' . esc_html( $url_text ) . '</a>';
+
+		$do_autolink = bp_xprofile_get_meta( $field_id, 'field', 'do_autolink' );
+			
+		$url = wp_strip_all_tags( $field_value );
+		
+		$link = strip_tags( $field_value );	
+		
+		if ( 'off' != $do_autolink ) {		
+
+			$no_scheme = preg_replace( '#^https?://#', '', rtrim( $link, '/' ) );
+			$url_text  = str_replace( $link, $no_scheme, $field_value );
+			return '<a href="' . esc_url( $field_value ) . '" rel="nofollow">' . esc_html( $url_text ) . '</a>';
+			
+		} else {
+		
+			return $link;
+			
+		}
 	}
 }
-- 
2.14.1.windows.1

