improve handling of image generation errors
authorDenis Ovsienko <infrastation@yandex.ru>
Tue, 6 May 2014 07:43:37 +0000 (11:43 +0400)
committerDenis Ovsienko <infrastation@yandex.ru>
Tue, 6 May 2014 07:43:37 +0000 (11:43 +0400)
commit72d3fa2f0e57dd0efded2a3a0779a88c6a744fcf
treeef53e740931b9945e669adfbfe093659c36364f4
parentc8493337219fc15e097986110ce52f76b743a2e9
improve handling of image generation errors

Adjust the code flow to make the right use of exceptions: whether there
is an image generation error, instead of deciding what to do define
exactly what happened and leave the actions up to the exception handler.

* exceptions.php: introduce RTImageError exception class, make the
  inline images constants and add new images
* index.php: make sure an image exception is always an RTImageError
* renderErrorImage(): deprecate
* renderAccessDeniedImage(): deprecate
* renderProgressBarError(): deprecate
* castRackImageException(): new function, an exception class convertor
* createTrueColorOrThrow(): new function, a PHP-GD error detector
* dispatchImageRequest(): don't do any local dispatching, convert
  exceptions to RTImageError where it makes sense
* printRackThumbImage(): use createTrueColorOrThrow()
* renderProgressBarImage(): ditto, throw only RTImageError
* renderProgressBar4Image(): ditto
wwwroot/inc/exceptions.php
wwwroot/inc/solutions.php
wwwroot/index.php