field_data->advance_setting->$key ) ) { return $this->field_data->advance_setting->$key; } return ''; } /** * Abstract function for output. * * @param array $field_data field Data. */ abstract public function output( $field_data = array() ); /** * Register Fields. */ abstract public function register_fields(); /** * Render Html for advanced settings field option. * * @param array $fields Fields data. */ public function render_html( $fields ) { $this->fields_html = ''; foreach ( $fields as $field_key => $field ) { $tooltip_html = ! empty( $field['tip'] ) ? ur_help_tip( $field['tip'], false, 'ur-portal-tooltip' ) : ''; $smart_tags = ''; if ( 'default_value' === $field_key ) { /** * Filter the smart tags list for general. * * @param array $smart_tags The smart tags list. */ $smart_tags = apply_filters( 'ur_smart_tags_list_in_general', $smart_tags ); } $pattern_validation_list = ''; if ( 'pattern_value' === $field_key ) { /** * Filter Pattern validation list in advanced settings. * * @param array $pattern_validation_list The pattern validation list. */ $pattern_validation_list = apply_filters( 'ur_pattern_validation_list_in_advanced_settings', $pattern_validation_list ); } $this->fields_html .= '
'; if ( 'toggle' !== $field['type'] ) { $this->fields_html .= ''; $value = $this->get_advance_setting_data( $field_key ) == '' && isset( $field['default'] ) ? $field['default'] : $this->get_advance_setting_data( $field_key ); } elseif ( isset( $this->field_data->advance_setting->$field_key ) ) { if ( empty( $this->field_data->advance_setting->$field_key ) ) { $value = false; } else { $value = ur_string_to_bool( $this->field_data->advance_setting->$field_key ); } } elseif ( isset( $field['default'] ) ) { $value = ur_string_to_bool( $field['default'] ); } switch ( $field['type'] ) { case 'text': $this->fields_html .= 'fields_html .= ' required '; } $this->fields_html .= ' />'; $this->fields_html .= $smart_tags; $this->fields_html .= $pattern_validation_list; break; case 'select': $is_multiple = isset( $field['multiple'] ) && true === $field['multiple']; $this->fields_html .= ''; break; case 'textarea': $this->fields_html .= ''; break; case 'number': $this->fields_html .= 'fields_html .= ' required '; } $this->fields_html .= ' />'; break; case 'toggle': $this->fields_html .= '
'; $this->fields_html .= ''; $this->fields_html .= ''; $checked = ur_string_to_bool( $value ) ? 'checked' : ''; $this->fields_html .= ''; $this->fields_html .= ''; $this->fields_html .= ''; $this->fields_html .= '
'; break; default: } $this->fields_html .= '
'; }// End foreach(). } }