public static function _getReportChartt($report, $decorator = null) { $interval = self::getMeasurementInterval($report->getId()); // fetch the date of the first measurement $start_date = $interval['first']; // fetch the date of the last measurement $end_date = $interval['last']; // number of daily measurements $day_count = 0; // number of weekly measurements $week_count = 0; // number of monthly measurements $month_count = 0; foreach ($report->getReportQuerys() as $report_query) { sfContext::getInstance()->getLogger()->info("ARMUT ARMUT ARMUT"); $temp = QueryResultPeer::countDaily($report_query->getQueryId()); if ($temp > $day_count) { $day_count = $temp; } $temp = QueryResultPeer::countWeekly($report_query->getQueryId()); if ($temp > $week_count) { $week_count = $temp; } $temp = QueryResultPeer::countMonthly($report_query->getQueryId()); if ($temp > $month_count) { $month_count = $temp; } } sfContext::getInstance()->getLogger()->info("{$day_count} {$week_count} {$month_count}"); if ($day_count <= self::DAY_COUNT) { $decorator->setFrequency('D'); return self::_getReportChart($report, $start_date, $end_date, QueryResultPeer::FREQUENCY_DAY, $decorator); } else { if ($week_count <= self::WEEK_COUNT) { $decorator->setFrequency('W'); return self::_getReportChart($report, $start_date, $end_date, QueryResultPeer::FREQUENCY_WEEK, $decorator); } else { $decorator->setFrequency('M'); return self::_getReportChart($report, $start_date, $end_date, QueryResultPeer::FREQUENCY_MONTH, $decorator); } } }