public function expireCache($pageId, $languageId = null)
{
$expirationTime = time() + 30 * 24 * 60 * 60;
$this->databaseConnection->sql_query('START TRANSACTION');
$this->databaseConnection->exec_UPDATEquery('tx_realurl_pathdata', 'page_id=' . (int) $pageId . (!is_null($languageId) ? ' AND language_id=' . (int) $languageId : '') . ' AND expire=0', array('expire' => $expirationTime));
if (is_null($languageId)) {
$this->databaseConnection->exec_UPDATEquery('tx_realurl_urldata', 'page_id=' . (int) $pageId . ' AND expire=0', array('expire' => $expirationTime));
} else {
$rows = $this->databaseConnection->exec_SELECTgetRows('*', 'tx_realurl_urldata', 'page_id=' . (int) $pageId . ' AND expire=0');
foreach ($rows as $row) {
$requestVariables = @json_decode($row['request_variables'], TRUE);
if (is_array($requestVariables) && (int) $requestVariables['L'] === (int) $languageId) {
$this->databaseConnection->exec_UPDATEquery('tx_realurl_urldata', 'uid=' . (int) $row['uid'], array('expire' => $expirationTime));
}
}
}
$this->databaseConnection->sql_query('COMMIT');
}