summaryrefslogtreecommitdiffstats
path: root/src/Objects/StatusCodes.php
blob: fc103adb2c278519bf89779a38fe8f9a0301ed1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
namespace BjoernrDe\SSLLabsApi\Objects;

class StatusCodes implements ApiObject
{
	private $statusDetails = array();

	/**
	 * Get status details
	 *
	 * @return array
	 */
	public function getStatusDetails()
	{
		return ($this->statusDetails);
	}

	/**
	 * Set status details
	 *
	 * @param array $statusDetails
	 */
	private function setStatusDetails(array $statusDetails)
	{
		$this->statusDetails = $statusDetails;
	}

	/**
	 * Get status detail by status code
	 *
	 * @param $statusCode
	 * @return string|bool status detail on success, false on error (i.e. unknown statuscode)
	 */
	public function getStatusDetail($statusCode)
	{
		$statusDetails = $this->getStatusDetails();

		if (isset($statusDetails[$statusCode]))
		{
			return ($statusDetails[$statusCode]);
		}

		return (false);
	}

	/**
	 * /**
	 * {@inheritDoc}
	 *
	 * @return \BjoernrDe\SSLLabsApi\Objects\StatusCodes
	 * @see \BjoernrDe\SSLLabsApi\Objects\ApiObject::populateObjectByApiResponse()
	 */
	public function populateObjectByApiResponse($jsonString)
	{
		$response = json_decode($jsonString);

		isset($response->statusDetails) ? $this->setStatusDetails((array) $response->statusDetails) : '';

		return ($this);
	}
}