/application/third_party/phpoffice/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Conditional.php
https://gitlab.com/Japang-Jawara/jawara-penilaian · PHP · 274 lines · 118 code · 33 blank · 123 comment · 3 complexity · 70f67bbe502c20ef5421aff15452bf9f MD5 · raw file
- <?php
- namespace PhpOffice\PhpSpreadsheet\Style;
- use PhpOffice\PhpSpreadsheet\IComparable;
- class Conditional implements IComparable
- {
- // Condition types
- const CONDITION_NONE = 'none';
- const CONDITION_CELLIS = 'cellIs';
- const CONDITION_CONTAINSTEXT = 'containsText';
- const CONDITION_EXPRESSION = 'expression';
- const CONDITION_CONTAINSBLANKS = 'containsBlanks';
- const CONDITION_NOTCONTAINSBLANKS = 'notContainsBlanks';
- // Operator types
- const OPERATOR_NONE = '';
- const OPERATOR_BEGINSWITH = 'beginsWith';
- const OPERATOR_ENDSWITH = 'endsWith';
- const OPERATOR_EQUAL = 'equal';
- const OPERATOR_GREATERTHAN = 'greaterThan';
- const OPERATOR_GREATERTHANOREQUAL = 'greaterThanOrEqual';
- const OPERATOR_LESSTHAN = 'lessThan';
- const OPERATOR_LESSTHANOREQUAL = 'lessThanOrEqual';
- const OPERATOR_NOTEQUAL = 'notEqual';
- const OPERATOR_CONTAINSTEXT = 'containsText';
- const OPERATOR_NOTCONTAINS = 'notContains';
- const OPERATOR_BETWEEN = 'between';
- const OPERATOR_NOTBETWEEN = 'notBetween';
- /**
- * Condition type.
- *
- * @var string
- */
- private $conditionType = self::CONDITION_NONE;
- /**
- * Operator type.
- *
- * @var string
- */
- private $operatorType = self::OPERATOR_NONE;
- /**
- * Text.
- *
- * @var string
- */
- private $text;
- /**
- * Stop on this condition, if it matches.
- *
- * @var bool
- */
- private $stopIfTrue = false;
- /**
- * Condition.
- *
- * @var string[]
- */
- private $condition = [];
- /**
- * Style.
- *
- * @var Style
- */
- private $style;
- /**
- * Create a new Conditional.
- */
- public function __construct()
- {
- // Initialise values
- $this->style = new Style(false, true);
- }
- /**
- * Get Condition type.
- *
- * @return string
- */
- public function getConditionType()
- {
- return $this->conditionType;
- }
- /**
- * Set Condition type.
- *
- * @param string $pValue Condition type, see self::CONDITION_*
- *
- * @return $this
- */
- public function setConditionType($pValue)
- {
- $this->conditionType = $pValue;
- return $this;
- }
- /**
- * Get Operator type.
- *
- * @return string
- */
- public function getOperatorType()
- {
- return $this->operatorType;
- }
- /**
- * Set Operator type.
- *
- * @param string $pValue Conditional operator type, see self::OPERATOR_*
- *
- * @return $this
- */
- public function setOperatorType($pValue)
- {
- $this->operatorType = $pValue;
- return $this;
- }
- /**
- * Get text.
- *
- * @return string
- */
- public function getText()
- {
- return $this->text;
- }
- /**
- * Set text.
- *
- * @param string $value
- *
- * @return $this
- */
- public function setText($value)
- {
- $this->text = $value;
- return $this;
- }
- /**
- * Get StopIfTrue.
- *
- * @return bool
- */
- public function getStopIfTrue()
- {
- return $this->stopIfTrue;
- }
- /**
- * Set StopIfTrue.
- *
- * @param bool $value
- *
- * @return $this
- */
- public function setStopIfTrue($value)
- {
- $this->stopIfTrue = $value;
- return $this;
- }
- /**
- * Get Conditions.
- *
- * @return string[]
- */
- public function getConditions()
- {
- return $this->condition;
- }
- /**
- * Set Conditions.
- *
- * @param string[] $pValue Condition
- *
- * @return $this
- */
- public function setConditions($pValue)
- {
- if (!is_array($pValue)) {
- $pValue = [$pValue];
- }
- $this->condition = $pValue;
- return $this;
- }
- /**
- * Add Condition.
- *
- * @param string $pValue Condition
- *
- * @return $this
- */
- public function addCondition($pValue)
- {
- $this->condition[] = $pValue;
- return $this;
- }
- /**
- * Get Style.
- *
- * @return Style
- */
- public function getStyle()
- {
- return $this->style;
- }
- /**
- * Set Style.
- *
- * @param Style $pValue
- *
- * @return $this
- */
- public function setStyle(?Style $pValue = null)
- {
- $this->style = $pValue;
- return $this;
- }
- /**
- * Get hash code.
- *
- * @return string Hash code
- */
- public function getHashCode()
- {
- return md5(
- $this->conditionType .
- $this->operatorType .
- implode(';', $this->condition) .
- $this->style->getHashCode() .
- __CLASS__
- );
- }
- /**
- * Implement PHP __clone to create a deep clone, not just a shallow copy.
- */
- public function __clone()
- {
- $vars = get_object_vars($this);
- foreach ($vars as $key => $value) {
- if (is_object($value)) {
- $this->$key = clone $value;
- } else {
- $this->$key = $value;
- }
- }
- }
- }