false, ); /** * Constructor for the URL field type * * @since 2.1.0 */ public function __construct() { parent::__construct(); $this->category = _x( 'Single Fields', 'xprofile field type category', 'buddypress' ); $this->name = _x( 'URL', 'xprofile field type', 'buddypress' ); $this->set_format( '_^(?:(?:https?|ftp)://)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\x{00a1}-\x{ffff}0-9]+-?)*[a-z\x{00a1}-\x{ffff}0-9]+)(?:\.(?:[a-z\x{00a1}-\x{ffff}0-9]+-?)*[a-z\x{00a1}-\x{ffff}0-9]+)*(?:\.(?:[a-z\x{00a1}-\x{ffff}]{2,})))(?::\d{2,5})?(?:/[^\s]*)?$_iuS', 'replace' ); /** * Fires inside __construct() method for BP_XProfile_Field_Type_URL class. * * @since 2.0.0 * * @param BP_XProfile_Field_Type_URL $this Current instance of * the field type URL. */ do_action( 'bp_xprofile_field_type_url', $this ); } /** * Output the edit field HTML for this field type. * * Must be used inside the {@link bp_profile_fields()} template loop. * * @since 2.1.0 * * @param array $raw_properties Optional key/value array of * {@link http://dev.w3.org/html5/markup/input.number.html permitted attributes} * that you want to add. */ public function edit_field_html( array $raw_properties = array() ) { // `user_id` is a special optional parameter that certain other // fields types pass to {@link bp_the_profile_field_options()}. if ( isset( $raw_properties['user_id'] ) ) { unset( $raw_properties['user_id'] ); } $r = bp_parse_args( $raw_properties, array( 'type' => 'text', 'inputmode' => 'url', 'value' => esc_url( bp_get_the_profile_field_edit_value() ), ) ); ?> get_edit_field_html_elements( $r ); ?> aria-labelledby="-1" aria-describedby="-3">

'url', ) ); ?> get_edit_field_html_elements( $r ); ?>> ' . esc_html( $url_text ) . ''; } }