HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: /var/www/html/shootinschool/wp-content/plugins/wp-google-maps/includes/class.rectangle.php
<?php

namespace WPGMZA;

if(!defined('ABSPATH'))
	return;

class Rectangle extends Feature
{
	private $_cornerA;
	private $_cornerB;
	
	public function __construct($id_or_fields=-1, $read_mode=Crud::SINGLE_READ)
	{
		global $wpdb;
		global $WPGMZA_TABLE_NAME_RECTANGLES;
		
		$this->_cornerA = new LatLng();
		$this->_cornerB = new LatLng();
		
		Crud::__construct($WPGMZA_TABLE_NAME_RECTANGLES, $id_or_fields, $read_mode);
	}
	
	protected function get_column_parameter($name)
	{
		switch($name)
		{
			case "cornerA":
			case "cornerB":
				return "POINT(" . floatval($this->{"_$name"}->lat) . " " . floatval($this->{"_$name"}->lng) . ")";
				break;
			
			default:
				break;
		}
		
		return Crud::get_column_parameter($name);
	}
	
	public function __get($name)
	{
		switch($name)
		{
			case "cornerA":
			case "cornerB":
				return $this->{"_$name"};
				break;
				
			default:
				break;
		}
	}
	
	public function __set($name, $value)
	{
		switch($name)
		{
			case "cornerA":
			case "cornerB":
				$this->{"_$name"} = new LatLng($value);
				break;
				
			default:
				break;
		}
	}
	
	public function set($arg, $val=null)
	{
		if(is_array($arg) && isset($arg['cornerA']))
			$arg['cornerA'] = $this->_cornerA = new LatLng($arg['cornerA']);
		else if(is_object($arg) && isset($arg->cornerA))
			$arg->cornerA = $this->_cornerA = new LatLng($arg->cornerA);
		
		if(is_array($arg) && isset($arg['cornerB']))
			$arg['cornerB'] = $this->_cornerB = new LatLng($arg['cornerB']);
		else if(is_object($arg) && isset($arg->cornerB))
			$arg->cornerB = $this->_cornerB = new LatLng($arg->cornerB);
		
		Crud::set($arg, $val);
	}
}