2016-02-04 20:15:43 +00:00
|
|
|
|
<?php
|
|
|
|
|
|
2016-07-02 15:10:41 +00:00
|
|
|
|
|
2016-10-18 17:09:47 +00:00
|
|
|
|
namespace error\core;
|
2016-02-04 20:15:43 +00:00
|
|
|
|
|
|
|
|
|
|
2016-10-18 17:09:47 +00:00
|
|
|
|
class Error{
|
2016-02-04 20:15:43 +00:00
|
|
|
|
|
|
|
|
|
/* SUCCESS */
|
2016-02-04 22:45:03 +00:00
|
|
|
|
const Success = 0;
|
2016-02-04 20:15:43 +00:00
|
|
|
|
|
|
|
|
|
/* Parsage json */
|
2016-02-04 22:45:03 +00:00
|
|
|
|
const ParsingFailed = 1;
|
2016-02-04 20:15:43 +00:00
|
|
|
|
|
|
|
|
|
/* ResourceDispatcher */
|
|
|
|
|
|
|
|
|
|
// Drapeaux invalides
|
2016-02-04 22:45:03 +00:00
|
|
|
|
const InvalidFlags = 2;
|
2016-02-04 20:15:43 +00:00
|
|
|
|
|
|
|
|
|
// Fichier inexistant
|
2016-02-04 22:45:03 +00:00
|
|
|
|
const UnreachableResource = 3;
|
2016-02-04 20:15:43 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* ModuleRequest */
|
|
|
|
|
|
2016-07-06 09:10:21 +00:00
|
|
|
|
// Le module n'est pas activé
|
|
|
|
|
const DisabledModule = 4;
|
|
|
|
|
|
2016-02-04 20:15:43 +00:00
|
|
|
|
// Le @path n'est pas renseigne
|
2016-07-06 09:10:21 +00:00
|
|
|
|
const MissingPath = 5;
|
2016-02-04 20:15:43 +00:00
|
|
|
|
|
|
|
|
|
// Verification de la coherence du chemin (existe dans la conf)
|
2016-07-06 09:10:21 +00:00
|
|
|
|
const WrongPathModule = 6;
|
2016-02-04 20:15:43 +00:00
|
|
|
|
|
|
|
|
|
// Module non specifie dans la conf
|
2016-07-06 09:10:21 +00:00
|
|
|
|
const UnknownModule = 7;
|
2016-02-04 20:15:43 +00:00
|
|
|
|
|
|
|
|
|
// Methode non specifie pour ce Module dans la conf
|
2016-07-06 09:10:21 +00:00
|
|
|
|
const UnknownMethod = 8;
|
2016-02-04 20:15:43 +00:00
|
|
|
|
|
|
|
|
|
// Methode inamorcable
|
2016-07-06 09:10:21 +00:00
|
|
|
|
const UncallableMethod = 9;
|
2016-02-11 09:34:26 +00:00
|
|
|
|
|
2016-02-12 23:04:00 +00:00
|
|
|
|
// Erreur de parametre(s)
|
2016-07-06 09:10:21 +00:00
|
|
|
|
const ParamError = 10;
|
2016-02-12 23:04:00 +00:00
|
|
|
|
|
2016-02-13 16:28:28 +00:00
|
|
|
|
// Erreur dans le traitement
|
2016-07-06 09:10:21 +00:00
|
|
|
|
const ModuleError = 11;
|
2016-02-13 16:28:28 +00:00
|
|
|
|
|
2016-02-11 09:34:26 +00:00
|
|
|
|
/* Repo */
|
|
|
|
|
|
|
|
|
|
// Verification de la coherence du chemin (existe dans la conf)
|
2016-07-06 09:10:21 +00:00
|
|
|
|
const WrongPathRepo = 12;
|
2016-02-04 22:45:03 +00:00
|
|
|
|
|
2016-02-11 09:34:26 +00:00
|
|
|
|
// Module non specifie dans la conf
|
2016-07-06 09:10:21 +00:00
|
|
|
|
const UnknownRepo = 13;
|
2016-02-13 16:28:28 +00:00
|
|
|
|
|
|
|
|
|
// Erreur dans le traitement
|
2016-07-06 09:10:21 +00:00
|
|
|
|
const RepoError = 14;
|
2016-02-04 22:45:03 +00:00
|
|
|
|
|
2016-02-12 21:07:46 +00:00
|
|
|
|
/* Database */
|
|
|
|
|
|
|
|
|
|
// Erreur lors de la creation d'un objet PDO (connection)
|
2016-07-06 09:10:21 +00:00
|
|
|
|
const PDOConnection = 15;
|
2016-02-12 21:07:46 +00:00
|
|
|
|
|
2016-07-02 15:10:41 +00:00
|
|
|
|
/* API token */
|
|
|
|
|
// Token inexistant ou faux
|
2016-07-06 09:10:21 +00:00
|
|
|
|
const TokenError = 16;
|
2016-07-02 15:10:41 +00:00
|
|
|
|
|
2016-07-06 09:10:21 +00:00
|
|
|
|
const PermissionError = 17;
|
2016-07-02 15:10:41 +00:00
|
|
|
|
|
|
|
|
|
/* Erreur d'UPLOAD */
|
2016-07-06 09:10:21 +00:00
|
|
|
|
const UploadError = 18;
|
2016-07-02 15:10:41 +00:00
|
|
|
|
|
|
|
|
|
// Mauvais format de fichier
|
2016-07-06 09:10:21 +00:00
|
|
|
|
const FormatError = 19;
|
2016-07-02 15:10:41 +00:00
|
|
|
|
|
2016-07-03 12:20:42 +00:00
|
|
|
|
/* Erreur de contenu */
|
|
|
|
|
// Aucune donnée trouvée
|
2016-07-06 09:10:21 +00:00
|
|
|
|
const NoMatchFound = 20;
|
2016-07-03 12:20:42 +00:00
|
|
|
|
|
2016-07-11 15:44:18 +00:00
|
|
|
|
/* Erreur de vues */
|
|
|
|
|
// Mauvais chemin de template
|
|
|
|
|
const UnknownTemplate = 21;
|
|
|
|
|
|
2016-07-21 19:12:53 +00:00
|
|
|
|
/* Erreur de l'ORM */
|
|
|
|
|
// Table n'existe pas
|
|
|
|
|
const UnknownTable = 22;
|
|
|
|
|
|
|
|
|
|
// Pas permissions de lire le schéma
|
|
|
|
|
const NotAllowedSchema = 23;
|
|
|
|
|
|
2016-07-02 15:10:41 +00:00
|
|
|
|
/* Erreur au niveau javascript */
|
2016-07-03 12:20:42 +00:00
|
|
|
|
//const JavascriptError = 20; // -> géré en js
|
2016-07-02 15:10:41 +00:00
|
|
|
|
|
2016-02-04 22:45:03 +00:00
|
|
|
|
|
|
|
|
|
/* 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){
|
2016-07-02 15:10:41 +00:00
|
|
|
|
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;
|
2016-07-06 09:10:21 +00:00
|
|
|
|
case self::DisabledModule: return "Vous n'avez pas accès au module demandé."; break;
|
2016-07-02 15:10:41 +00:00
|
|
|
|
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;
|
2016-08-06 09:32:50 +00:00
|
|
|
|
case self::UnknownMethod: return "Le méthode n'existe pas."; break;
|
|
|
|
|
case self::UncallableMethod: return "Le méthode n'est pas amorçable."; break;
|
2016-07-02 15:10:41 +00:00
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
2016-07-03 12:20:42 +00:00
|
|
|
|
case self::NoMatchFound: return "Aucun résultat correspondant à la requête."; break;
|
|
|
|
|
|
2016-07-11 15:44:18 +00:00
|
|
|
|
case self::UnknownTemplate: return "Modèle inconnu."; break;
|
|
|
|
|
|
2016-07-08 17:33:58 +00:00
|
|
|
|
default: return "Erreur inconnue..."; break;
|
2016-02-04 22:45:03 +00:00
|
|
|
|
}
|
|
|
|
|
|
2016-02-13 16:28:28 +00:00
|
|
|
|
// Erreur inconnue
|
|
|
|
|
return null;
|
2016-02-04 22:45:03 +00:00
|
|
|
|
}
|
2016-02-04 20:15:43 +00:00
|
|
|
|
|
2016-07-02 15:10:41 +00:00
|
|
|
|
|
|
|
|
|
public static function setHttpCode($error){
|
|
|
|
|
http_response_code( $error == self::Success ? 200 : 417 );
|
|
|
|
|
}
|
|
|
|
|
|
2016-02-04 20:15:43 +00:00
|
|
|
|
}
|
|
|
|
|
|
2016-07-02 15:10:41 +00:00
|
|
|
|
?>
|