Bitrix-D7  20.0.0
Класс SitemapTable
Граф наследования:SitemapTable:

Открытые статические члены

static getFilePath ()
 
static getTableName ()
 
static getMap ()
 
static prepareSettings ($arSettings)
 Gets settings from admin page and returns filtered version. Подробнее...
 

Поля данных

const SETTINGS_DEFAULT_FILE_MASK = '*.php,*.html'
 
const ACTIVE = 'Y'
 
const INACTIVE = 'N'
 

Защищенные статические члены

static compileMask ($mask)
 

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

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

Методы

◆ compileMask()

static compileMask (   $mask)
staticprotected

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

70  {
71  if(strlen($mask) > 0)
72  {
73  $arMask = preg_split("/[\s,;]+/", $mask);
74 
75  foreach ($arMask as $key => $subMask)
76  {
77  if(strlen($subMask) > 0)
78  {
79  $arMask[$key] = str_replace(
80  array("___ALL___", "___ONE___"),
81  array(".*?", "."),
82  preg_quote(str_replace(
83  array("*", "?"),
84  array("___ALL___", "___ONE___"),
85  $subMask
86  ))
87  );
88  }
89  else
90  {
91  unset($arMask[$key]);
92  }
93  }
94 
95  return "/^(".implode('|', $arMask).")$/i".BX_UTF_PCRE_MODIFIER;
96  }
97  else
98  {
99  return "/.*/i".BX_UTF_PCRE_MODIFIER;
100  }
101  }

◆ getFilePath()

static getFilePath ( )
static

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

25  {
26  return __FILE__;
27  }

◆ getMap()

static getMap ( )
static

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

35  {
36  $fieldsMap = array(
37  'ID' => array(
38  'data_type' => 'integer',
39  'primary' => true,
40  'autocomplete' => true,
41  ),
42  'TIMESTAMP_X' => array(
43  'data_type' => 'datetime'
44  ),
45  'SITE_ID' => array(
46  'data_type' => 'string',
47  'required' => true,
48  ),
49  'ACTIVE' => array(
50  'data_type' => 'boolean',
51  'values' => array(self::INACTIVE, self::ACTIVE)
52  ),
53  'NAME' => array(
54  'data_type' => 'string',
55  'required' => true,
56  'title' => Loc::getMessage('SITEMAP_NAME_TITLE'),
57  ),
58  'DATE_RUN' => array(
59  'data_type' => 'datetime',
60  ),
61  'SETTINGS' => array(
62  'data_type' => 'text',
63  ),
64  );
65 
66  return $fieldsMap;
67  }

◆ getTableName()

static getTableName ( )
static

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

30  {
31  return 'b_seo_sitemap';
32  }

◆ prepareSettings()

static prepareSettings (   $arSettings)
static

Gets settings from admin page and returns filtered version.

Аргументы
$arSettings
Возвращает
array

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

109  {
110  if(is_array($arSettings))
111  {
112  $arSettings['FILE_MASK_REGEXP'] = self::compileMask($arSettings['FILE_MASK']);
113 
114  if(!isset($arSettings['DIR']) || !is_array($arSettings['DIR']))
115  {
116  $arSettings['DIR'] = array();
117  }
118 
119  if(isset($arSettings['FILE']) && is_array($arSettings['FILE']))
120  {
121  ksort($arSettings['FILE'], SORT_STRING);
122 
123  foreach($arSettings['FILE'] as $file => $value)
124  {
125  $pos = strrpos($file, '/');
126  $parentDir = $pos > 0 ? substr($file, 0, $pos) : '/';
127 
128  if(isset($arSettings['DIR'][$parentDir]) && $arSettings['DIR'][$parentDir] == $value)
129  {
130  unset($arSettings['FILE'][$file]);
131  }
132  }
133  }
134 
135  if(isset($arSettings['DIR']) && is_array($arSettings['DIR']))
136  {
137  krsort($arSettings['DIR'], SORT_STRING);
138 
139  foreach($arSettings['DIR'] as $dir => $value)
140  {
141  if($dir != '/')
142  {
143  $pos = strrpos($dir, '/');
144  $parentDir = substr($dir, 0, $pos);
145 
146  if($parentDir == '')
147  $parentDir = '/';
148 
149  if(isset($arSettings['DIR'][$parentDir]) && $arSettings['DIR'][$parentDir] == $value)
150  {
151  unset($arSettings['DIR'][$dir]);
152  }
153  }
154  }
155 
156  $arSettings['DIR'] = array_reverse($arSettings['DIR']);
157  }
158 
159  if(isset($arSettings['IBLOCK_ACTIVE']) && is_array($arSettings['IBLOCK_ACTIVE']))
160  {
161  foreach($arSettings['IBLOCK_ACTIVE'] as $iblockId => $value)
162  {
163  if ($value == 'N')
164  {
165  unset($arSettings['IBLOCK_LIST'][$iblockId]);
166  unset($arSettings['IBLOCK_SECTION'][$iblockId]);
167  unset($arSettings['IBLOCK_ELEMENT'][$iblockId]);
168  unset($arSettings['IBLOCK_SECTION_SECTION'][$iblockId]);
169  unset($arSettings['IBLOCK_SECTION_ELEMENT'][$iblockId]);
170  }
171  }
172  }
173 
174  if(isset($arSettings['FORUM_ACTIVE']) && is_array($arSettings['FORUM_ACTIVE']))
175  {
176  foreach($arSettings['FORUM_ACTIVE'] as $forumId => $value)
177  {
178  if ($value == 'N')
179  {
180  unset($arSettings['FORUM_TOPIC'][$forumId]);
181  }
182  }
183  }
184  }
185 
186  return $arSettings;
187  }

Поля

◆ ACTIVE

const ACTIVE = 'Y'

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

◆ INACTIVE

const INACTIVE = 'N'

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

◆ SETTINGS_DEFAULT_FILE_MASK

const SETTINGS_DEFAULT_FILE_MASK = '*.php,*.html'

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


Объявления и описания членов класса находятся в файле:
Bitrix\Main\Localization\Loc\getMessage
static getMessage($code, $replace=null, $language=null)
Returns translation by message code.
Definition: loc.php:29
Bitrix\Seo\SitemapTable\compileMask
static compileMask($mask)
Definition: sitemap.php:69