AnonSec Shell
Server IP : 85.193.89.191  /  Your IP : 3.145.202.218
Web Server : Apache
System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64
User : bitrix ( 600)
PHP Version : 8.1.27
Disable Function : NONE
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/bitrix/www/bitrix/components/bitrix/main.ui.grid/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/bitrix/www/bitrix/components/bitrix/main.ui.grid/settings.ajax.php
<?

define("NO_KEEP_STATISTIC", true);
define("NO_AGENT_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS", true);

use Bitrix\Main\Grid\Actions;
use Bitrix\Main\Web;

require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");

$response = new \Bitrix\Main\HttpResponse();
$response->addHeader("Content-Type", "application/json");

global $USER;

$request = Bitrix\Main\Application::getInstance()->getContext()->getRequest();
$request->addFilter(new Web\PostDecodeFilter);

if (!$request->isAjaxRequest())
{
	$response->flush(Web\Json::encode(array(
		"error" => "Request is not XHR"
	)));

	die();
}

if (!$request->isPost())
{
	$response->flush(Web\Json::encode(array(
		"error" => "Request is not POST"
	)));

	die();
}


$options = new \Bitrix\Main\Grid\Options($request->get("GRID_ID"));
$error = false;

if ($request->get("action") === Actions::GRID_SAVE_BATH)
{
	$data = $request->getPost("bath");
}
else
{
	$data = array($request);
}

foreach ($data as $key => $item)
{
	switch ($item["action"])
	{
		case Actions::GRID_SET_EXPANDED_ROWS:
			$options->setExpandedRows($item["ids"] ?? []);
			break;

		case Actions::GRID_SET_COLLAPSED_GROUPS:
			$options->setCollapsedGroups($item["ids"] ?? []);
			break;

		case Actions::GRID_RESET:
			if ($USER->canDoOperation("edit_other_settings"))
			{
				$options->resetView("default");
			}
			else
			{
				$options->deleteView("default");
			}

			if (
				isset($item["set_default_settings"])
				&& $item["set_default_settings"] === "Y"
				&& $USER->canDoOperation("edit_other_settings"))
			{
				$viewSettings = $options->getOptions();

				$options->setDefaultView($viewSettings["views"]["default"]);

				if (isset($item["delete_user_settings"]) && $item["delete_user_settings"] === "Y")
				{
					$options->resetDefaultView();
				}
			}

			break;

		case Actions::GRID_SET_COLUMNS:
			$options->setColumns($item["columns"] ?? '');
			break;

		case Actions::GRID_SET_THEME:
			$options->setTheme($item["theme"] ?? '');
			break;

		case Actions::GRID_SAVE_SETTINGS:
			$options->setViewSettings($item["view_id"], $options->getCurrentOptions());

			if (
				isset($item["set_default_settings"])
				&& $item["set_default_settings"] === "Y"
				&& $USER->canDoOperation("edit_other_settings")
			)
			{
				$options->setDefaultView($options->getCurrentOptions());

				if (isset($item["delete_user_settings"]) && $item["delete_user_settings"] === "Y")
				{
					$options->resetDefaultView();
				}
			}
			break;

		case Actions::SET_CUSTOM_NAMES:
			$options->setCustomNames($item["custom_names"] ?? []);
			break;

		case Actions::GRID_DELETE_VIEW:
			$options->deleteView($item["view_id"] ?? '');
			break;

		case Actions::GRID_SET_VIEW:
			$options->setView($item["view_id"] ?? '');
			break;

		case Actions::GRID_SET_SORT:
			$options->setSorting($item["by"] ?? '', $item["order"] ?? '');
			break;

		case Actions::GRID_SET_COLUMN_SIZES:
			$options->setColumnsSizes($item["expand"] ?? 1, $item['sizes'] ?? []);
			break;

		case Actions::GRID_SET_PAGE_SIZE:
			$options->setPageSize($item['pageSize'] ?? 20);
			break;

		case Actions::GRID_SET_STICKED_COLUMNS:
			$options->setStickedColumns($item['stickedColumns'] ?? []);
			break;

		default:
			$error = true;
	}
}



if (!$error)
{
	$options->save();
	$response->flush(Web\Json::encode($options->GetOptions()));
}
else
{
	$response->flush(Web\Json::encode(array(
		"error" => "Unknown action",
		"action" => $request->get("action")
	)));
}

Anon7 - 2022
AnonSec Team