128 lines
4.3 KiB
PHP
Executable File
128 lines
4.3 KiB
PHP
Executable File
<?php
|
||
|
||
|
||
namespace error\core;
|
||
|
||
|
||
class Error{
|
||
|
||
/* SUCCESS */
|
||
const Success = 0;
|
||
|
||
/* Parsage json */
|
||
const ParsingFailed = 1;
|
||
|
||
/* ResourceDispatcher */
|
||
|
||
// Drapeaux invalides
|
||
const InvalidFlags = 2;
|
||
|
||
// Fichier inexistant
|
||
const UnreachableResource = 3;
|
||
|
||
|
||
/* ModuleRequest */
|
||
|
||
// Le @path n'est pas renseigne
|
||
const MissingPath = 4;
|
||
|
||
// Verification de la coherence du chemin (existe dans la conf)
|
||
const WrongPathModule = 5;
|
||
|
||
// Module non specifie dans la conf
|
||
const UnknownModule = 6;
|
||
|
||
// Methode non specifie pour ce Module dans la conf
|
||
const UnknownMethod = 7;
|
||
|
||
// Methode inamorcable
|
||
const UncallableMethod = 8;
|
||
|
||
// Erreur de parametre(s)
|
||
const ParamError = 9;
|
||
|
||
// Erreur dans le traitement
|
||
const ModuleError = 10;
|
||
|
||
/* Repo */
|
||
|
||
// Verification de la coherence du chemin (existe dans la conf)
|
||
const WrongPathRepo = 11;
|
||
|
||
// Module non specifie dans la conf
|
||
const UnknownRepo = 12;
|
||
|
||
// Erreur dans le traitement
|
||
const RepoError = 13;
|
||
|
||
/* Database */
|
||
|
||
// Erreur lors de la creation d'un objet PDO (connection)
|
||
const PDOConnection = 14;
|
||
|
||
/* API token */
|
||
// Token inexistant ou faux
|
||
const TokenError = 15;
|
||
|
||
const PermissionError = 16;
|
||
|
||
/* Erreur d'UPLOAD */
|
||
const UploadError = 17;
|
||
|
||
// Mauvais format de fichier
|
||
const FormatError = 18;
|
||
|
||
/* Erreur au niveau javascript */
|
||
//const JavascriptError = 19; // -> géré en js
|
||
|
||
|
||
/* EXPLICITE UN CODE D'ERREUR
|
||
*
|
||
* @error<Integer> Code d'erreur
|
||
*
|
||
* @return explicit<String> Description explicite du code d'erreur
|
||
*
|
||
*/
|
||
public static function explicit($error){
|
||
switch($error){
|
||
case self::Success: return "Tout s'est bien deroulé."; break;
|
||
|
||
case self::ParsingFailed: return "La lecture du fichier JSON ou XML a echouée."; break;
|
||
|
||
case self::InvalidFlags: return "Les spécifications (drapeaux) sont incorrects."; break;
|
||
case self::UnreachableResource: return "La ressource n'existe pas (404)."; break;
|
||
case self::MissingPath: return "Le chemin de délégation n'a pas été renseigné."; break;
|
||
case self::WrongPathModule: return "Le chemin de délégation est incorrect ('nomModule/nomMethode')."; break;
|
||
case self::WrongPathRepo: return "Le chemin de délégation est incorrect ('nomRepo/nomMethode')."; break;
|
||
case self::UnknownModule: return "Le module n'existe pas."; break;
|
||
case self::UnknownRepo: return "Le repo n'existe pas."; break;
|
||
case self::UnknownMethod: return "Le methode n'existe pas."; break;
|
||
case self::UncallableMethod: return "Le methode n'est pas amorçable."; break;
|
||
|
||
case self::ParamError: return "Un ou plusieurs paramètres sont manquants ou incorrects."; break;
|
||
case self::ModuleError: return "Erreur lors du traitement du module."; break;
|
||
case self::RepoError: return "Erreur lors du traitement du repo."; break;
|
||
|
||
case self::PDOConnection: return "La connexion avec la base de données a echouée."; break;
|
||
|
||
case self::TokenError: return "Le token de connection est absent, érroné ou expiré."; break;
|
||
case self::PermissionError: return "Vous n'avez pas la permission d'effectuer cette action."; break;
|
||
case self::UploadError: return "Une erreur d'upload est survenue."; break;
|
||
case self::FormatError: return "Le fichier n'est pas au bon format."; break;
|
||
|
||
default: return "Description d'erreur inconnue..."; break;
|
||
}
|
||
|
||
// Erreur inconnue
|
||
return null;
|
||
}
|
||
|
||
|
||
public static function setHttpCode($error){
|
||
http_response_code( $error == self::Success ? 200 : 417 );
|
||
}
|
||
|
||
}
|
||
|
||
?>
|