settings->get_current_form();
$form = gf_apply_filters( array( 'gform_form_notification_page', $form['id'] ), $form, $notification_id );
// Get routing fields.
$routing_fields = self::get_routing_fields( $form, '0' );
// If form does not have routing fields, exit.
if ( empty( $routing_fields ) ) {
$html = sprintf(
'
';
// Get routing operators.
$operators = array(
'is' => esc_html__( 'is', 'gravityforms' ),
'isnot' => esc_html__( 'is not', 'gravityforms' ),
'>' => esc_html__( 'greater than', 'gravityforms' ),
'<' => esc_html__( 'less than', 'gravityforms' ),
'contains' => esc_html__( 'contains', 'gravityforms' ),
'starts_with' => esc_html__( 'starts with', 'gravityforms' ),
'ends_with' => esc_html__( 'ends with', 'gravityforms' ),
);
// Set has invalid rule flag.
$has_invalid_rule = false;
// Loop through routing, display inputs.
foreach ( $routing as $i => $route ) {
// Determine if rule is valid.
if ( ! GFNotification::is_valid_notification_email( rgar( $route, 'email' ) ) && $this->settings->is_dependency_met( rgobj( $this, 'dependency' ) ) ) {
$valid_rule = false;
$has_invalid_rule = true;
} else {
$valid_rule = true;
}
// Prepare email input.
$email_input = sprintf(
'
',
$i,
esc_attr( rgar( $route, 'email' ) )
);
// Prepare routing field input.
$field_input = sprintf(
'
',
$i,
self::get_routing_fields( $form, rgar( $route, 'fieldId' ) )
);
// Get operators for route.
$operator_options = '';
foreach ( $operators as $key => $value ) {
$operator_options .= sprintf(
'
',
$key,
$value,
selected( rgar( $route, 'operator' ), $key, false )
);
}
// Prepare operator input.
$operator_input = sprintf( '
', $i, $operator_options );
// Prepare add button.
$add_button = sprintf(
'
',
esc_attr__( 'Add Another Rule', 'gravityforms' ),
$i,
$i + 1
);
// Prepare delete button.
if ( count( $routing ) > 1 ) {
$delete_button = sprintf(
'

',
$i,
esc_attr__( 'Remove This Rule', 'gravityforms' ),
GFCommon::get_base_url()
);
$delete_button = sprintf(
'
',
esc_attr__( 'Remove This Rule', 'gravityforms' ),
$i
);
} else {
$delete_button = '';
}
// Display input.
$html .= sprintf(
'
%s%s%s%s%s%s%s%s
',
$valid_rule ? '' : ' class="gform-settings-field__notification-routing-route--invalid"',
esc_html__( 'Send to', 'gravityforms' ),
$email_input,
esc_html__( 'if', 'gravityforms' ),
$field_input,
$operator_input,
self::get_field_values( $i, $form, rgar( $route, 'fieldId' ), rgar( $route, 'value' ) ),
$add_button,
$delete_button
);
}
// Close routing container.
$html .= '
';
// Display validation error.
if ( $has_invalid_rule ) {
$html .= sprintf(
'