Документация для разработчиков
Темная тема

AddMessage

void
CAdminException::AddMessage(
	array $arMessage
)

Добавляет сообщение к списку ошибок, зарегистрированных в экземпляре класса. Сообщение принимается в формате array("id"=>"Идентификатор_ошибки", "text" => "Текст_ошибки").

Пример

Пример использования метода на основе функции для проверки изображения:

function CheckImageType($arImage)
{
	$e = new CAdminException();

	$min_width = intval(COption::GetOptionString("vidiclub", "min_width", "500"));
	$min_height = intval(COption::GetOptionString("vidiclub", "min_height", "500"));

	$size = getimagesize($arImage["tmp_name"]);
         
	if (!$size)
	{
		$error[] = "NO_FILE";
	}
	elseif ($size["mime"] == "image/jpeg"      // Допустимые типы файлов
		&& $size[0] >= $min_width         // Минимальная ширина
		&& $size[1] >= $min_height         // Минимальная высота
	)
	{
		// Рисунок удовлетворяет базовым требованиям
	}
	else
	{
		// Рисунок не удовлетворяет
		if ($size["mime"] != "image/jpeg")
		{
			$errors[] = "FILETYPE";
		}
		else
		{
			if ($size["0"] < $min_width)
				$errors[] = "MIN_WIDTH";

			if ($size["1"])
				$errors[] = "MIN_HEIGHT";
		}
	}
      
	// Ошибка. Генерируем исключения.
	if (!empty($errors))
	{
		foreach ($errors as $error_code)
		{
			switch ($error_code)
			{
				case "FILETYPE":
					$e->AddMessage(array("text" => "Недопустимый тип файла. Принимаются только файлы в формате JPEG."));
					break;

				case "MIN_WIDTH":
					$min_width = COption::GetOptionString("vidiclub", "min_width", "500");
					$e->AddMessage(array("text" => "Ширина фотографии должна быть больше чем ".$min_width." пикселей."));
					break;

				case "MIN_HEIGHT":
					$min_height = COption::GetOptionString("vidiclub", "min_height", "500");
					$e->AddMessage(array("text" => "Высота фотографии должна быть больше чем ".$min_height." пикселей."));
					break;
				case "NO_FILE":
					$e->AddMessage(array("text" => "Вы забыли приложить фотографию."));
					break;
				default:
					$e->AddMessage(array("text" => "Неизвестная ошибка. Обратитесь к разработчику."));
					break;
			}
		}
		return $e;
	}
	else 
		return true;
   }


© «Битрикс», 2001-2024, «1С-Битрикс», 2024