SMMP/build/error/core/Error.php

151 lines
5.1 KiB
PHP
Raw Normal View History

<?php
2016-07-02 15:10:41 +00:00
2016-10-18 17:09:47 +00:00
namespace error\core;
2016-10-18 17:09:47 +00:00
class Error{
/* SUCCESS */
const Success = 0;
/* Parsage json */
const ParsingFailed = 1;
/* ResourceDispatcher */
// Drapeaux invalides
const InvalidFlags = 2;
// Fichier inexistant
const UnreachableResource = 3;
/* ModuleRequest */
// Le module n'est pas activé
const DisabledModule = 4;
// Le @path n'est pas renseigne
const MissingPath = 5;
// Verification de la coherence du chemin (existe dans la conf)
const WrongPathModule = 6;
// Module non specifie dans la conf
const UnknownModule = 7;
// Methode non specifie pour ce Module dans la conf
const UnknownMethod = 8;
// Methode inamorcable
const UncallableMethod = 9;
// Erreur de parametre(s)
const ParamError = 10;
// Erreur dans le traitement
const ModuleError = 11;
/* Repo */
// Verification de la coherence du chemin (existe dans la conf)
const WrongPathRepo = 12;
// Module non specifie dans la conf
const UnknownRepo = 13;
// Erreur dans le traitement
const RepoError = 14;
/* Database */
// Erreur lors de la creation d'un objet PDO (connection)
const PDOConnection = 15;
2016-07-02 15:10:41 +00:00
/* API token */
// Token inexistant ou faux
const TokenError = 16;
2016-07-02 15:10:41 +00:00
const PermissionError = 17;
2016-07-02 15:10:41 +00:00
/* Erreur d'UPLOAD */
const UploadError = 18;
2016-07-02 15:10:41 +00:00
// Mauvais format de fichier
const FormatError = 19;
2016-07-02 15:10:41 +00:00
/* Erreur de contenu */
// Aucune donnée trouvée
const NoMatchFound = 20;
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 */
//const JavascriptError = 20; // -> géré en js
2016-07-02 15:10:41 +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;
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;
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;
default: return "Erreur inconnue..."; break;
}
// Erreur inconnue
return null;
}
2016-07-02 15:10:41 +00:00
public static function setHttpCode($error){
http_response_code( $error == self::Success ? 200 : 417 );
}
}
2016-07-02 15:10:41 +00:00
?>