• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/location/admin/helper.php
  • Класс: BitrixSaleLocationAdminHelper
  • Вызов: Helper::performGridOperations
static function performGridOperations($parameters)
{
	$result = array(
		'sucess' => true,
		'errors' => array()
	);

	@set_time_limit(0);

	if(is_array($parameters['ID']) && !empty($parameters['ID']))
	{
		$parameters['ID'] = array_unique($parameters['ID']);
		foreach($parameters['ID'] as $id)
		{
			$res = static::delete($id);
			if(!$res['success'])
			{
				$result['success'] = false;
				$result['errors'] = array_merge($result['errors'], $res['errors']);
			}
		}
	}
	else if(is_array($parameters['FILTER'])) // filter can be empty
	{
		$entityClass = static::getEntityClass();
		$parameters = Helper::getParametersForList($parameters); // from generalized to orm

		$glParams = array('select' => array('ID'));

		if(is_array($parameters['filter']) && !empty($parameters['filter']))
			$glParams['filter'] = $parameters['filter'];

		$resItems = $entityClass::getList($glParams);

		while ($item = $resItems->fetch())
		{

			/* Locations have tree-style structure so
			 * we could have deleted some of them
			 * during previous iterations. Let's check this.
			*/
			if(!$entityClass::getById($item['ID'])->fetch())
				continue;
			/**/

			$res = static::delete($item['ID']);
			if(!$res['success'])
			{
				$result['success'] = false;
				$result['errors'] = array_merge($result['errors'], $res['errors']);
			}
		}
	}

	return $result;
}