Swiftriver\AnalyticsProviders\AccumulatedContentOverTimeAnalyticsProvider::mysql_analytics PHP Method

mysql_analytics() private method

private mysql_analytics ( $request )
    private function mysql_analytics($request)
    {
        $logger = \Swiftriver\Core\Setup::GetLogger();
        $sql = "SELECT\n                c.date as date,\n                count(c.id) as numberofcontentitems\n            FROM\n                SC_Content c\n            GROUP BY\n                DAYOFYEAR(FROM_UNIXTIME(c.date))\n            ORDER BY\n                c.date ASC";
        try {
            $db = parent::PDOConnection($request);
            if ($db == null) {
                return $request;
            }
            $statement = $db->prepare($sql);
            $result = $statement->execute();
            if ($result == false) {
                $logger->log("Swiftriver::AnalyticsProviders::AccumulatedContentOverTimeAnalyticsProvider::ProvideAnalytics [An exception was thrown]", \PEAR_LOG_ERR);
                $errorCollection = $statement->errorInfo();
                $logger->log("Swiftriver::AnalyticsProviders::AccumulatedContentOverTimeAnalyticsProvider::ProvideAnalytics [" . $errorCollection[2] . "]", \PEAR_LOG_ERR);
                return $request;
            }
            $request->Result = array();
            $accumulatedTotal = 0;
            $lastdate = null;
            foreach ($statement->fetchAll() as $row) {
                $date = date("d-m-Y", $row['date']);
                if ($lastdate != null) {
                    while ($date != date("d-m-Y", \strtotime("{$lastdate} +1 day")) && $lastdate < date("d-m-Y")) {
                        $entry = array("date" => $lastdate, "accumulatedtotal" => $accumulatedTotal);
                        $request->Result[] = $entry;
                        $lastdate = date('d-m-Y', \strtotime("{$lastdate} +1 day"));
                    }
                }
                $accumulatedTotal += $row["numberofcontentitems"];
                $entry = array("date" => $date, "accumulatedtotal" => $accumulatedTotal);
                $request->Result[] = $entry;
                $lastdate = $date;
            }
        } catch (\PDOException $e) {
            $logger->log("Swiftriver::AnalyticsProviders::AccumulatedContentOverTimeAnalyticsProvider::ProvideAnalytics [An exception was thrown]", \PEAR_LOG_ERR);
            $logger->log("Swiftriver::AnalyticsProviders::AccumulatedContentOverTimeAnalyticsProvider::ProvideAnalytics [{$e}]", \PEAR_LOG_ERR);
        }
        $logger->log("Swiftriver::AnalyticsProviders::AccumulatedContentOverTimeAnalyticsProvider::ProvideAnalytics [Method finished]", \PEAR_LOG_DEBUG);
        return $request;
    }