When you look at your old code….

That feeling you get when you go back and look at your old work and think, what the **** was i doing? I don’t know if i was on some special kind of medicine when i originally wrote this function, but damn its fugly.

function get_property_status($value,$cat){

	if ($cat == "1"){
		switch ($value){
		
			case "0":
				return "For Sale";
				break;
			
			case "1":
				return "Under Offer";
				break;
			
			case "2":
				return "Sold";
				break;
			
			case "3":
				return "Sold (STC)";
				break;
			
			case "4":
				return "For Sale By Auction";
				break;
			
			case "5":
				return "Reserved";
				break;
	
			case "6":
				return "New Instruction";
				break;
				
			case "7":
				return "Just On Market";
				break;
				
			case "8":
				return "Price Reduction";
				break;
				
			case "9":
				return "Keen To Sell";
				break;
					
			case "10":
				return "No chain";
				break;
			
			case "11":
				return "Vendor will pay stamp duty";
				break;
			
			case "12":
				return "Offers in the region of";
				break;
			
			case "13":
				return "Guide Price";
				break;
		
		}
	} elseif ($cat==2){
		
		switch ($value){
		
			case "0":
				return "To Let";
				break;
			case "1":
				return "Let";
				break;
			case "2":
				return "Under Offer";
				break;
			case "3":
				return "Reserved";
				break;
			case "4":
				return "Let Agreed";
				break;
		
		}

	}
	

}

Replaced with

function get_property_status($number,$cat){

	$sale_string = array("For Sale",
			"Under Offer",
			"Sold",
			"Sold (STC)",
			"For Sale By Auction",
			"Reserved",
			"New Instruction",
			"Just On Market"
	);

	$let_string = array("To Let",
			"Let",
			"Under Offer",
			"Reserved",
			"Let Agreed"
	);
	return ($cat == "1" ? $sale_string[$number] : $let_string[$number]);
}

A simple call to convert a integer status to a human readable string and a younger me manage to botch it up

Leave a Reply

Your email address will not be published. Required fields are marked *