/** * Sets the entry to cache. * * @param UrlCacheEntry $cacheEntry * @return void */ public function putUrlToCache(UrlCacheEntry $cacheEntry) { $data = array('original_url' => $cacheEntry->getOriginalUrl(), 'page_id' => $cacheEntry->getPageId(), 'request_variables' => json_encode($cacheEntry->getRequestVariables()), 'rootpage_id' => $cacheEntry->getRootPageId(), 'speaking_url' => $cacheEntry->getSpeakingUrl(), 'tstamp' => time()); if ($cacheEntry->getCacheId()) { $this->databaseConnection->exec_UPDATEquery('tx_realurl_urlcache', 'cache_id=' . $this->databaseConnection->fullQuoteStr($cacheEntry->getCacheId(), 'tx_realurl_urlcache'), $data); } else { $data['crdate'] = $data['tstamp']; $this->databaseConnection->exec_INSERTquery('tx_realurl_urlcache', $data); $cacheEntry->setCacheId($this->databaseConnection->sql_insert_id()); } }
/** * Sets the entry to cache. * * @param UrlCacheEntry $cacheEntry * @return void */ public function putUrlToCache(UrlCacheEntry $cacheEntry) { $data = array('expire' => $cacheEntry->getExpiration(), 'original_url' => $cacheEntry->getOriginalUrl(), 'page_id' => $cacheEntry->getPageId(), 'request_variables' => json_encode($cacheEntry->getRequestVariables()), 'rootpage_id' => $cacheEntry->getRootPageId(), 'speaking_url' => $cacheEntry->getSpeakingUrl()); if ($cacheEntry->getCacheId()) { $this->databaseConnection->exec_UPDATEquery('tx_realurl_urldata', 'uid=' . $this->databaseConnection->fullQuoteStr($cacheEntry->getCacheId(), 'tx_realurl_urldata'), $data); } else { $this->databaseConnection->sql_query('START TRANSACTION'); if ($this->limitTableRecords('tx_realurl_urldata')) { $this->databaseConnection->sql_query('DELETE FROM tx_realurl_uniqalias_cache_map WHERE url_cache_id NOT IN (SELECT uid FROM tx_realurl_urldata)'); } $this->databaseConnection->exec_INSERTquery('tx_realurl_urldata', $data); $cacheEntry->setCacheId($this->databaseConnection->sql_insert_id()); $this->databaseConnection->sql_query('COMMIT'); } }