Submit
Path:
~
/
home
/
getwphos
/
www
/
pioneerasphalt
/
wp-content
/
plugins
/
gravityforms
/
includes
/
fields
/
File Content:
class-gf-field-total.php
<?php if ( ! class_exists( 'GFForms' ) ) { die(); } class GF_Field_Total extends GF_Field { public $type = 'total'; public $numberFormat = 'currency'; // This is used to property format the total during conditional logic evaluation. function get_form_editor_field_settings() { return array( 'conditional_logic_field_setting', 'label_setting', 'admin_label_setting', 'label_placement_setting', 'description_setting', 'css_class_setting', ); } public function get_form_editor_field_title() { return esc_attr__( 'Total', 'gravityforms' ); } /** * Returns the field's form editor icon. * * This could be an icon url or a gform-icon class. * * @since 2.5 * * @return string */ public function get_form_editor_field_icon() { return 'gform-icon--total'; } /** * Returns the HTML markup for the field's containing element. * * @since 2.5 * * @param array $atts Container attributes. * @param array $form The current Form object. * * @return string */ public function get_field_container( $atts, $form ) { // aria-atomic and aria-live need to be added to make the change of the total announced. $atts['aria-atomic'] = 'true'; $atts['aria-live'] = 'polite'; return parent::get_field_container( $atts, $form ); } public function get_field_input( $form, $value = '', $entry = null ) { $form_id = absint( $form['id'] ); $is_entry_detail = $this->is_entry_detail(); $is_form_editor = $this->is_form_editor(); $id = (int) $this->id; $field_id = $is_entry_detail || $is_form_editor || $form_id == 0 ? "input_$id" : 'input_' . $form_id . "_$id"; if ( $is_entry_detail ) { return "<div class='ginput_container ginput_container_total'> <input type='text' name='input_{$id}' value='{$value}' /> </div>"; } else { if ( GFCommon::is_legacy_markup_enabled( $form ) ) { return "<div class='ginput_container ginput_container_total'> <span class='ginput_total ginput_total_{$form_id}'>" . GFCommon::to_money( '0' ) . "</span> <input type='hidden' name='input_{$id}' id='{$field_id}' class='gform_hidden'/> </div>"; } else { return "<div class='ginput_container ginput_container_total'> <input type='text' readonly name='input_{$id}' id='{$field_id}' value='" . GFCommon::to_money( '0' ) . "' class='gform-text-input-reset ginput_total ginput_total_{$form_id}' /> </div>"; } } } /** * Format the entry value for display on the entry detail page and for the {all_fields} merge tag. * * @since 1.9 * @since 2.9.29 Changed the second parameter $currency (string) to $entry (array). * * @param string|array $value The field value. * @param array $entry The entry. * @param bool|false $use_text When processing choice based fields should the choice text be returned instead of the value. * @param string $format The format requested for the location the merge is being used. Possible values: html, text or url. * @param string $media The location where the value will be displayed. Possible values: screen or email. * * @return string */ public function get_value_entry_detail( $value, $entry = array(), $use_text = false, $format = 'html', $media = 'screen' ) { return GFCommon::to_money( $value, rgar( $entry, 'currency' ) ); } public function get_value_save_entry( $value, $form, $input_name, $lead_id, $lead ) { $lead = empty( $lead ) ? RGFormsModel::get_lead( $lead_id ) : $lead; $value = GFCommon::get_order_total( $form, $lead ); return $value; } public function get_value_entry_list( $value, $entry, $field_id, $columns, $form ) { return GFCommon::to_money( $value, $entry['currency'] ); } /** * Gets merge tag values. * * @since Unknown * @access public * * @uses GFCommon::to_number() * @uses GFCommon::to_money() * @uses GFCommon::format_variable_value() * * @param array|string $value The value of the input. * @param string $input_id The input ID to use. * @param array $entry The Entry Object. * @param array $form The Form Object * @param string $modifier The modifier passed. * @param array|string $raw_value The raw value of the input. * @param bool $url_encode If the result should be URL encoded. * @param bool $esc_html If the HTML should be escaped. * @param string $format The format that the value should be. * @param bool $nl2br If the nl2br function should be used. * * @return string The processed merge tag. */ public function get_value_merge_tag( $value, $input_id, $entry, $form, $modifier, $raw_value, $url_encode, $esc_html, $format, $nl2br ) { $format_numeric = in_array( 'price', $this->get_modifiers() ); $value = $format_numeric ? GFCommon::to_number( $value ) : GFCommon::to_money( $value ); return GFCommon::format_variable_value( $value, $url_encode, $esc_html, $format ); } /** * Validates the field value. * * @since 2.8.2 * * @param string $value The submitted value. * @param array $form The form currently being validated. * * @return void */ public function validate( $value, $form ) { if ( ! $this->validateTotal ) { return; } // API requests, such as the one used by Convo Forms, are not currently supported. if ( GFFormDisplay::get_submission_context() !== 'form-submit' ) { return; } $entry = GFFormsModel::get_current_lead( $form ); if ( empty( $entry ) ) { return; } $currency_code = rgar( $entry, 'currency' ); $currency = new RGCurrency( $currency_code ); $expected_value = GFCommon::get_order_total( $form, $entry ); $clean_value = GFCommon::to_number( $value, $currency_code ); if ( $currency->is_zero_decimal() ) { $expected_value_int = (int) $expected_value; $clean_value_int = (int) $clean_value; } else { $expected_value_int = (int) round( $expected_value * 100 ); $clean_value_int = (int) round( $clean_value * 100 ); } if ( $expected_value_int === $clean_value_int ) { return; } GFCommon::log_debug( __METHOD__ . sprintf( '(): Amount mismatch (%s - #%d). Submitted: %s. Clean (int): %s. Expected (int): %s.', $this->label, $this->id, var_export( $value, true ), var_export( $clean_value_int, true ), var_export( $expected_value_int, true ) ) ); // phpcs:ignore QITStandard.PHP.DebugCode.DebugFunctionFound $this->failed_validation = true; $this->validation_message = sprintf( esc_html__( 'Submitted value (%s) does not match expected value (%s).', 'gravityforms' ), $clean_value ? GFCommon::to_money( $clean_value, $currency_code ) : esc_html( $value ), GFCommon::to_money( $expected_value, $currency_code ) ); } /** * Sanitizes the field properties. * * @since 2.8.2 * * @return void */ public function sanitize_settings() { parent::sanitize_settings(); if ( isset( $this->validateTotal ) ) { $this->validateTotal = (bool) $this->validateTotal; } } } GF_Fields::register( new GF_Field_Total() );
Edit
Rename
Chmod
Delete
FILE
FOLDER
Name
Size
Permission
Action
field-decorator-choice
---
0755
class-gf-field-address.php
67606 bytes
0644
class-gf-field-calculation.php
8199 bytes
0644
class-gf-field-captcha.php
26506 bytes
0644
class-gf-field-checkbox.php
40776 bytes
0644
class-gf-field-consent.php
19305 bytes
0644
class-gf-field-creditcard.php
31316 bytes
0644
class-gf-field-date.php
53965 bytes
0644
class-gf-field-donation.php
3329 bytes
0644
class-gf-field-email.php
19180 bytes
0644
class-gf-field-fileupload.php
74977 bytes
0644
class-gf-field-hidden.php
3212 bytes
0644
class-gf-field-hiddenproduct.php
5380 bytes
0644
class-gf-field-honeypot.php
1367 bytes
0644
class-gf-field-html.php
3127 bytes
0644
class-gf-field-image-choice.php
7849 bytes
0644
class-gf-field-list.php
31546 bytes
0644
class-gf-field-multiple-choice.php
4817 bytes
0644
class-gf-field-multiselect.php
14456 bytes
0644
class-gf-field-name.php
33271 bytes
0644
class-gf-field-number.php
14531 bytes
0644
class-gf-field-option.php
1161 bytes
0644
class-gf-field-page.php
2010 bytes
0644
class-gf-field-password.php
19170 bytes
0644
class-gf-field-phone.php
10814 bytes
0644
class-gf-field-post-category.php
1303 bytes
0644
class-gf-field-post-content.php
1854 bytes
0644
class-gf-field-post-custom-field.php
2694 bytes
0644
class-gf-field-post-image.php
17494 bytes
0644
class-gf-field-post-tags.php
4007 bytes
0644
class-gf-field-post-title.php
3541 bytes
0644
class-gf-field-price.php
3279 bytes
0644
class-gf-field-quantity.php
1156 bytes
0644
class-gf-field-radio.php
21410 bytes
0644
class-gf-field-repeater.php
33620 bytes
0644
class-gf-field-section.php
2656 bytes
0644
class-gf-field-select.php
8373 bytes
0644
class-gf-field-shipping.php
1074 bytes
0644
class-gf-field-singleproduct.php
11016 bytes
0644
class-gf-field-singleshipping.php
3268 bytes
0644
class-gf-field-submit.php
7147 bytes
0644
class-gf-field-text.php
9758 bytes
0644
class-gf-field-textarea.php
21950 bytes
0644
class-gf-field-time.php
19496 bytes
0644
class-gf-field-total.php
7097 bytes
0644
class-gf-field-website.php
5496 bytes
0644
class-gf-field.php
89573 bytes
0644
class-gf-fields.php
2584 bytes
0644
index.php
27 bytes
0644
N4ST4R_ID | Naxtarrr