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/rospirotorg.ru/bitrix/modules/landing/lib/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/landing/lib/urlrewrite.php
<?php
namespace Bitrix\Landing;

use Bitrix\Landing\Internals\SiteTable;
use \Bitrix\Landing\Internals\UrlRewriteTable;

class UrlRewrite
{
	/**
	 * Set rule for the site.
	 * @param int $siteId Site id.
	 * @param string $rule Rule.
	 * @param int $landingId Landing id. If empty then remove.
	 * @return void
	 */
	public static function set($siteId, $rule, $landingId = null)
	{
		$rule = trim($rule);

		// check for exist
		$check = SiteTable::getList([
			'select' => [
				'ID'
			],
			'filter' => [
				'ID' => $siteId,
				'=DELETED' => ['Y', 'N']
			]
		])->fetch();
		if (!$check)
		{
			return;
		}
		if ($landingId)
		{
			$check = SiteTable::getList([
				'select' => [
					'ID'
				],
				'filter' => [
					'ID' => $landingId,
					'=DELETED' => ['Y', 'N']
				]
			])->fetch();
			if (!$check)
			{
				return;
			}
		}

		// set or unset
		$filter = [
			'SITE_ID' => $siteId,
			'=RULE' => $rule
		];
		if ($landingId)
		{
			$filter['!LANDING_ID'] = $landingId;
		}

		$res = UrlRewriteTable::getList([
			'select' => [
				'ID'
			],
			'filter' => $filter
		]);
		if ($row = $res->fetch())
		{
			if ($landingId)
			{
				UrlRewriteTable::update($row['ID'], [
					'LANDING_ID' => $landingId
				]);
			}
			else
			{
				UrlRewriteTable::delete(
					$row['ID']
				);
			}
		}
		else if ($landingId)
		{
			UrlRewriteTable::add([
				'SITE_ID' => $siteId,
				'RULE' => $rule,
				'LANDING_ID' => $landingId
			]);
		}
	}

	/**
	 * Unset rule for the site.
	 * @param int $siteId Site id.
	 * @param string $rule Rule.
	 * @return void
	 */
	public static function remove($siteId, $rule)
	{
		self::set($siteId, $rule);
	}

	/**
	 * Matching rule for url.
	 * @param int $siteId Site id.
	 * @param string $url Some url.
	 * @return int Landing id.
	 */
	public static function matchUrl($siteId, $url)
	{
		//
	}

	/**
	 * Clear rules for one site.
	 * @param int $siteId Site id.
	 * @return void
	 */
	public static function removeForSite($siteId)
	{
		$res = UrlRewriteTable::getList([
			'select' => [
				'ID'
			],
			'filter' => [
				'SITE_ID' => $siteId
			]
		]);
		while ($row = $res->fetch())
		{
			UrlRewriteTable::delete($row['ID']);
		}
	}

	/**
	 * Clear rules for one site.
	 * @param int $landingId Landing id.
	 * @return void
	 */
	public static function removeForLanding($landingId)
	{
		$res = UrlRewriteTable::getList([
			'select' => [
				'ID'
			],
			'filter' => [
				'LANDING_ID' => $landingId
			]
		]);
		while ($row = $res->fetch())
		{
			UrlRewriteTable::delete($row['ID']);
		}
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit