403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/ilovecveti.ru/bitrix/modules/seo/lib/Sitemap/File/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/ilovecveti.ru/bitrix/modules/seo/lib/Sitemap/File/Index.php
<?php
/**
 * Bitrix Framework
 * @package bitrix
 * @subpackage seo
 * @copyright 2001-2013 Bitrix
 */
namespace Bitrix\Seo\Sitemap\File;

use Bitrix\Main\Text\Converter;

/**
 * Generates index file from sitemap files list
 */
class Index extends Base
{
	const FILE_HEADER = '<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
	const FILE_FOOTER = '</sitemapindex>';

	const ENTRY_TPL = '<sitemap><loc>%s</loc><lastmod>%s</lastmod></sitemap>';

	public function createIndex(array $arIndex)
	{
		$str = self::XML_HEADER.self::FILE_HEADER;

		foreach ($arIndex as $file)
		{
			if(!$file->isSystem() && $file->isExists())
			{
				$e = [];
				$str .= sprintf(
					self::ENTRY_TPL,
					Converter::getXmlConverter()->encode($this->settings['PROTOCOL'].'://'.\CBXPunycode::toASCII($this->settings['DOMAIN'], $e).$this->getFileUrl($file)),
					date('c', $file->getModificationTime())
				);
			}
		}

		$str .= self::FILE_FOOTER;

		$this->putContents($str);
	}

	public function appendIndexEntry($file)
	{
		if ($this->isExists() && $file->isExists())
		{
			$e = [];
			$fileUrlEnc = Converter::getXmlConverter()->encode($this->settings['PROTOCOL'].'://'.\CBXPunycode::toASCII($this->settings['DOMAIN'], $e).$this->getFileUrl($file));

			$contents = $this->getContents();

			$reg = "/".sprintf(preg_quote(self::ENTRY_TPL, "/"), preg_quote($fileUrlEnc, "/"), "[^<]*")."/";

			$newEntry = sprintf(
				self::ENTRY_TPL,
				$fileUrlEnc,
				date('c', $file->getModificationTime($file))
			);

			$count = 0;
			$contents = preg_replace($reg, $newEntry, $contents, 1, $count);

			if($count <= 0)
			{
				$contents = mb_substr($contents, 0, -mb_strlen(self::FILE_FOOTER))
					.$newEntry.self::FILE_FOOTER;
			}

			$this->putContents($contents);
		}
		else
		{
			$this->createIndex(array($file));
		}
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit