Example #1
0
 /**
  * Adds data to the path cache. Cache ntry should have page path, language id and page id set.
  *
  * @param PathCacheEntry $newCacheEntry
  * @return void
  */
 protected function putToPathCache(PathCacheEntry $newCacheEntry)
 {
     $pagePath = $newCacheEntry->getPagePath();
     $cacheEntry = $this->cache->getPathFromCacheByPagePath($this->rootPageId, $this->detectedLanguageId, $newCacheEntry->getMountPoint(), $pagePath);
     if (!$cacheEntry) {
         $cacheEntry = $newCacheEntry;
         $cacheEntry->setRootPageId($this->rootPageId);
         $cacheEntry->setLanguageId($this->detectedLanguageId);
     }
     if ($cacheEntry->getExpiration() !== 0) {
         $cacheEntry->setExpiration(0);
     }
     $cacheEntry->setPagePath($pagePath);
     $this->cache->putPathToCache($cacheEntry);
 }
Example #2
0
 /**
  * Puts path to the cache.
  *
  * @param PathCacheEntry $cacheEntry
  * @return void
  */
 public function putPathToCache(PathCacheEntry $cacheEntry)
 {
     $data = array('expire' => $cacheEntry->getExpiration(), 'language_id' => $cacheEntry->getLanguageId(), 'mpvar' => $cacheEntry->getMountPoint(), 'page_id' => $cacheEntry->getPageId(), 'pagepath' => $cacheEntry->getPagePath(), 'rootpage_id' => $cacheEntry->getRootPageId());
     if ($cacheEntry->getCacheId()) {
         // TODO Expire all other entries
         $this->databaseConnection->exec_UPDATEquery('tx_realurl_pathcache', 'cache_id=' . $this->databaseConnection->fullQuoteStr($cacheEntry->getCacheId(), 'tx_realurl_pathcache'), $data);
     } else {
         $this->databaseConnection->exec_INSERTquery('tx_realurl_pathcache', $data);
         $cacheEntry->setCacheId($this->databaseConnection->sql_insert_id());
     }
 }