Merge branch '5.2' into 5.3
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / lib / system / cache / builder / UserStatsCacheBuilder.class.php
1 <?php
2 namespace wcf\system\cache\builder;
3 use wcf\system\cache\runtime\UserProfileRuntimeCache;
4 use wcf\system\WCF;
5
6 /**
7 * Caches the number of members and the newest member.
8 *
9 * @author Marcel Werk
10 * @copyright 2001-2019 WoltLab GmbH
11 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
12 * @package WoltLabSuite\Core\System\Cache\Builder
13 */
14 class UserStatsCacheBuilder extends AbstractCacheBuilder {
15 /**
16 * @inheritDoc
17 */
18 protected $maxLifetime = 600;
19
20 /**
21 * @inheritDoc
22 */
23 protected function rebuild(array $parameters) {
24 $data = [];
25
26 // number of members
27 $sql = "SELECT COUNT(*) AS amount
28 FROM wcf".WCF_N."_user";
29 $statement = WCF::getDB()->prepareStatement($sql);
30 $statement->execute();
31 $data['members'] = $statement->fetchColumn();
32
33 // newest member
34 $sql = "SELECT userID
35 FROM wcf".WCF_N."_user
36 ORDER BY userID DESC";
37 $statement = WCF::getDB()->prepareStatement($sql, 1);
38 $statement->execute();
39 $data['newestMember'] = UserProfileRuntimeCache::getInstance()->getObject($statement->fetchSingleColumn());
40
41 return $data;
42 }
43 }