• Модуль: 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;
}