Major overhaul of caching system (work in progress)
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / lib / system / package / PackageInstallationDispatcher.class.php
index a66dc2729fa41834e63accc3a38aa3aa6ea9ddc4..aab03e29ba889f1e09bf8526a351dc3183c7c46a 100644 (file)
@@ -1,5 +1,9 @@
 <?php
 namespace wcf\system\package;
+use wcf\system\cache\builder\TemplateListenerCodeCacheBuilder;
+
+use wcf\system\cache\builder\TemplateListenerCacheBuilder;
+
 use wcf\data\application\Application;
 use wcf\data\application\ApplicationEditor;
 use wcf\data\language\category\LanguageCategory;
@@ -26,6 +30,7 @@ use wcf\system\package\plugin\ObjectTypePackageInstallationPlugin;
 use wcf\system\package\plugin\SQLPackageInstallationPlugin;
 use wcf\system\request\LinkHandler;
 use wcf\system\request\RouteHandler;
+use wcf\system\setup\Installer;
 use wcf\system\style\StyleHandler;
 use wcf\system\version\VersionHandler;
 use wcf\system\WCF;
@@ -37,7 +42,7 @@ use wcf\util\StringUtil;
  * PackageInstallationDispatcher handles the whole installation process.
  * 
  * @author     Alexander Ebert
- * @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.package
@@ -153,7 +158,7 @@ class PackageInstallationDispatcher {
                                
                                // remove all cache files after WCFSetup
                                if (!PACKAGE_ID) {
-                                       CacheHandler::getInstance()->clear(WCF_DIR.'cache/', 'cache.*.php');
+                                       CacheHandler::getInstance()->flushAll();
                                }
                                
                                // rebuild application paths
@@ -162,7 +167,8 @@ class PackageInstallationDispatcher {
                        }
                        
                        // remove template listener cache
-                       CacheHandler::getInstance()->clear(WCF_DIR.'cache/templateListener/', '*.php');
+                       TemplateListenerCacheBuilder::getInstance()->reset();
+                       TemplateListenerCodeCacheBuilder::getInstance()->reset();
                                
                        // reset language cache
                        LanguageFactory::getInstance()->clearCache();
@@ -342,7 +348,6 @@ class PackageInstallationDispatcher {
                
                // get language list
                $languageList = new LanguageList();
-               $languageList->sqlLimit = 0;
                $languageList->readObjects();
                
                // workaround for WCFSetup
@@ -539,7 +544,7 @@ class PackageInstallationDispatcher {
         * @return      wcf\system\setup\Installer
         */
        public function extractFiles($targetDir, $sourceArchive, $fileHandler = null) {
-               return new \wcf\system\setup\Installer($targetDir, $sourceArchive, $fileHandler);
+               return new Installer($targetDir, $sourceArchive, $fileHandler);
        }
        
        /**
@@ -758,7 +763,7 @@ class PackageInstallationDispatcher {
                LanguageEditor::deleteLanguageFiles();
                
                // reset all caches
-               CacheHandler::getInstance()->clear(WCF_DIR.'cache/', '*');
+               CacheHandler::getInstance()->flushAll();
        }
        
        /**