Commit | Line | Data |
---|---|---|
11ade432 AE |
1 | <?php |
2 | namespace wcf\system\cache; | |
3 | use wcf\data\template\listener\TemplateListenerList; | |
4 | use wcf\system\package\PackageDependencyHandler; | |
5 | ||
6 | /** | |
7 | * Caches template listener code. | |
8 | * | |
9 | * @author Alexander Ebert | |
10 | * @copyright 2001-2011 WoltLab GmbH | |
11 | * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php> | |
12 | * @package com.woltlab.wcf | |
13 | * @subpackage system.cache | |
14 | * @category Community Framework | |
15 | */ | |
16 | class CacheBuilderTemplateListenerCode implements CacheBuilder { | |
17 | /** | |
18 | * @see CacheBuilder::getData() | |
19 | */ | |
20 | public function getData($cacheResource) { | |
21 | list($packageID, $environment, $templateName) = explode('-', $cacheResource['cache']); | |
22 | ||
23 | // get template codes for specified template | |
24 | $templateListenerList = new TemplateListenerList(); | |
25 | $templateListenerList->getConditionBuilder()->add("template_listener.environment = ?", array($environment)); | |
26 | $templateListenerList->getConditionBuilder()->add("template_listener.templateName = ?", array($templateName)); | |
27 | $templateListenerList->getConditionBuilder()->add("template_listener.packageID IN (?)", array(PackageDependencyHandler::getDependencies())); | |
28 | $templateListenerList->sqlLimit = 0; | |
29 | $templateListenerList->readObjects(); | |
30 | ||
31 | $data = array(); | |
32 | foreach ($templateListenerList->getObjects() as $templateListener) { | |
33 | $data[$templateListener->eventName][] = $templateListener->templateCode; | |
34 | } | |
35 | ||
36 | return $data; | |
37 | } | |
38 | } | |
39 | ?> |