/** * Clear sitemap for one root page * * @param string $rootPageId Site root page id or domain * @return string */ public function clearSitemapCommand($rootPageId) { $rootPageId = $this->_getRootPageIdFromId($rootPageId); if ($rootPageId !== NULL) { $domain = RootPageUtility::getDomain($rootPageId); $query = 'DELETE FROM tx_metaseo_sitemap WHERE page_rootpid = ' . DatabaseUtility::quote($rootPageId, 'tx_metaseo_sitemap') . ' AND is_blacklisted = 0'; DatabaseUtility::exec($query); ConsoleUtility::writeLine('Sitemap cleared'); } else { ConsoleUtility::writeErrorLine('No such root page found'); ConsoleUtility::teminate(1); } }
/** * Clear outdated and invalid pages from sitemap table */ public static function expire() { // ##################### // Expired pages // ##################### $expireDays = (int) \Metaseo\Metaseo\Utility\GeneralUtility::getExtConf('sitemap_pageSitemapExpireDays', 60); if (empty($expireDays)) { $expireDays = 60; } // No negative days allowed $expireDays = abs($expireDays); $tstamp = time() - $expireDays * 24 * 60 * 60; $query = 'DELETE FROM tx_metaseo_sitemap WHERE tstamp <= ' . (int) $tstamp . ' AND is_blacklisted = 0'; DatabaseUtility::exec($query); // ##################### // Deleted or // excluded pages // ##################### $query = 'SELECT ts.uid FROM tx_metaseo_sitemap ts LEFT JOIN pages p ON p.uid = ts.page_uid AND p.deleted = 0 AND p.hidden = 0 AND p.tx_metaseo_is_exclude = 0 WHERE p.uid IS NULL'; $deletedSitemapPages = DatabaseUtility::getColWithIndex($query); // delete pages if (!empty($deletedSitemapPages)) { $query = 'DELETE FROM tx_metaseo_sitemap WHERE uid IN (' . implode(',', $deletedSitemapPages) . ') AND is_blacklisted = 0'; DatabaseUtility::exec($query); } }
/** * Clear all meta tags for one page * * @param integer $pid PID * @param integer|NULL $sysLanguage System language id */ protected function _clearMetaTags($pid, $sysLanguage) { $query = 'DELETE FROM tx_metaseo_metatag WHERE pid = ' . (int) $pid . ' AND sys_language_uid = ' . (int) $sysLanguage; DatabaseUtility::exec($query); }
/** * Clear all cache * * @return boolean */ public static function clearAll() { try { $query = 'TRUNCATE tx_metaseo_cache'; DatabaseUtility::exec($query); } catch (\Exception $e) { return FALSE; } return TRUE; }