HEX
Server: nginx/1.27.1
System: Linux in-4 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64
User: ilikadirect (1186)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source
Upload Files
File: /storage/v6964/testingff/public_html/fdfctr/wp-content/plugins/listdom/app/includes/query.php
<?php
// no direct access
defined('ABSPATH') or die();

if(!class_exists('LSD_Query')):

/**
 * Listdom Query Class.
 *
 * @class LSD_Query
 * @version	1.0.0
 */
class LSD_Query extends LSD_Base
{
    /**
	 * Constructor method
	 */
	public function __construct()
    {
        parent::__construct();
	}

    public static function attribute($key, $value)
    {
        list($id, $type) = explode('-', $key);

        if($id == 'address') $field = 'lsd_address';
        elseif($id == 'price') $field = 'lsd_price';
        elseif($id == 'class') $field = 'lsd_price_class';
        else $field = 'lsd_attribute_'.$id;

        $query = [];
        switch($type)
        {
            case 'eq':

                $query = array(
                    'key'     => $field,
                    'value'   => $value,
                    'compare' => '='
                );

                break;

            case 'neq':

                $query = array(
                    'key'     => $field,
                    'value'   => $value,
                    'compare' => '!='
                );

                break;

            case 'gr':

                $query = array(
                    'key'     => $field,
                    'value'   => $value,
                    'compare' => '>',
                    'type' => 'NUMERIC'
                );

                break;

            case 'grq':

                $query = array(
                    'key'     => $field,
                    'value'   => $value,
                    'compare' => '>=',
                    'type' => 'NUMERIC'
                );

                break;

            case 'lw':

                $query = array(
                    'key'     => $field,
                    'value'   => $value,
                    'compare' => '<',
                    'type' => 'NUMERIC'
                );

                break;

            case 'lwq':

                $query = array(
                    'key'     => $field,
                    'value'   => $value,
                    'compare' => '<=',
                    'type' => 'NUMERIC'
                );

                break;

            case 'lk':

                $query = array(
                    'key'     => $field,
                    'value'   => $value,
                    'compare' => 'LIKE'
                );

                break;

            case 'nlk':

                $query = array(
                    'key'     => $field,
                    'value'   => $value,
                    'compare' => 'NOT LIKE'
                );

                break;

            case 'in':

                // Force to Array
                if(!is_array($value)) $value = array($value);

                $query = array(
                    'key'     => $field,
                    'value'   => $value,
                    'compare' => 'IN'
                );

                break;

            case 'nin':

                // Force to Array
                if(!is_array($value)) $value = array($value);

                $query = array(
                    'key'     => $field,
                    'value'   => $value,
                    'compare' => 'NOT IN'
                );

                break;

            case 'bt':

                $query = array(
                    'key'     => $field,
                    'value'   => explode(':', $value),
                    'type' => 'NUMERIC',
                    'compare' => 'BETWEEN'
                );

                break;

            case 'nbt':

                $query = array(
                    'key'     => $field,
                    'value'   => explode(':', $value),
                    'compare' => 'NOT BETWEEN'
                );

                break;

            case 'ex':

                $query = array(
                    'key'     => $field,
                    'compare' => 'EXISTS'
                );

                break;

            case 'nex':

                $query = array(
                    'key'     => $field,
                    'compare' => 'NOT EXISTS'
                );

                break;
        }

        return count($query) ? $query : false;
    }
}

endif;