Autofilter show/hide for all dynamic types now complete (still with
debugs)
This commit is contained in:
parent
f9a1267697
commit
61bc7c8e98
|
@ -338,13 +338,27 @@ class PHPExcel_Worksheet_AutoFilter
|
||||||
return $returnVal;
|
return $returnVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static function _filterTypeDynamicFilters($cellValue,$testSet)
|
private static function _filterTestInPeriodDateSet($cellValue,$testSet)
|
||||||
{
|
{
|
||||||
echo 'CALLING _filterTypeDynamicFilters',PHP_EOL;
|
echo 'CALLING _filterTestInPeriodDateSet',PHP_EOL;
|
||||||
|
|
||||||
return TRUE;
|
if (($cellValue == '') || ($cellValue === NULL)) {
|
||||||
|
echo 'EMPTY CELL',PHP_EOL;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_numeric($cellValue)) {
|
||||||
|
$dateValue = date('m',PHPExcel_Shared_Date::ExcelToPHP($cellValue));
|
||||||
|
if (in_array($dateValue,$testSet)) {
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private static function _filterTypeTopTenFilters($cellValue,$testSet)
|
private static function _filterTypeTopTenFilters($cellValue,$testSet)
|
||||||
{
|
{
|
||||||
echo 'CALLING _filterTypeTopTenFilters',PHP_EOL;
|
echo 'CALLING _filterTypeTopTenFilters',PHP_EOL;
|
||||||
|
@ -598,6 +612,20 @@ class PHPExcel_Worksheet_AutoFilter
|
||||||
// Date based
|
// Date based
|
||||||
if ($dynamicRuleType{0} == 'M' || $dynamicRuleType{0} == 'Q') {
|
if ($dynamicRuleType{0} == 'M' || $dynamicRuleType{0} == 'Q') {
|
||||||
// Month or Quarter
|
// Month or Quarter
|
||||||
|
list($periodType,$period) = sscanf($dynamicRuleType,'%[A-Z]%d');
|
||||||
|
if ($periodType == 'M') {
|
||||||
|
$ruleValues = array($period);
|
||||||
|
} else {
|
||||||
|
--$period;
|
||||||
|
$periodEnd = (1+$period)*3;
|
||||||
|
$periodStart = 1+$period*3;
|
||||||
|
$ruleValues = range($periodStart,periodEnd);
|
||||||
|
}
|
||||||
|
$columnFilterTests[$columnID] = array(
|
||||||
|
'method' => '_filterTestInPeriodDateSet',
|
||||||
|
'arguments' => $ruleValues
|
||||||
|
);
|
||||||
|
$filterColumn->setAttributes(array());
|
||||||
} else {
|
} else {
|
||||||
// Date Range
|
// Date Range
|
||||||
$columnFilterTests[$columnID] = $this->_dynamicFilterDateRange($dynamicRuleType, $filterColumn);
|
$columnFilterTests[$columnID] = $this->_dynamicFilterDateRange($dynamicRuleType, $filterColumn);
|
||||||
|
|
Loading…
Reference in New Issue