2 namespace wcf\system\cache\builder
;
3 use wcf\data\template\listener\TemplateListenerList
;
6 * Caches the template listener code for a certain environment.
8 * @author Alexander Ebert
9 * @copyright 2001-2014 WoltLab GmbH
10 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
11 * @package com.woltlab.wcf
12 * @subpackage system.cache.builder
13 * @category Community Framework
15 class TemplateListenerCodeCacheBuilder
extends AbstractCacheBuilder
{
17 * @see \wcf\system\cache\builder\AbstractCacheBuilder::rebuild()
19 public function rebuild(array $parameters) {
20 // get template codes for specified template
21 $templateListenerList = new TemplateListenerList();
22 $templateListenerList->getConditionBuilder()->add("template_listener.environment = ?", array($parameters['environment']));
23 $templateListenerList->sqlOrderBy
= 'template_listener.niceValue ASC, template_listener.listenerID ASC';
24 $templateListenerList->readObjects();
27 foreach ($templateListenerList->getObjects() as $templateListener) {
28 if (!isset($data[$templateListener->templateName
])) {
29 $data[$templateListener->templateName
] = array();
32 $data[$templateListener->templateName
][$templateListener->eventName
][] = $templateListener->templateCode
;