HEX
Server: Apache
System: Linux v38079.2is.nl 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: democfellows (10015)
PHP: 8.1.34
Disabled: opcache_get_status
Upload Files
File: /var/www/vhosts/creativefellows.nl/jhtaxatie.creativefellows.nl/classes/StockData.php
<?php

final class StockData
{
  	
    public function __construct(array $data)
	{	
		$this->type = $data[3];
		$this->usage_status = $data[0];
		$this->usage_status_specified = $data[1] != "" ? $data[1] : $data[2];
		//$this->status_2 = $data[1];
		//$this->status_3 = $data[2];

		
		$this->serial = $data[4];
		$this->month = $data[5];
		$this->year = $data[6];
		$this->traction = $data[7];
		$this->lift_height = $data[8];
		$this->build_height = $data[9];
		$this->fork_length = $data[10];
		$this->battery_type = $data[11];
		$this->battery_voltage = $data[12];
		$this->battery_capacity = $data[13];
		$this->battery_build = $data[14];
		$this->truck_hours = $data[15];
		$this->price = $data[17];
		$this->price_offer = $data[19];

		$this->options 	= $this->setOptions($data[16]);
		$this->stars 	= $this->getStars();
    }
	
	private function getStars()
	{	
		$stars = $this->truckStarsArray();
		return implode(",",$stars);
	}
	
	public function truckStarsArray()
	{
		$date_diff = date_diff(date_create($this->dateBuilt()), date_create());
		$age_years = $date_diff->format('%y');
	
		switch($this->usageStatus()){
			
			default:
				return [4];
			break;
		
			case "OHNE":
				if( $this->usageStatusSpecified() === null)
				{	
					if($age_years < 5) return [3,4,5];
					else return [3,4];
				}
				elseif($this->usageStatusSpecified() == "R2GO"){
					return [5];
				}
				elseif($this->usageStatusSpecified() == "AUFG"){
					return [4];
				}
				elseif($this->usageStatusSpecified() == "NIAU"){
					return [3];
				}
			break;

			case "WERK":
				if($age_years <= 4) return [3];
				else return [3,4];
			break;
		
			case "ZGGA":
				return [5];
			break;
		}
		
	}
	
	private function setOptions($string)
	{
		return array_filter(explode(",",$string));
	}

	public function stockId(){
		return $this->stock_id;
	}
		
	public function truckStars(){
		return $this->stars;
	}
	
	public function type(){
		return $this->type;
	}
	public function usageStatus(){
		return $this->usage_status;
	}
	
	public function usageStatusSpecified(){
		return $this->usage_status_specified == "" ? null : $this->usage_status_specified;
	}
	
	public function dateBuilt(){
		return implode("-",[$this->year,$this->month,1]);
	}
	
	public function serial(){
		return $this->serial;
	}
	
	public function traction(){
		return $this->traction;
	}
	
	public function lieftHieght(){
		return $this->lift_height;
	}
	
	public function buildHeight(){
		return $this->build_height;
	}
	
	public function forkLength(){
		return $this->fork_length;
	}
	
	public function batteryType(){
		return $this->battery_type;
	}
	
	public function batteryVoltage(){
		return $this->battery_voltage;
	}
	
	public function batteryCapacity(){
		return $this->battery_capacity;
	}
	
	public function batteryBuilt(){
		return $this->battery_build;
	}
	
	public function truckHours(){
		return $this->truck_hours;
	}
	
	public function truckPrice(){
		return $this->price;
	}
	public function truckPriceOffer(){
		return $this->price_offer;
		
	}
	
	public function truckOptions(){
		return implode(",",$this->options);
	}
}