403Webshell
Server IP : 104.21.38.3  /  Your IP : 172.71.81.233
Web Server : Apache
System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64
User : www ( 1000)
PHP Version : 7.4.33
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /www/wwwroot/coircraft.com/wp-content/plugins/caldera-forms/classes/field/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/wwwroot/coircraft.com/wp-content/plugins/caldera-forms/classes/field/calculation.php
<?php


/**
 * Helper functions for calculation fields
 *
 * @package Caldera_Forms
 * @author    Josh Pollock <[email protected]>
 * @license   GPL-2.0+
 * @link
 * @copyright 2017 CalderaWP LLC
 */
class Caldera_Forms_Field_Calculation {

	/**
	 * Determines if checkboxes are calculated as sum of checked options or highest option
	 *
	 * @since 1.5.0.10
	 *
	 * @param array $field Field config
	 * @param array $form Form config
	 *
	 * @return bool
	 */
	public static function checkbox_mode( $field, $form ){

		/**
		 * Determines if checkboxes are calculated as sum of checked options or highest option
		 *
		 * @since 1.5.0.10
		 *
		 * @param bool $sum_mode Set true for sum, false for highest.
		 * @param array $field Field config
		 * @param array $form Form config
		 *
		 */
		return (bool) apply_filters( 'caldera_forms_checkbox_calculate_sum', true, $field, $form );

	}

	/**
	 * Get value of field for calculation
	 *
	 * @since 1.5.0.10
	 *
	 * @param array $field Field config
	 * @param array $form Form config
	 *
	 * @return float
	 */
	public static function get_value( $field, $form ){
		$entry_value = Caldera_Forms::get_field_data( $field[ 'ID' ], $form );
		$type = Caldera_Forms_Field_Util::get_type( $field, $form );
		$number = 0;
		switch( $type ){
			case 'checkbox' :
					if( true == self::checkbox_mode( $field, $form ) ){
						if( ! empty(  $entry_value ) ){
							foreach ( $entry_value as $opt => $value ){
								 $entry_value[ $opt ] = Caldera_Forms_Field_Util::get_option_calculation_value( $opt, $field, $form );
							}

							$number = floatval( array_sum( $entry_value ) );
						}


					}else{
						if( is_array( $entry_value ) ){
							foreach (  $entry_value as $value ){
								if( $value > $number ){
									$number = $value;
								}
							}
						}else{
							$number = floatval( $entry_value );
						}

						$number = self::find_calc_value( $number, $field, $form );
					}
				break;
			case 'radio':
			case 'dropdown':
			case 'filtered_select2':
			case 'toggle_switch' :
				$number = self::find_calc_value( $entry_value, $field, $form );

				break;
			default :
				$number = self::find_value( $entry_value );
				break;

		}

		/**
		 * Filter calculation field value.
		 *
		 * @since 1.8.10
		 *
		 * @param float $number The calculation value
		 * @param string|int The field entry value
		 * @param array $field The field entry config
		 * @param array $form The form config
		 */
		$number = apply_filters( 'caldera_forms_calculation_field_get_value', $number, $entry_value, $field, $form );

		return floatval( $number );

	}

	/**
	 * Find entry value
	 *
	 * Sums arrays if needed
	 *
	 * @param array|string|int|float $entry_value Field entry value
	 *
	 * @return float
	 */
	protected static function find_value( $entry_value ){
		if ( is_array( $entry_value ) ) {
			foreach ( $entry_value as $i => $v ){
				$x=1;
			}
			$number = floatval( array_sum( $entry_value ) );

			return $number;
		} else {
			$number = floatval( $entry_value );

			return $number;
		}
	}

	/**
	 * Get a dropdown, radio or toggle's calculation value based on selected option and its possible calcualtion value
	 *
	 * @since 1.5.1
	 *
	 * @param int|float|string $entry_value Resulting value
	 * @param array $field Field configuration
	 * @param array $form Form configuration
	 *
	 * @return float|int|string
	 */
	protected static function find_calc_value( $entry_value, $field, $form ){
		foreach ( $field[ 'config' ][ 'option' ] as $opt_id => $option ){
			if( $entry_value == $option[ 'value' ] ){
				$entry_value = Caldera_Forms_Field_Util::get_option_calculation_value( $option, $field, $form );
				break;
			}

		}
		return $entry_value;
	}

	public static function js_function_name( $field_base_id ){
		return 'do_calc_' . esc_attr( $field_base_id );
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit