Major overhaul of caching system (work in progress)
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / lib / system / cache / builder / StyleCacheBuilder.class.php
index 33e529a97d697c477cce9a3c74be6bb9b0cc82f7..815178ef0577acc31512bc7a26a31b08149802f4 100644 (file)
@@ -7,21 +7,20 @@ use wcf\system\WCF;
  * Caches the styles and style variables.
  * 
  * @author     Marcel Werk
- * @copyright  2001-2012 WoltLab GmbH
+ * @copyright  2001-2013 WoltLab GmbH
  * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package    com.woltlab.wcf
  * @subpackage system.cache.builder
- * @category   Community Framework
+ * @category   Community Framework
  */
-class StyleCacheBuilder implements ICacheBuilder {
+class StyleCacheBuilder extends AbstractCacheBuilder {
        /**
-        * @see wcf\system\cache\ICacheBuilder::getData()
+        * @see wcf\system\cache\builder\AbstractCacheBuilder::rebuild()
         */
-       public function getData(array $cacheResource) {
+       public function rebuild(array $parameters) {
                $data = array(
                        'default' => 0,
-                       'styles' => array(),
-                       'packages' => array()
+                       'styles' => array()
                );
                
                // get all styles
@@ -32,24 +31,10 @@ class StyleCacheBuilder implements ICacheBuilder {
                $statement->execute();
                while ($row = $statement->fetchArray()) {
                        if ($row['isDefault']) $data['default'] = $row['styleID'];
-                       $data['styles'][$row['styleID']] = new Style(null, $row);
-               }
-               
-               // get style to packages
-               $sql = "SELECT          *
-                       FROM            wcf".WCF_N."_style_to_package
-                       ORDER BY        packageID ASC";
-               $statement = WCF::getDB()->prepareStatement($sql);
-               $statement->execute();
-               while ($row = $statement->fetchArray()) {
-                       if (!isset($data['packages'][$row['packageID']])) {
-                               $data['packages'][$row['packageID']] = array('default' => 0, 'disabled' => array());
-                       }
+                       $style = new Style(null, $row);
+                       $style->loadVariables();
                        
-                       if ($row['isDefault']) {
-                               $data['packages'][$row['packageID']]['default'] = $row['styleID'];
-                       }
-                       $data['packages'][$row['packageID']]['disabled'][$row['styleID']] = $row['disabled'];
+                       $data['styles'][$row['styleID']] = $style;
                }
                
                return $data;