2 namespace wcf\system\cronjob
;
3 use wcf\data\cronjob\Cronjob
;
4 use wcf\data\
object\type\ObjectTypeCache
;
9 * Builds daily statistics.
12 * @copyright 2001-2014 WoltLab GmbH
13 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
14 * @package com.woltlab.wcf
15 * @subpackage system.cronjob
16 * @category Community Framework
18 class StatDailyBuilderCronjob
extends AbstractCronjob
{
20 * @see \wcf\system\cronjob\ICronjob::execute()
22 public function execute(Cronjob
$cronjob) {
23 parent
::execute($cronjob);
26 $d = DateUtil
::getDateTimeByTimestamp(TIME_NOW
);
27 $d->setTimezone(new \
DateTimeZone(TIMEZONE
));
28 $d->sub(new \
DateInterval('P1D'));
30 $date = $d->getTimestamp();
32 // prepare insert statement
33 $sql = "INSERT IGNORE INTO wcf".WCF_N
."_stat_daily
34 (objectTypeID, date, counter, total)
36 $statement = WCF
::getDB()->prepareStatement($sql);
39 foreach (ObjectTypeCache
::getInstance()->getObjectTypes('com.woltlab.wcf.statDailyHandler') as $objectType) {
40 $data = $objectType->getProcessor()->getData($date);
42 $statement->execute(array($objectType->objectTypeID
, $d->format('Y-m-d'), $data['counter'], $data['total']));