public function purgeXmlFiles($blnReturn = false)
{
$arrFeeds = array();
$objDatabase = \Database::getInstance();
// XML sitemaps
$objFeeds = $objDatabase->execute("SELECT sitemapName FROM tl_page WHERE type='root' AND createSitemap=1 AND sitemapName!=''");
while ($objFeeds->next()) {
$arrFeeds[] = $objFeeds->sitemapName;
}
// HOOK: preserve third party feeds
if (isset($GLOBALS['TL_HOOKS']['removeOldFeeds']) && is_array($GLOBALS['TL_HOOKS']['removeOldFeeds'])) {
foreach ($GLOBALS['TL_HOOKS']['removeOldFeeds'] as $callback) {
$this->import($callback[0]);
$arrFeeds = array_merge($arrFeeds, $this->{$callback[0]}->{$callback[1]}());
}
}
// Delete the old files
if (!$blnReturn) {
foreach (scan(TL_ROOT . '/web/share') as $file) {
if (is_dir(TL_ROOT . '/web/share/' . $file)) {
continue;
// see #6652
}
$objFile = new \File('web/share/' . $file);
if ($objFile->extension == 'xml' && !in_array($objFile->filename, $arrFeeds)) {
$objFile->delete();
}
}
}
return $arrFeeds;
}