You are here

private static function PHPExcel_Worksheet_AutoFilter::_filterTestInDateGroupSet in Loft Data Grids 7.2

Same name and namespace in other branches
  1. 6.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter.php \PHPExcel_Worksheet_AutoFilter::_filterTestInDateGroupSet()

* Test if cell value is in the defined set of Excel date values * *

Parameters

mixed $cellValue: * @param mixed[] $dataSet * @return boolean

File

vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter.php, line 316

Class

PHPExcel_Worksheet_AutoFilter
PHPExcel_Worksheet_AutoFilter

Code

private static function _filterTestInDateGroupSet($cellValue, $dataSet) {
  $dateSet = $dataSet['filterValues'];
  $blanks = $dataSet['blanks'];
  if ($cellValue == '' || $cellValue === NULL) {
    return $blanks;
  }
  if (is_numeric($cellValue)) {
    $dateValue = PHPExcel_Shared_Date::ExcelToPHP($cellValue);
    if ($cellValue < 1) {

      //	Just the time part
      $dtVal = date('His', $dateValue);
      $dateSet = $dateSet['time'];
    }
    elseif ($cellValue == floor($cellValue)) {

      //	Just the date part
      $dtVal = date('Ymd', $dateValue);
      $dateSet = $dateSet['date'];
    }
    else {

      //	date and time parts
      $dtVal = date('YmdHis', $dateValue);
      $dateSet = $dateSet['dateTime'];
    }
    foreach ($dateSet as $dateValue) {

      //	Use of substr to extract value at the appropriate group level
      if (substr($dtVal, 0, strlen($dateValue)) == $dateValue) {
        return TRUE;
      }
    }
  }
  return FALSE;
}