%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 3.139.85.170
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/seo/lib/sitemap.php
<?php
/**
 * Bitrix Framework
 * @package bitrix
 * @subpackage seo
 * @copyright 2001-2013 Bitrix
 */
namespace Bitrix\Seo;

use \Bitrix\Main;
use \Bitrix\Main\Entity;
use \Bitrix\Main\Localization\Loc;

Loc::loadMessages(__FILE__);

// Table with settings
/**
 * Class SitemapTable
 *
 * DO NOT WRITE ANYTHING BELOW THIS
 *
 * <<< ORMENTITYANNOTATION
 * @method static EO_Sitemap_Query query()
 * @method static EO_Sitemap_Result getByPrimary($primary, array $parameters = array())
 * @method static EO_Sitemap_Result getById($id)
 * @method static EO_Sitemap_Result getList(array $parameters = array())
 * @method static EO_Sitemap_Entity getEntity()
 * @method static \Bitrix\Seo\EO_Sitemap createObject($setDefaultValues = true)
 * @method static \Bitrix\Seo\EO_Sitemap_Collection createCollection()
 * @method static \Bitrix\Seo\EO_Sitemap wakeUpObject($row)
 * @method static \Bitrix\Seo\EO_Sitemap_Collection wakeUpCollection($rows)
 */
class SitemapTable extends Entity\DataManager
{
	const SETTINGS_DEFAULT_FILE_MASK = '*.php,*.html';

	const ACTIVE = 'Y';
	const INACTIVE = 'N';

	public static function getFilePath()
	{
		return __FILE__;
	}

	public static function getTableName()
	{
		return 'b_seo_sitemap';
	}

	public static function getMap()
	{
		$fieldsMap = array(
			'ID' => array(
				'data_type' => 'integer',
				'primary' => true,
				'autocomplete' => true,
			),
			'TIMESTAMP_X' => array(
				'data_type' => 'datetime'
			),
			'SITE_ID' => array(
				'data_type' => 'string',
				'required' => true,
			),
			'ACTIVE' => array(
				'data_type' => 'boolean',
				'values' => array(self::INACTIVE, self::ACTIVE)
			),
			'NAME' => array(
				'data_type' => 'string',
				'required' => true,
				'title' => Loc::getMessage('SITEMAP_NAME_TITLE'),
			),
			'DATE_RUN' => array(
				'data_type' => 'datetime',
			),
			'SETTINGS' => array(
				'data_type' => 'text',
			),
		);

		return $fieldsMap;
	}

	protected static function compileMask($mask)
	{
		if($mask <> '')
		{
			$arMask = preg_split("/[\s,;]+/", $mask);

			foreach ($arMask as $key => $subMask)
			{
				if($subMask <> '')
				{
					$arMask[$key] = str_replace(
						array("___ALL___", "___ONE___"),
						array(".*?", "."),
						preg_quote(str_replace(
							array("*", "?"),
							array("___ALL___", "___ONE___"),
							$subMask
						))
					);
				}
				else
				{
					unset($arMask[$key]);
				}
			}

			return "/^(".implode('|', $arMask).")$/i".BX_UTF_PCRE_MODIFIER;
		}
		else
		{
			return "/.*/i".BX_UTF_PCRE_MODIFIER;
		}
	}

	/**
	 * Gets settings from admin page and returns filtered version
	 * @param $arSettings
	 * @return array
	 */
	public static function prepareSettings($arSettings)
	{
		if(is_array($arSettings))
		{
			$arSettings['FILE_MASK_REGEXP'] = self::compileMask($arSettings['FILE_MASK']);

			if(!isset($arSettings['DIR']) || !is_array($arSettings['DIR']))
			{
				$arSettings['DIR'] = array();
			}

			if(isset($arSettings['FILE']) && is_array($arSettings['FILE']))
			{
				ksort($arSettings['FILE'], SORT_STRING);

				foreach($arSettings['FILE'] as $file => $value)
				{
					$pos = mb_strrpos($file, '/');
					$parentDir = $pos > 0? mb_substr($file, 0, $pos) : '/';

					if(isset($arSettings['DIR'][$parentDir]) && $arSettings['DIR'][$parentDir] == $value)
					{
						unset($arSettings['FILE'][$file]);
					}
				}
			}

			if(isset($arSettings['DIR']) && is_array($arSettings['DIR']))
			{
				krsort($arSettings['DIR'], SORT_STRING);

				foreach($arSettings['DIR'] as $dir => $value)
				{
					if($dir != '/')
					{
						$pos = mb_strrpos($dir, '/');
						$parentDir = mb_substr($dir, 0, $pos);

						if($parentDir == '')
							$parentDir = '/';

						if(isset($arSettings['DIR'][$parentDir]) && $arSettings['DIR'][$parentDir] == $value)
						{
							unset($arSettings['DIR'][$dir]);
						}
					}
				}

				$arSettings['DIR'] = array_reverse($arSettings['DIR']);
			}

			if(isset($arSettings['IBLOCK_ACTIVE']) && is_array($arSettings['IBLOCK_ACTIVE']))
			{
				foreach($arSettings['IBLOCK_ACTIVE'] as $iblockId => $value)
				{
					if ($value == 'N')
					{
						unset($arSettings['IBLOCK_LIST'][$iblockId]);
						unset($arSettings['IBLOCK_SECTION'][$iblockId]);
						unset($arSettings['IBLOCK_ELEMENT'][$iblockId]);
						unset($arSettings['IBLOCK_SECTION_SECTION'][$iblockId]);
						unset($arSettings['IBLOCK_SECTION_ELEMENT'][$iblockId]);
					}
				}
			}

			if(isset($arSettings['FORUM_ACTIVE']) && is_array($arSettings['FORUM_ACTIVE']))
			{
				foreach($arSettings['FORUM_ACTIVE'] as $forumId => $value)
				{
					if ($value == 'N')
					{
						unset($arSettings['FORUM_TOPIC'][$forumId]);
					}
				}
			}
		}

		return $arSettings;
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit