Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/wp-conte.../plugins/wpforms-.../src/Forms/Fields/PaymentS...
File: Field.php
[500] Fix | Delete
echo '<p class="item-price item-price-hidden ' . esc_attr( $hidden ) . '">';
[501] Fix | Delete
printf(
[502] Fix | Delete
wp_kses( /* translators: %1$s - Item Price value. */
[503] Fix | Delete
__( 'Price: <span class="price">%1$s</span>', 'wpforms-lite' ),
[504] Fix | Delete
[
[505] Fix | Delete
'span' => [
[506] Fix | Delete
'class' => [],
[507] Fix | Delete
],
[508] Fix | Delete
]
[509] Fix | Delete
),
[510] Fix | Delete
esc_html( $price )
[511] Fix | Delete
);
[512] Fix | Delete
[513] Fix | Delete
echo '</p>';
[514] Fix | Delete
[515] Fix | Delete
$hidden = ! $is_single ? 'wpforms-hidden' : '';
[516] Fix | Delete
[517] Fix | Delete
$this->field_preview_option( 'quantity', $field, [ 'class' => $hidden ] );
[518] Fix | Delete
[519] Fix | Delete
echo '<div class="single-item-user-defined-block">';
[520] Fix | Delete
[521] Fix | Delete
printf(
[522] Fix | Delete
'<input type="text" placeholder="%s" class="primary-input" value="%s" readonly>',
[523] Fix | Delete
esc_attr( $placeholder ),
[524] Fix | Delete
esc_attr( $value )
[525] Fix | Delete
);
[526] Fix | Delete
[527] Fix | Delete
$hidden = $this->is_min_price_passed( $field ) ? 'wpforms-hidden' : '';
[528] Fix | Delete
[529] Fix | Delete
echo '<i class="fa fa-exclamation-triangle ' . esc_attr( $hidden ) . '"></i>';
[530] Fix | Delete
[531] Fix | Delete
echo '</div>';
[532] Fix | Delete
[533] Fix | Delete
$this->field_preview_option( 'description', $field );
[534] Fix | Delete
[535] Fix | Delete
$hidden = ! isset( $field['min_price'] ) || empty( (float) wpforms_sanitize_amount( $field['min_price'] ) ) ? 'wpforms-hidden' : '';
[536] Fix | Delete
[537] Fix | Delete
echo '<div class="item-min-price ' . esc_attr( $hidden ) . '">';
[538] Fix | Delete
printf(
[539] Fix | Delete
wp_kses( /* translators: %1$s - Minimum Price value. */
[540] Fix | Delete
__( 'Minimum Price: <span class="min-price">%1$s</span>', 'wpforms-lite' ),
[541] Fix | Delete
[
[542] Fix | Delete
'span' => [
[543] Fix | Delete
'class' => [],
[544] Fix | Delete
],
[545] Fix | Delete
]
[546] Fix | Delete
),
[547] Fix | Delete
esc_html( $min_price )
[548] Fix | Delete
);
[549] Fix | Delete
echo '</div>';
[550] Fix | Delete
[551] Fix | Delete
echo '<p class="item-price-hidden-note">';
[552] Fix | Delete
esc_html_e( 'Note: Item type is set to hidden and will not be visible when viewing the form.', 'wpforms-lite' );
[553] Fix | Delete
echo '</p>';
[554] Fix | Delete
[555] Fix | Delete
echo '</div>';
[556] Fix | Delete
}
[557] Fix | Delete
[558] Fix | Delete
/**
[559] Fix | Delete
* Field display on the form front-end.
[560] Fix | Delete
*
[561] Fix | Delete
* @since 1.8.2
[562] Fix | Delete
*
[563] Fix | Delete
* @param array $field Field data and settings.
[564] Fix | Delete
* @param array $deprecated Deprecated field attributes.
[565] Fix | Delete
* @param array $form_data Form data and settings.
[566] Fix | Delete
*/
[567] Fix | Delete
public function field_display( $field, $deprecated, $form_data ) { // phpcs:ignore Generic.Metrics.CyclomaticComplexity.TooHigh
[568] Fix | Delete
[569] Fix | Delete
// Shortcut for easier access.
[570] Fix | Delete
$primary = $field['properties']['inputs']['primary'];
[571] Fix | Delete
$field_format = ! empty( $field['format'] ) ? $field['format'] : self::FORMAT_SINGLE;
[572] Fix | Delete
[573] Fix | Delete
// Placeholder attribute is only applicable to password, search, tel, text and url inputs, not hidden.
[574] Fix | Delete
// aria-errormessage attribute is not allowed for hidden inputs.
[575] Fix | Delete
if ( ! $this->is_user_defined( $field ) ) {
[576] Fix | Delete
unset( $primary['attr']['placeholder'], $primary['attr']['aria-errormessage'] );
[577] Fix | Delete
}
[578] Fix | Delete
[579] Fix | Delete
switch ( $field_format ) {
[580] Fix | Delete
case self::FORMAT_SINGLE:
[581] Fix | Delete
case self::FORMAT_HIDDEN:
[582] Fix | Delete
if ( $field_format === self::FORMAT_SINGLE ) {
[583] Fix | Delete
$price = ! empty( $field['price'] ) ? $field['price'] : 0;
[584] Fix | Delete
$field_label = str_replace( '{price}', '<span class="wpforms-price">' . esc_html( wpforms_format_amount( wpforms_sanitize_amount( $price ), true ) ) . '</span>', $this->get_single_item_price_label( $field ) );
[585] Fix | Delete
[586] Fix | Delete
echo '<div class="wpforms-single-item-price-content">';
[587] Fix | Delete
echo '<div class="wpforms-single-item-price ' . wpforms_sanitize_classes( $primary['class'], true ) . '">';
[588] Fix | Delete
echo wp_kses(
[589] Fix | Delete
$field_label,
[590] Fix | Delete
[
[591] Fix | Delete
'span' => [
[592] Fix | Delete
'class' => [],
[593] Fix | Delete
],
[594] Fix | Delete
]
[595] Fix | Delete
);
[596] Fix | Delete
echo '</div>';
[597] Fix | Delete
[598] Fix | Delete
$this->display_quantity_dropdown( $field );
[599] Fix | Delete
[600] Fix | Delete
echo '</div>';
[601] Fix | Delete
}
[602] Fix | Delete
[603] Fix | Delete
// Primary price field.
[604] Fix | Delete
printf(
[605] Fix | Delete
'<input type="hidden" %s>',
[606] Fix | Delete
wpforms_html_attributes( $primary['id'], $primary['class'], $primary['data'], $primary['attr'] ) // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
[607] Fix | Delete
);
[608] Fix | Delete
break;
[609] Fix | Delete
[610] Fix | Delete
case self::FORMAT_USER:
[611] Fix | Delete
printf(
[612] Fix | Delete
'<input type="text" %s>',
[613] Fix | Delete
wpforms_html_attributes( $primary['id'], $primary['class'], $primary['data'], $primary['attr'] ) // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
[614] Fix | Delete
);
[615] Fix | Delete
break;
[616] Fix | Delete
[617] Fix | Delete
default:
[618] Fix | Delete
break;
[619] Fix | Delete
}
[620] Fix | Delete
}
[621] Fix | Delete
[622] Fix | Delete
/**
[623] Fix | Delete
* Validate field on form submit.
[624] Fix | Delete
*
[625] Fix | Delete
* @since 1.8.2
[626] Fix | Delete
*
[627] Fix | Delete
* @param int $field_id Field ID.
[628] Fix | Delete
* @param string $field_submit Submitted field value (raw data).
[629] Fix | Delete
* @param array $form_data Form data and settings.
[630] Fix | Delete
*/
[631] Fix | Delete
public function validate( $field_id, $field_submit, $form_data ) {
[632] Fix | Delete
[633] Fix | Delete
$is_required = ! empty( $form_data['fields'][ $field_id ]['required'] );
[634] Fix | Delete
[635] Fix | Delete
// If field is required, check for data.
[636] Fix | Delete
if (
[637] Fix | Delete
empty( $field_submit ) &&
[638] Fix | Delete
$is_required
[639] Fix | Delete
) {
[640] Fix | Delete
wpforms()->get( 'process' )->errors[ $form_data['id'] ][ $field_id ] = wpforms_get_required_label();
[641] Fix | Delete
[642] Fix | Delete
return;
[643] Fix | Delete
}
[644] Fix | Delete
[645] Fix | Delete
/**
[646] Fix | Delete
* Whether to validate amount or not of the Payment Single item field.
[647] Fix | Delete
*
[648] Fix | Delete
* @since 1.8.4
[649] Fix | Delete
*
[650] Fix | Delete
* @param bool $validate Whether to validate amount or not. Default true.
[651] Fix | Delete
* @param int $field_id Field ID.
[652] Fix | Delete
* @param string $field_submit Field data submitted by a user.
[653] Fix | Delete
* @param array $form_data Form data and settings.
[654] Fix | Delete
*/
[655] Fix | Delete
$validate_amount = apply_filters( 'wpforms_forms_fields_payment_single_field_validate_amount', true, $field_id, $field_submit, $form_data );
[656] Fix | Delete
[657] Fix | Delete
// If field format is not user provided, validate the amount posted.
[658] Fix | Delete
if (
[659] Fix | Delete
! empty( $field_submit ) &&
[660] Fix | Delete
$validate_amount &&
[661] Fix | Delete
! $this->is_user_defined( $form_data['fields'][ $field_id ] )
[662] Fix | Delete
) {
[663] Fix | Delete
[664] Fix | Delete
$price = wpforms_sanitize_amount( $form_data['fields'][ $field_id ]['price'] );
[665] Fix | Delete
$submit = wpforms_sanitize_amount( $field_submit );
[666] Fix | Delete
[667] Fix | Delete
if ( $price !== $submit ) {
[668] Fix | Delete
wpforms()->get( 'process' )->errors[ $form_data['id'] ][ $field_id ] = esc_html__( 'Amount mismatch', 'wpforms-lite' );
[669] Fix | Delete
}
[670] Fix | Delete
}
[671] Fix | Delete
[672] Fix | Delete
// If field format is provided by user, additionally compare the amount with a minimum price.
[673] Fix | Delete
if (
[674] Fix | Delete
! empty( $field_submit ) &&
[675] Fix | Delete
$validate_amount &&
[676] Fix | Delete
$this->is_user_defined( $form_data['fields'][ $field_id ] )
[677] Fix | Delete
) {
[678] Fix | Delete
$submit = wpforms_sanitize_amount( $field_submit );
[679] Fix | Delete
[680] Fix | Delete
if ( $submit < 0 ) {
[681] Fix | Delete
wpforms()->get( 'process' )->errors[ $form_data['id'] ][ $field_id ] = esc_html__( 'Amount can\'t be negative' , 'wpforms-lite' );
[682] Fix | Delete
}
[683] Fix | Delete
[684] Fix | Delete
if ( empty( $form_data['fields'][ $field_id ]['min_price'] ) && ! $is_required ) {
[685] Fix | Delete
return;
[686] Fix | Delete
}
[687] Fix | Delete
[688] Fix | Delete
$min_price = wpforms_sanitize_amount( $form_data['fields'][ $field_id ]['min_price'] );
[689] Fix | Delete
[690] Fix | Delete
if ( $submit < $min_price ) {
[691] Fix | Delete
wpforms()->get( 'process' )->errors[ $form_data['id'] ][ $field_id ] = esc_html__( 'Amount can\'t be less than the required minimum.' , 'wpforms-lite' );
[692] Fix | Delete
}
[693] Fix | Delete
}
[694] Fix | Delete
}
[695] Fix | Delete
[696] Fix | Delete
/**
[697] Fix | Delete
* Format and sanitize field.
[698] Fix | Delete
*
[699] Fix | Delete
* @since 1.8.2
[700] Fix | Delete
*
[701] Fix | Delete
* @param int $field_id Field ID.
[702] Fix | Delete
* @param string $field_submit Field data submitted by a user.
[703] Fix | Delete
* @param array $form_data Form data and settings.
[704] Fix | Delete
*/
[705] Fix | Delete
public function format( $field_id, $field_submit, $form_data ) {
[706] Fix | Delete
[707] Fix | Delete
$field = $form_data['fields'][ $field_id ];
[708] Fix | Delete
$name = ! empty( $field['label'] ) ? sanitize_text_field( $field['label'] ) : '';
[709] Fix | Delete
[710] Fix | Delete
// Only trust the value if the field is user format.
[711] Fix | Delete
if ( $this->is_user_defined( $field ) ) {
[712] Fix | Delete
$amount = wpforms_sanitize_amount( $field_submit );
[713] Fix | Delete
} else {
[714] Fix | Delete
$amount = wpforms_sanitize_amount( $field['price'] );
[715] Fix | Delete
}
[716] Fix | Delete
[717] Fix | Delete
$field_data = [
[718] Fix | Delete
'name' => $name,
[719] Fix | Delete
'value' => wpforms_format_amount( $amount, true ),
[720] Fix | Delete
'amount' => wpforms_format_amount( $amount ),
[721] Fix | Delete
'amount_raw' => $amount,
[722] Fix | Delete
'currency' => wpforms_get_currency(),
[723] Fix | Delete
'id' => absint( $field_id ),
[724] Fix | Delete
'type' => sanitize_key( $this->type ),
[725] Fix | Delete
];
[726] Fix | Delete
[727] Fix | Delete
if ( $this->is_payment_quantities_enabled( $field ) ) {
[728] Fix | Delete
$field_data['quantity'] = $this->get_submitted_field_quantity( $field, $form_data );
[729] Fix | Delete
}
[730] Fix | Delete
[731] Fix | Delete
wpforms()->get( 'process' )->fields[ $field_id ] = $field_data;
[732] Fix | Delete
}
[733] Fix | Delete
[734] Fix | Delete
/**
[735] Fix | Delete
* Display the minimum price description for the field.
[736] Fix | Delete
*
[737] Fix | Delete
* @since 1.8.6
[738] Fix | Delete
*
[739] Fix | Delete
* @param array $field Field data and settings.
[740] Fix | Delete
* @param array $form_data Form data and settings.
[741] Fix | Delete
*/
[742] Fix | Delete
public function field_minimum_price_description( $field, $form_data ) {
[743] Fix | Delete
[744] Fix | Delete
if ( ! $this->is_user_defined( $field ) || ! isset( $field['min_price'] ) || empty( (float) wpforms_sanitize_amount( $field['min_price'] ) ) ) {
[745] Fix | Delete
return;
[746] Fix | Delete
}
[747] Fix | Delete
[748] Fix | Delete
$description = sprintf( /* translators: %1$s - Minimum Price value. */
[749] Fix | Delete
__( 'Minimum Price: %1$s', 'wpforms-lite' ),
[750] Fix | Delete
wpforms_format_amount( wpforms_sanitize_amount( $field['min_price'] ), true )
[751] Fix | Delete
);
[752] Fix | Delete
[753] Fix | Delete
printf(
[754] Fix | Delete
'<div class="wpforms-field-description">%s</div>',
[755] Fix | Delete
esc_html( $description )
[756] Fix | Delete
);
[757] Fix | Delete
}
[758] Fix | Delete
[759] Fix | Delete
/**
[760] Fix | Delete
* Add class to the builder field preview.
[761] Fix | Delete
*
[762] Fix | Delete
* @since 1.8.6
[763] Fix | Delete
*
[764] Fix | Delete
* @param string $css Class names.
[765] Fix | Delete
* @param array $field Field properties.
[766] Fix | Delete
*
[767] Fix | Delete
* @return string
[768] Fix | Delete
*/
[769] Fix | Delete
public function preview_field_class( $css, $field ) {
[770] Fix | Delete
[771] Fix | Delete
$css = parent::preview_field_class( $css, $field );
[772] Fix | Delete
[773] Fix | Delete
if ( $field['type'] !== $this->type ) {
[774] Fix | Delete
return $css;
[775] Fix | Delete
}
[776] Fix | Delete
[777] Fix | Delete
if ( ! $this->is_user_defined( $field ) ) {
[778] Fix | Delete
return $css;
[779] Fix | Delete
}
[780] Fix | Delete
[781] Fix | Delete
if ( $this->is_min_price_passed( $field ) ) {
[782] Fix | Delete
return $css;
[783] Fix | Delete
}
[784] Fix | Delete
[785] Fix | Delete
$css .= ' min-price-warning';
[786] Fix | Delete
[787] Fix | Delete
return $css;
[788] Fix | Delete
}
[789] Fix | Delete
[790] Fix | Delete
/**
[791] Fix | Delete
* Define if format of field is User Defined.
[792] Fix | Delete
*
[793] Fix | Delete
* @since 1.8.6
[794] Fix | Delete
*
[795] Fix | Delete
* @param array $field Field data.
[796] Fix | Delete
*
[797] Fix | Delete
* @return bool
[798] Fix | Delete
*/
[799] Fix | Delete
private function is_user_defined( $field ) {
[800] Fix | Delete
[801] Fix | Delete
return ! empty( $field['format'] ) && $field['format'] === self::FORMAT_USER;
[802] Fix | Delete
}
[803] Fix | Delete
[804] Fix | Delete
/**
[805] Fix | Delete
* Define if format of field is Single Item.
[806] Fix | Delete
*
[807] Fix | Delete
* @since 1.8.7
[808] Fix | Delete
*
[809] Fix | Delete
* @param array $field Field data.
[810] Fix | Delete
*
[811] Fix | Delete
* @return bool
[812] Fix | Delete
*/
[813] Fix | Delete
private function is_single_item( $field ) {
[814] Fix | Delete
[815] Fix | Delete
return empty( $field['format'] ) || $field['format'] === self::FORMAT_SINGLE;
[816] Fix | Delete
}
[817] Fix | Delete
[818] Fix | Delete
/**
[819] Fix | Delete
* Define if format of field is Hidden.
[820] Fix | Delete
*
[821] Fix | Delete
* @since 1.8.8
[822] Fix | Delete
*
[823] Fix | Delete
* @param array $field Field data.
[824] Fix | Delete
*
[825] Fix | Delete
* @return bool
[826] Fix | Delete
*/
[827] Fix | Delete
private function is_hidden( $field ) {
[828] Fix | Delete
[829] Fix | Delete
return empty( $field['format'] ) || $field['format'] === self::FORMAT_HIDDEN;
[830] Fix | Delete
}
[831] Fix | Delete
[832] Fix | Delete
/**
[833] Fix | Delete
* Define if minimum price is equal or more than default one.
[834] Fix | Delete
*
[835] Fix | Delete
* @since 1.8.6
[836] Fix | Delete
*
[837] Fix | Delete
* @param array $field Field data.
[838] Fix | Delete
*
[839] Fix | Delete
* @return bool
[840] Fix | Delete
*/
[841] Fix | Delete
private function is_min_price_passed( $field ) {
[842] Fix | Delete
[843] Fix | Delete
return isset( $field['min_price'] ) && (float) wpforms_sanitize_amount( $field['min_price'] ) >= (float) self::MIN_PRICE_DEFAULT;
[844] Fix | Delete
}
[845] Fix | Delete
}
[846] Fix | Delete
[847] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function