- Модуль: seo
- Путь к файлу: ~/bitrix/modules/seo/lib/Sitemap/File/Base.php
- Класс: BitrixSeoSitemapFilefor
- Вызов: for::removeEntry
public function removeEntry($url)
{
$fileName = $this->partFile;
$e = [];
$url = $this->settings['PROTOCOL'] . '://' . CBXPunycode::toASCII($this->settings['DOMAIN'], $e) . $url;
$pattern = sprintf(self::ENTRY_TPL_SEARCH, $url);
while($this->isExists())
{
$c = $this->getContents();
$p = mb_strpos($c, $pattern);
unset($c);
if($p !== false)
{
$fd = $this->open('r+');
fseek($fd, intval($p));
fwrite($fd, str_repeat(" ", mb_strlen(sprintf(
self::ENTRY_TPL,
Converter::getXmlConverter()->encode($url),
Converter::getXmlConverter()->encode(date('c'))
))));
fclose($fd);
break;
}
if(!$this->isSplitNeeded())
{
break;
}
else
{
$this->part++;
$fileName = mb_substr($fileName, 0, -mb_strlen(self::FILE_EXT)).self::FILE_PART_SUFFIX.$this->part.mb_substr($fileName, -mb_strlen(self::FILE_EXT));
$this->reInit($fileName);
}
}
return $fileName;
}