xref: /template/strap/ComboStrap/ConditionalValue.php (revision 37748cd8654635afbeca80942126742f0f4cc346)
1*37748cd8SNickeau<?php
2*37748cd8SNickeau
3*37748cd8SNickeau
4*37748cd8SNickeaunamespace ComboStrap;
5*37748cd8SNickeau
6*37748cd8SNickeau
7*37748cd8SNickeauclass ConditionalValue
8*37748cd8SNickeau{
9*37748cd8SNickeau
10*37748cd8SNickeau    const CANONICAL = "conditional";
11*37748cd8SNickeau    /**
12*37748cd8SNickeau     * @var string
13*37748cd8SNickeau     */
14*37748cd8SNickeau    private $value;
15*37748cd8SNickeau    /**
16*37748cd8SNickeau     * @var string
17*37748cd8SNickeau     */
18*37748cd8SNickeau    private $breakpoint;
19*37748cd8SNickeau
20*37748cd8SNickeau    /**
21*37748cd8SNickeau     * ConditionalValue constructor.
22*37748cd8SNickeau     */
23*37748cd8SNickeau    public function __construct($value)
24*37748cd8SNickeau    {
25*37748cd8SNickeau        $array = explode("-", $value);
26*37748cd8SNickeau        $sizeof = sizeof($array);
27*37748cd8SNickeau        switch ($sizeof) {
28*37748cd8SNickeau            case 0:
29*37748cd8SNickeau                LogUtility::msg("There is no value in ($value)", LogUtility::LVL_MSG_ERROR, self::CANONICAL);
30*37748cd8SNickeau                $this->breakpoint = "";
31*37748cd8SNickeau                $this->value = "";
32*37748cd8SNickeau                break;
33*37748cd8SNickeau            case 1:
34*37748cd8SNickeau                $this->breakpoint = "";
35*37748cd8SNickeau                $this->value = $array[0];
36*37748cd8SNickeau                break;
37*37748cd8SNickeau            case 2:
38*37748cd8SNickeau                $this->breakpoint = $array[0];
39*37748cd8SNickeau                $this->value = $array[1];
40*37748cd8SNickeau                break;
41*37748cd8SNickeau            default:
42*37748cd8SNickeau                LogUtility::msg("The screen conditional value ($value) should have only one separator character `-`", LogUtility::LVL_MSG_ERROR, self::CANONICAL);
43*37748cd8SNickeau                $this->breakpoint = $array[$sizeof-2];
44*37748cd8SNickeau                $this->value = $array[$sizeof-1];
45*37748cd8SNickeau                break;
46*37748cd8SNickeau        }
47*37748cd8SNickeau    }
48*37748cd8SNickeau
49*37748cd8SNickeau    public static function createFrom($value)
50*37748cd8SNickeau    {
51*37748cd8SNickeau        return new ConditionalValue($value);
52*37748cd8SNickeau    }
53*37748cd8SNickeau
54*37748cd8SNickeau    public function getBreakpoint()
55*37748cd8SNickeau    {
56*37748cd8SNickeau        return $this->breakpoint;
57*37748cd8SNickeau    }
58*37748cd8SNickeau
59*37748cd8SNickeau    public function getValue()
60*37748cd8SNickeau    {
61*37748cd8SNickeau        return $this->value;
62*37748cd8SNickeau    }
63*37748cd8SNickeau
64*37748cd8SNickeau
65*37748cd8SNickeau}
66