Commit | Line | Data |
---|---|---|
11ade432 | 1 | <?php |
ef875357 | 2 | namespace wcf\system\cache\builder; |
11ade432 | 3 | use wcf\data\template\listener\TemplateListenerList; |
11ade432 AE |
4 | |
5 | /** | |
a17de04e | 6 | * Caches the template listener code for a certain template in a certain environment. |
11ade432 AE |
7 | * |
8 | * @author Alexander Ebert | |
07356d6b | 9 | * @copyright 2001-2013 WoltLab GmbH |
11ade432 AE |
10 | * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php> |
11 | * @package com.woltlab.wcf | |
8cb7186a | 12 | * @subpackage system.cache.builder |
0c166126 | 13 | * @category Community Framework |
11ade432 | 14 | */ |
07356d6b | 15 | class TemplateListenerCodeCacheBuilder extends AbstractCacheBuilder { |
11ade432 | 16 | /** |
07356d6b | 17 | * @see wcf\system\cache\builder\AbstractCacheBuilder::rebuild() |
11ade432 | 18 | */ |
07356d6b | 19 | public function rebuild(array $parameters) { |
11ade432 AE |
20 | // get template codes for specified template |
21 | $templateListenerList = new TemplateListenerList(); | |
07356d6b AE |
22 | $templateListenerList->getConditionBuilder()->add("template_listener.environment = ?", array($parameters['environment'])); |
23 | $templateListenerList->getConditionBuilder()->add("template_listener.templateName = ?", array($parameters['templateName'])); | |
11ade432 AE |
24 | $templateListenerList->readObjects(); |
25 | ||
26 | $data = array(); | |
27 | foreach ($templateListenerList->getObjects() as $templateListener) { | |
28 | $data[$templateListener->eventName][] = $templateListener->templateCode; | |
29 | } | |
30 | ||
31 | return $data; | |
32 | } | |
33 | } |