• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/discount/preset/state.php
  • Класс: BitrixSaleDiscountPresetState
  • Вызов: State::createFromRequest
static function createFromRequest(HttpRequest $request)
{
	$prevState = self::createFromEncodedData($request->getPost(self::STATE_NAME_VAR));

	$postData = array();
	foreach($request->getPostList()->toArray() as $name => $data)
	{
		if(is_array($data) && count($data) === 1 && ($data[0] !== '0' && empty($data[0])))
		{
			//empty array
			unset($prevState[$name]);
			continue;
		}

		if(is_array($data) && ($data[0] !== '0' && empty($data[0])))
		{
			unset($data[0]);
		}
		$postData[$name] = $data;
	}

	return new State(array_merge($prevState->toArray(), $postData));
}