21 self::AUTOFILTER_RULETYPE_FILTER,
22 self::AUTOFILTER_RULETYPE_DATEGROUP,
23 self::AUTOFILTER_RULETYPE_CUSTOMFILTER,
24 self::AUTOFILTER_RULETYPE_DYNAMICFILTER,
25 self::AUTOFILTER_RULETYPE_TOPTENFILTER,
36 self::AUTOFILTER_RULETYPE_DATEGROUP_YEAR,
37 self::AUTOFILTER_RULETYPE_DATEGROUP_MONTH,
38 self::AUTOFILTER_RULETYPE_DATEGROUP_DAY,
39 self::AUTOFILTER_RULETYPE_DATEGROUP_HOUR,
40 self::AUTOFILTER_RULETYPE_DATEGROUP_MINUTE,
41 self::AUTOFILTER_RULETYPE_DATEGROUP_SECOND,
92 self::AUTOFILTER_RULETYPE_DYNAMIC_YESTERDAY,
93 self::AUTOFILTER_RULETYPE_DYNAMIC_TODAY,
94 self::AUTOFILTER_RULETYPE_DYNAMIC_TOMORROW,
95 self::AUTOFILTER_RULETYPE_DYNAMIC_YEARTODATE,
96 self::AUTOFILTER_RULETYPE_DYNAMIC_THISYEAR,
97 self::AUTOFILTER_RULETYPE_DYNAMIC_THISQUARTER,
98 self::AUTOFILTER_RULETYPE_DYNAMIC_THISMONTH,
99 self::AUTOFILTER_RULETYPE_DYNAMIC_THISWEEK,
100 self::AUTOFILTER_RULETYPE_DYNAMIC_LASTYEAR,
101 self::AUTOFILTER_RULETYPE_DYNAMIC_LASTQUARTER,
102 self::AUTOFILTER_RULETYPE_DYNAMIC_LASTMONTH,
103 self::AUTOFILTER_RULETYPE_DYNAMIC_LASTWEEK,
104 self::AUTOFILTER_RULETYPE_DYNAMIC_NEXTYEAR,
105 self::AUTOFILTER_RULETYPE_DYNAMIC_NEXTQUARTER,
106 self::AUTOFILTER_RULETYPE_DYNAMIC_NEXTMONTH,
107 self::AUTOFILTER_RULETYPE_DYNAMIC_NEXTWEEK,
108 self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_1,
109 self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_2,
110 self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_3,
111 self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_4,
112 self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_5,
113 self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_6,
114 self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_7,
115 self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_8,
116 self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_9,
117 self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_10,
118 self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_11,
119 self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_12,
120 self::AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_1,
121 self::AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_2,
122 self::AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_3,
123 self::AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_4,
124 self::AUTOFILTER_RULETYPE_DYNAMIC_ABOVEAVERAGE,
125 self::AUTOFILTER_RULETYPE_DYNAMIC_BELOWAVERAGE,
145 self::AUTOFILTER_COLUMN_RULE_EQUAL,
146 self::AUTOFILTER_COLUMN_RULE_NOTEQUAL,
147 self::AUTOFILTER_COLUMN_RULE_GREATERTHAN,
148 self::AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL,
149 self::AUTOFILTER_COLUMN_RULE_LESSTHAN,
150 self::AUTOFILTER_COLUMN_RULE_LESSTHANOREQUAL,
157 self::AUTOFILTER_COLUMN_RULE_TOPTEN_BY_VALUE,
158 self::AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT,
165 self::AUTOFILTER_COLUMN_RULE_TOPTEN_TOP,
166 self::AUTOFILTER_COLUMN_RULE_TOPTEN_BOTTOM,
229 private $operator = self::AUTOFILTER_COLUMN_RULE_EQUAL;
267 if (!in_array($pRuleType, self::$ruleTypes)) {
271 $this->ruleType = $pRuleType;
295 if (is_array($pValue)) {
299 if (!in_array(
$key, self::$dateTimeGroups)) {
301 unset($pValue[
$key]);
307 if (count($pValue) == 0) {
313 $this->value = $pValue;
325 return $this->operator;
337 if (empty($pOperator)) {
338 $pOperator = self::AUTOFILTER_COLUMN_RULE_EQUAL;
341 (!in_array($pOperator, self::$operators)) &&
342 (!in_array($pOperator, self::$topTenValue))
346 $this->
operator = $pOperator;
371 ($pGrouping !== null) &&
372 (!in_array($pGrouping, self::$dateTimeGroups)) &&
373 (!in_array($pGrouping, self::$dynamicTypes)) &&
374 (!in_array($pGrouping, self::$topTenType))
378 $this->grouping = $pGrouping;
392 public function setRule($pOperator, $pValue, $pGrouping = null)
399 if ($pGrouping !== null) {
435 $vars = get_object_vars($this);
438 if (
$key ==
'parent') {
const AUTOFILTER_RULETYPE_DYNAMIC_THISYEAR
const AUTOFILTER_COLUMN_RULE_LESSTHANOREQUAL
const AUTOFILTER_COLUMN_RULE_TOPTEN_TOP
const AUTOFILTER_RULETYPE_DATEGROUP_HOUR
const AUTOFILTER_RULETYPE_DYNAMIC_NEXTYEAR
getParent()
Get this Rule's AutoFilter Column Parent.
const AUTOFILTER_RULETYPE_DYNAMIC_NOVEMBER
setParent(?Column $pParent=null)
Set this Rule's AutoFilter Column Parent.
const AUTOFILTER_RULETYPE_DYNAMIC_OCTOBER
const AUTOFILTER_RULETYPE_DYNAMICFILTER
const AUTOFILTER_RULETYPE_DYNAMIC_AUGUST
const AUTOFILTER_COLUMN_RULE_GREATERTHAN
const AUTOFILTER_RULETYPE_DYNAMIC_JANUARY
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_6
const AUTOFILTER_RULETYPE_TOPTENFILTER
const AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_4
const AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_3
const AUTOFILTER_COLUMN_RULE_EQUAL
const AUTOFILTER_RULETYPE_DATEGROUP_MINUTE
const AUTOFILTER_RULETYPE_DYNAMIC_NEXTQUARTER
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_12
const AUTOFILTER_RULETYPE_DATEGROUP_YEAR
setRule($pOperator, $pValue, $pGrouping=null)
Set AutoFilter Rule.
const AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT
const AUTOFILTER_RULETYPE_DYNAMIC_LASTQUARTER
getGrouping()
Get AutoFilter Rule Grouping.
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_2
const AUTOFILTER_RULETYPE_DYNAMIC_FEBRUARY
const AUTOFILTER_RULETYPE_DATEGROUP_MONTH
const AUTOFILTER_COLUMN_RULE_NOTEQUAL
const AUTOFILTER_RULETYPE_DYNAMIC_MAY
const AUTOFILTER_RULETYPE_DYNAMIC_THISQUARTER
const AUTOFILTER_RULETYPE_DYNAMIC_LASTWEEK
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_5
const AUTOFILTER_RULETYPE_DYNAMIC_TODAY
setGrouping($pGrouping)
Set AutoFilter Rule Grouping.
const AUTOFILTER_RULETYPE_DYNAMIC_LASTMONTH
const AUTOFILTER_RULETYPE_DATEGROUP_SECOND
setRuleType($pRuleType)
Set AutoFilter Rule Type.
setOperator($pOperator)
Set AutoFilter Rule Operator.
const AUTOFILTER_RULETYPE_DYNAMIC_APRIL
const AUTOFILTER_RULETYPE_DYNAMIC_YEARTODATE
setValue($pValue)
Set AutoFilter Rule Value.
const AUTOFILTER_RULETYPE_DYNAMIC_NEXTWEEK
const AUTOFILTER_RULETYPE_DYNAMIC_JUNE
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_7
getValue()
Get AutoFilter Rule Value.
const AUTOFILTER_RULETYPE_DYNAMIC_JULY
const AUTOFILTER_COLUMN_RULE_TOPTEN_BY_VALUE
const AUTOFILTER_RULETYPE_DYNAMIC_BELOWAVERAGE
const AUTOFILTER_RULETYPE_DYNAMIC_ABOVEAVERAGE
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_1
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_10
const AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_2
const AUTOFILTER_RULETYPE_DYNAMIC_MARCH
const AUTOFILTER_RULETYPE_DYNAMIC_YESTERDAY
const AUTOFILTER_COLUMN_RULE_LESSTHAN
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_9
const AUTOFILTER_RULETYPE_DYNAMIC_THISWEEK
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_4
const AUTOFILTER_RULETYPE_CUSTOMFILTER
getRuleType()
Get AutoFilter Rule Type.
const AUTOFILTER_RULETYPE_DYNAMIC_TOMORROW
const AUTOFILTER_RULETYPE_DATEGROUP_DAY
const AUTOFILTER_RULETYPE_DYNAMIC_NEXTMONTH
const AUTOFILTER_RULETYPE_DYNAMIC_THISMONTH
const AUTOFILTER_RULETYPE_DYNAMIC_SEPTEMBER
const AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_1
const AUTOFILTER_RULETYPE_DYNAMIC_DECEMBER
getOperator()
Get AutoFilter Rule Operator.
const AUTOFILTER_RULETYPE_FILTER
__construct(?Column $pParent=null)
Create a new Rule.
const AUTOFILTER_RULETYPE_DYNAMIC_LASTYEAR
const AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL
const AUTOFILTER_COLUMN_RULE_TOPTEN_BOTTOM
const AUTOFILTER_RULETYPE_DATEGROUP
__clone()
Implement PHP __clone to create a deep clone, not just a shallow copy.
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_11
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_3
const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_8