Gc\User\Visitor::sortData PHP Method

sortData() protected method

Return all visitors
protected sortData ( string $sort, array $rows ) : array
$sort string Sort by HOUR, DAY, MONTH, YEAR
$rows array Rows
return array
    protected function sortData($sort, $rows)
    {
        $values = array();
        if (empty($rows)) {
            return $values;
        }
        switch ($sort) {
            case 'HOUR':
                for ($i = 0; $i < 24; $i++) {
                    $values[$i . 'h'] = 0;
                }
                foreach ($rows as $row) {
                    $values[$row['date'] . 'h'] = $row['nb'];
                }
                break;
            case 'DAY':
                $dayInMonth = date('t');
                for ($i = 1; $i < $dayInMonth; $i++) {
                    $values[$i . 'd'] = 0;
                }
                foreach ($rows as $row) {
                    $values[$row['date'] . 'd'] = $row['nb'];
                }
                break;
            case 'MONTH':
                for ($i = 1; $i <= 12; $i++) {
                    $values[date('M', mktime(0, 0, 0, $i))] = 0;
                }
                foreach ($rows as $row) {
                    $values[date('M', mktime(0, 0, 0, $row['date']))] = $row['nb'];
                }
                break;
            case 'YEAR':
                foreach ($rows as $row) {
                    $values[$row['date']] = $row['nb'];
                }
                $keys = array_keys($values);
                for ($i = min($keys); $i <= max($keys); $i++) {
                    $values[$i] = empty($values[$i]) ? 0 : $values[$i];
                }
                $newValues = array();
                foreach ($values as $key => $value) {
                    $newValues[$key . 'y'] = $value;
                }
                $values = $newValues;
                break;
        }
        return $values;
    }