Bitrix-D7  20.0.0
Класс SitemapIndex
Граф наследования:SitemapIndex:
SitemapFile File FileEntry IFileStream FileSystemEntry

Открытые члены

 createIndex ($arIndex)
 
 appendIndexEntry ($file)
 
- Открытые члены унаследованные от SitemapFile
 __construct ($fileName, $settings)
 
 addHeader ()
 Adds header to the current sitemap file. Подробнее...
 
 addEntry ($entry)
 Adds new entry to the current sitemap file. Подробнее...
 
 split ()
 Creates next sitemap file part. Подробнее...
 
 getNameList ()
 Returns list of file parts. Подробнее...
 
 getPathDirectory ()
 Divide path to directory and filemname. Подробнее...
 
 isNotEmpty ()
 Returns if the whole sitemap is empty (not only current part). Подробнее...
 
 isCurrentPartNotEmpty ()
 Returns if current sitemap part contains something besides header. Подробнее...
 
 appendEntry ($entry)
 Appends new entry to the existing and finished sitemap file. Подробнее...
 
 removeEntry ($url)
 Searches and removes entry to the existing and finished sitemap file. Подробнее...
 
 addFileEntry (File $f)
 Adds new file entry to the current sitemap. Подробнее...
 
 addIBlockEntry ($url, $modifiedDate)
 Adds new IBlock entry to the current sitemap. Подробнее...
 
 appendIBlockEntry ($url, $modifiedDate)
 Appends new IBlock entry to the existing finished sitemap. Подробнее...
 
 addFooter ()
 Adds footer to the current sitemap part. Подробнее...
 
 getSiteRoot ()
 Returns sitemap site root. Подробнее...
 
 getUrl ()
 Returns sitemap file URL. Подробнее...
 
 parse ()
 Parses sitemap file. Подробнее...
 
- Открытые члены унаследованные от File
 open ($mode)
 Opens the file and returns the file pointer. Подробнее...
 
 close ()
 Closes the file. Подробнее...
 
 isExists ()
 
 getContents ()
 
 putContents ($data, $flags=self::REWRITE)
 
 getSize ()
 Returns the file size. Подробнее...
 
 seek ($position)
 Seeks on the file pointer from the beginning (SEEK_SET only). Подробнее...
 
 isWritable ()
 
 isReadable ()
 
 readFile ()
 
 getCreationTime ()
 
 getLastAccessTime ()
 
 getModificationTime ()
 
 markWritable ()
 
 getPermissions ()
 
 delete ()
 
 getContentType ()
 
- Открытые члены унаследованные от FileEntry
 getExtension ()
 
 putContents ($data)
 
 getFileSize ()
 
 isDirectory ()
 
 isFile ()
 
 isLink ()
 
- Открытые члены унаследованные от FileSystemEntry
 isSystem ()
 
 getName ()
 
 getDirectoryName ()
 
 getPath ()
 
 getDirectory ()
 
 getPhysicalPath ()
 
 rename ($newPath)
 

Поля данных

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>'
 
- Поля данных унаследованные от SitemapFile
const XML_HEADER = '<?xml version="1.0" encoding="UTF-8"?>'
 
const FILE_HEADER = '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'
 
const FILE_FOOTER = '</urlset>'
 
const ENTRY_TPL = '<url><loc>%s</loc><lastmod>%s</lastmod></url>'
 
const ENTRY_TPL_SEARCH = '<url><loc>%s</loc>'
 
const XPATH_URL = '/urlset/url'
 
const MAX_SIZE = 5000000
 
const FILE_EXT = '.xml'
 
const FILE_PART_SUFFIX = '.part'
 
- Поля данных унаследованные от File
const REWRITE = 0
 
const APPEND = 1
 

Дополнительные унаследованные члены

- Открытые статические члены унаследованные от File
static isFileExists ($path)
 
static getFileContents ($path)
 
static putFileContents ($path, $data, $flags=self::REWRITE)
 
static deleteFile ($path)
 
- Защищенные члены унаследованные от SitemapFile
 prepareFileName ($fileName)
 
 reInit ($fileName)
 Reinitializes current object with new file name. Подробнее...
 
 isSplitNeeded ()
 Checks is it needed to create new part of sitemap file. Подробнее...
 
 getFileUrl (File $f)
 Returns file relative path for URL. Подробнее...
 
