2021-12-14 18:32:47 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
2014-04-29 01:33:03 -04:00
|
|
|
|
2023-01-10 22:44:09 +00:00
|
|
|
namespace Shimmie2;
|
|
|
|
|
2009-07-19 08:38:13 +01:00
|
|
|
/**
|
2014-04-29 01:33:03 -04:00
|
|
|
* A base exception to be caught by the upper levels.
|
2009-07-19 08:38:13 +01:00
|
|
|
*/
|
2023-01-10 22:44:09 +00:00
|
|
|
class SCoreException extends \RuntimeException
|
2019-05-28 17:59:38 +01:00
|
|
|
{
|
2021-03-14 23:43:50 +00:00
|
|
|
public string $error;
|
2021-11-16 14:52:26 +00:00
|
|
|
public int $http_code = 500;
|
2020-01-26 13:19:35 +00:00
|
|
|
|
2024-01-04 22:48:56 +00:00
|
|
|
public function __construct(string $msg)
|
2019-11-11 16:43:04 +00:00
|
|
|
{
|
|
|
|
parent::__construct($msg);
|
2020-01-26 13:19:35 +00:00
|
|
|
$this->error = $msg;
|
2019-11-11 16:43:04 +00:00
|
|
|
}
|
2019-05-28 17:59:38 +01:00
|
|
|
}
|
2009-01-04 05:53:14 -08:00
|
|
|
|
2023-01-10 22:44:09 +00:00
|
|
|
class InstallerException extends \RuntimeException
|
2020-01-27 17:47:28 +00:00
|
|
|
{
|
2021-03-14 23:43:50 +00:00
|
|
|
public string $title;
|
|
|
|
public string $body;
|
|
|
|
public int $exit_code;
|
2020-01-27 17:47:28 +00:00
|
|
|
|
2021-03-14 23:43:50 +00:00
|
|
|
public function __construct(string $title, string $body, int $exit_code)
|
2020-01-27 17:47:28 +00:00
|
|
|
{
|
2020-01-27 19:37:28 +00:00
|
|
|
parent::__construct($body);
|
2020-01-27 17:47:28 +00:00
|
|
|
$this->title = $title;
|
|
|
|
$this->body = $body;
|
2021-03-14 23:43:50 +00:00
|
|
|
$this->exit_code = $exit_code;
|
2020-01-27 17:47:28 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-02-11 15:47:40 +00:00
|
|
|
class UserError extends SCoreException
|
2021-11-16 14:52:26 +00:00
|
|
|
{
|
|
|
|
public int $http_code = 400;
|
|
|
|
}
|
|
|
|
|
2024-02-11 15:47:40 +00:00
|
|
|
class ServerError extends SCoreException
|
2021-11-16 14:52:26 +00:00
|
|
|
{
|
|
|
|
public int $http_code = 500;
|
|
|
|
}
|
|
|
|
|
2009-07-19 08:38:13 +01:00
|
|
|
/**
|
2014-04-29 01:33:03 -04:00
|
|
|
* A fairly common, generic exception.
|
2009-07-19 08:38:13 +01:00
|
|
|
*/
|
2024-02-11 15:47:40 +00:00
|
|
|
class PermissionDenied extends UserError
|
2019-05-28 17:59:38 +01:00
|
|
|
{
|
2021-11-16 14:52:26 +00:00
|
|
|
public int $http_code = 403;
|
2019-05-28 17:59:38 +01:00
|
|
|
}
|
2014-04-24 19:01:47 -04:00
|
|
|
|
2024-02-11 15:47:40 +00:00
|
|
|
class ObjectNotFound extends UserError
|
2021-11-10 19:33:51 +00:00
|
|
|
{
|
2021-11-16 14:52:26 +00:00
|
|
|
public int $http_code = 404;
|
2021-11-10 19:33:51 +00:00
|
|
|
}
|
|
|
|
|
2024-02-11 15:47:40 +00:00
|
|
|
class ImageNotFound extends ObjectNotFound
|
2019-05-28 17:59:38 +01:00
|
|
|
{
|
|
|
|
}
|
2019-06-09 13:22:48 -05:00
|
|
|
|
2024-02-11 15:47:40 +00:00
|
|
|
class UserNotFound extends ObjectNotFound
|
2019-06-09 13:22:48 -05:00
|
|
|
{
|
2019-06-11 09:06:47 -05:00
|
|
|
}
|
2020-01-26 13:19:35 +00:00
|
|
|
|
2019-06-11 09:06:47 -05:00
|
|
|
/*
|
2024-02-11 15:47:40 +00:00
|
|
|
* For validate_input()
|
2019-06-11 09:06:47 -05:00
|
|
|
*/
|
2024-02-11 15:47:40 +00:00
|
|
|
class InvalidInput extends UserError
|
2019-06-11 09:06:47 -05:00
|
|
|
{
|
2024-02-11 15:47:40 +00:00
|
|
|
public int $http_code = 402;
|
2019-06-14 13:47:50 +01:00
|
|
|
}
|