diff options
Diffstat (limited to 'admin/survey/excel/PHPExcel/Style/Conditional.php')
-rw-r--r-- | admin/survey/excel/PHPExcel/Style/Conditional.php | 277 |
1 files changed, 277 insertions, 0 deletions
diff --git a/admin/survey/excel/PHPExcel/Style/Conditional.php b/admin/survey/excel/PHPExcel/Style/Conditional.php new file mode 100644 index 0000000..c9dd52f --- /dev/null +++ b/admin/survey/excel/PHPExcel/Style/Conditional.php @@ -0,0 +1,277 @@ +<?php
+/**
+ * PHPExcel
+ *
+ * Copyright (c) 2006 - 2012 PHPExcel
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * @category PHPExcel
+ * @package PHPExcel_Style
+ * @copyright Copyright (c) 2006 - 2012 PHPExcel (http://www.codeplex.com/PHPExcel)
+ * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
+ * @version 1.7.8, 2012-10-12
+ */
+
+
+/**
+ * PHPExcel_Style_Conditional
+ *
+ * @category PHPExcel
+ * @package PHPExcel_Style
+ * @copyright Copyright (c) 2006 - 2012 PHPExcel (http://www.codeplex.com/PHPExcel)
+ */
+class PHPExcel_Style_Conditional implements PHPExcel_IComparable
+{
+ /* Condition types */
+ const CONDITION_NONE = 'none';
+ const CONDITION_CELLIS = 'cellIs';
+ const CONDITION_CONTAINSTEXT = 'containsText';
+ const CONDITION_EXPRESSION = 'expression';
+
+ /* 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';
+
+ /**
+ * Condition type
+ *
+ * @var int
+ */
+ private $_conditionType;
+
+ /**
+ * Operator type
+ *
+ * @var int
+ */
+ private $_operatorType;
+
+ /**
+ * Text
+ *
+ * @var string
+ */
+ private $_text;
+
+ /**
+ * Condition
+ *
+ * @var string[]
+ */
+ private $_condition = array();
+
+ /**
+ * Style
+ *
+ * @var PHPExcel_Style
+ */
+ private $_style;
+
+ /**
+ * Create a new PHPExcel_Style_Conditional
+ */
+ public function __construct()
+ {
+ // Initialise values
+ $this->_conditionType = PHPExcel_Style_Conditional::CONDITION_NONE;
+ $this->_operatorType = PHPExcel_Style_Conditional::OPERATOR_NONE;
+ $this->_text = null;
+ $this->_condition = array();
+ $this->_style = new PHPExcel_Style(FALSE, TRUE);
+ }
+
+ /**
+ * Get Condition type
+ *
+ * @return string
+ */
+ public function getConditionType() {
+ return $this->_conditionType;
+ }
+
+ /**
+ * Set Condition type
+ *
+ * @param string $pValue PHPExcel_Style_Conditional condition type
+ * @return PHPExcel_Style_Conditional
+ */
+ public function setConditionType($pValue = PHPExcel_Style_Conditional::CONDITION_NONE) {
+ $this->_conditionType = $pValue;
+ return $this;
+ }
+
+ /**
+ * Get Operator type
+ *
+ * @return string
+ */
+ public function getOperatorType() {
+ return $this->_operatorType;
+ }
+
+ /**
+ * Set Operator type
+ *
+ * @param string $pValue PHPExcel_Style_Conditional operator type
+ * @return PHPExcel_Style_Conditional
+ */
+ public function setOperatorType($pValue = PHPExcel_Style_Conditional::OPERATOR_NONE) {
+ $this->_operatorType = $pValue;
+ return $this;
+ }
+
+ /**
+ * Get text
+ *
+ * @return string
+ */
+ public function getText() {
+ return $this->_text;
+ }
+
+ /**
+ * Set text
+ *
+ * @param string $value
+ * @return PHPExcel_Style_Conditional
+ */
+ public function setText($value = null) {
+ $this->_text = $value;
+ return $this;
+ }
+
+ /**
+ * Get Condition
+ *
+ * @deprecated Deprecated, use getConditions instead
+ * @return string
+ */
+ public function getCondition() {
+ if (isset($this->_condition[0])) {
+ return $this->_condition[0];
+ }
+
+ return '';
+ }
+
+ /**
+ * Set Condition
+ *
+ * @deprecated Deprecated, use setConditions instead
+ * @param string $pValue Condition
+ * @return PHPExcel_Style_Conditional
+ */
+ public function setCondition($pValue = '') {
+ if (!is_array($pValue))
+ $pValue = array($pValue);
+
+ return $this->setConditions($pValue);
+ }
+
+ /**
+ * Get Conditions
+ *
+ * @return string[]
+ */
+ public function getConditions() {
+ return $this->_condition;
+ }
+
+ /**
+ * Set Conditions
+ *
+ * @param string[] $pValue Condition
+ * @return PHPExcel_Style_Conditional
+ */
+ public function setConditions($pValue) {
+ if (!is_array($pValue))
+ $pValue = array($pValue);
+
+ $this->_condition = $pValue;
+ return $this;
+ }
+
+ /**
+ * Add Condition
+ *
+ * @param string $pValue Condition
+ * @return PHPExcel_Style_Conditional
+ */
+ public function addCondition($pValue = '') {
+ $this->_condition[] = $pValue;
+ return $this;
+ }
+
+ /**
+ * Get Style
+ *
+ * @return PHPExcel_Style
+ */
+ public function getStyle() {
+ return $this->_style;
+ }
+
+ /**
+ * Set Style
+ *
+ * @param PHPExcel_Style $pValue
+ * @throws Exception
+ * @return PHPExcel_Style_Conditional
+ */
+ public function setStyle(PHPExcel_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;
+ }
+ }
+ }
+}
|