calculateEntryRepartitionPerFeedPerPeriod('hour', $feed); } /** * Calculates the number of article per day of week per feed * * @param integer $feed id * @return string */ public function calculateEntryRepartitionPerFeedPerDayOfWeek($feed = null) { return $this->calculateEntryRepartitionPerFeedPerPeriod('day', $feed); } /** * Calculates the number of article per month per feed * * @param integer $feed * @return string */ public function calculateEntryRepartitionPerFeedPerMonth($feed = null) { return $this->calculateEntryRepartitionPerFeedPerPeriod('month', $feed); } /** * Calculates the number of article per period per feed * * @param string $period format string to use for grouping * @param integer $feed id * @return string */ protected function calculateEntryRepartitionPerFeedPerPeriod($period, $feed = null) { $restrict = ''; if ($feed) { $restrict = "WHERE e.id_feed = {$feed}"; } $sql = <<pdo->query($sql); $res = $stm->fetchAll(PDO::FETCH_NAMED); foreach ($res as $value) { $repartition[(int) $value['period']] = (int) $value['count']; } return $repartition; } }