2 namespace wcf\system\cache\builder
;
3 use wcf\data\
object\type\definition\ObjectTypeDefinition
;
4 use wcf\data\
object\type\ObjectType
;
8 * Caches object types and object type definitions.
11 * @copyright 2001-2013 WoltLab GmbH
12 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
13 * @package com.woltlab.wcf
14 * @subpackage system.cache.builder
15 * @category Community Framework
17 class ObjectTypeCacheBuilder
extends AbstractCacheBuilder
{
19 * @see wcf\system\cache\builder\AbstractCacheBuilder::rebuild()
21 public function rebuild(array $parameters) {
23 'categories' => array(),
24 'definitions' => array(),
25 'objectTypes' => array()
30 FROM wcf".WCF_N
."_object_type_definition";
31 $statement = WCF
::getDB()->prepareStatement($sql);
32 $statement->execute();
33 while ($row = $statement->fetchArray()) {
34 $data['definitions'][$row['definitionID']] = new ObjectTypeDefinition(null, $row);
36 if ($row['categoryName']) {
37 if (!isset($data['categories'][$row['categoryName']])) {
38 $data['categories'][$row['categoryName']] = array();
41 $data['categories'][$row['categoryName']][] = $row['definitionID'];
47 FROM wcf".WCF_N
."_object_type object_type";
48 $statement = WCF
::getDB()->prepareStatement($sql);
49 $statement->execute();
50 while ($row = $statement->fetchArray()) {
51 $data['objectTypes'][$row['objectTypeID']] = new ObjectType(null, $row);