%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 3.138.124.135 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/seo/lib/ |
Upload File : |
<?php /** * Bitrix Framework * @package bitrix * @subpackage seo * @copyright 2001-2013 Bitrix */ namespace Bitrix\Seo; use Bitrix\Main\Text\Converter; /** * Generates index file from sitemap files list * Class SitemapIndex * @package Bitrix\Seo */ class SitemapIndex extends SitemapFile { 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($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)); } } }