- Защищенные статические члены унаследованные от FileSystemEntry
static getDocumentRoot ($siteId)
 
- Защищенные данные унаследованные от SitemapFile
 $documentRoot
 
 $settings = array()
 
 $parser = false
 
 $siteRoot = ''
 
 $partFile = ''
 
 $partList = array()
 
 $part = 0
 
 $partChanged = false
 
 $footerClosed = false
 
 $urlToSearch = ''
 
 $urlFound = false
 
- Защищенные данные унаследованные от File
 $filePointer
 
- Защищенные данные унаследованные от FileSystemEntry
 $path
 
 $originalPath
 
 $pathPhysical
 
 $siteId
 

Подробное описание

См. определение в файле sitemapindex.php строка 17

Методы

◆ appendIndexEntry()

appendIndexEntry (   $file)

См. определение в файле sitemapindex.php строка 46

47  {
48  if($this->isExists() && $file->isExists())
49  {
50  $fileUrlEnc = Converter::getXmlConverter()->encode($this->settings['PROTOCOL'].'://'.\CBXPunycode::toASCII($this->settings['DOMAIN'], $e = null).$this->getFileUrl($file));
51 
52  $contents = $this->getContents();
53 
54  $reg = "/".sprintf(preg_quote(self::ENTRY_TPL, "/"), preg_quote($fileUrlEnc, "/"), "[^<]*")."/";
55 
56  $newEntry = sprintf(
57  self::ENTRY_TPL,
58  $fileUrlEnc,
59  date('c', $file->getModificationTime($file))
60  );
61 
62  $count = 0;
63  $contents = preg_replace($reg, $newEntry, $contents, 1, $count);
64 
65  if($count <= 0)
66  {
67  $contents = substr($contents, 0, -strlen(self::FILE_FOOTER))
68  .$newEntry.self::FILE_FOOTER;
69  }
70 
71  $this->putContents($contents);
72  }
73  else
74  {
75  $this->createIndex(array($file));
76  }
77  }

◆ createIndex()

createIndex (   $arIndex)

См. определение в файле sitemapindex.php строка 25

26  {
27  $str = self::XML_HEADER.self::FILE_HEADER;
28 
29  foreach ($arIndex as $file)
30  {
31  if(!$file->isSystem() && $file->isExists())
32  {
33  $str .= sprintf(
34  self::ENTRY_TPL,
35  Converter::getXmlConverter()->encode($this->settings['PROTOCOL'].'://'.\CBXPunycode::toASCII($this->settings['DOMAIN'], $e = null).$this->getFileUrl($file)),
36  date('c', $file->getModificationTime())
37  );
38  }
39  }
40 
41  $str .= self::FILE_FOOTER;
42 
43  $this->putContents($str);
44  }

Поля

◆ ENTRY_TPL

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

См. определение в файле sitemapindex.php строка 23

◆ FILE_FOOTER

const FILE_FOOTER = '</sitemapindex>'

См. определение в файле sitemapindex.php строка 21

◆ FILE_HEADER

const FILE_HEADER = '<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'

См. определение в файле sitemapindex.php строка 20


Объявления и описания членов класса находятся в файле:
Bitrix\Seo\SitemapIndex\FILE_FOOTER
const FILE_FOOTER
Definition: sitemapindex.php:21
Bitrix\Main\IO\File\isExists
isExists()
Definition: main/lib/io/file.php:51
Bitrix\Seo\SitemapFile\getFileUrl
getFileUrl(File $f)
Returns file relative path for URL.
Definition: sitemapfile.php:450
Bitrix\Main\IO\File\getContents
getContents()
Definition: main/lib/io/file.php:57
Bitrix\Main\Text\Converter\getXmlConverter
static getXmlConverter()
Definition: main/lib/text/converter.php:20
Bitrix\Seo\SitemapIndex\createIndex
createIndex($arIndex)
Definition: sitemapindex.php:25
Bitrix\Main\IO\File\putContents
putContents($data, $flags=self::REWRITE)
Definition: main/lib/io/file.php:65