*/ if (_DEBUG_) { error_reporting(E_ALL | E_STRICT); } if (!_TRAVIS_) { // Gestion des exceptions de l'application function exception_handler($exception) { /* @var $exception Exception */ if (_DEBUG_) { echo '
'; print_r($exception->getMessage()); echo ''; } else { echo 'Une erreur a été rencontrée'; } /** * Envoi d'un mail avec le détail de l'erreur à l'administrateur */ // Adresse expediteur $headers = 'From: ' . _ADMINISTRATEUR_EMAIL_ . "\n"; // Adresse de retour $headers .= 'Reply-To: ' . _ADMINISTRATEUR_EMAIL_ . "\n"; // Agent mail $headers .= 'X-Mailer: ' . _SITE_NAME_ . ' script at ' . _URL_ . "\n"; // Date $headers .= 'Date: ' . date('D, j M Y H:i:s +0200') . "\n"; $message = $exception->getMessage() . "\r\n" . $exception->getTraceAsString(); $message .= "\r\nURL : " . $_SERVER['REQUEST_URI']; if (isset($_SERVER['HTTP_REFERER'])) { $message .= "\r\nHTTP REFERER : " . $_SERVER['HTTP_REFERER']; } $message .= "\r\nHTTP USER AGENT : " . $_SERVER['HTTP_USER_AGENT']; $message .= "\r\nREMOTE ADDR : " . $_SERVER['REMOTE_ADDR']; mail(_ADMINISTRATEUR_EMAIL_, '[' . _URL_ . '] Erreur rencontrée', $message, $headers); } set_exception_handler('exception_handler'); } // Répertoires define('_REPERTOIRE_IMAGE_', 'files/'); define('_REPERTOIRE_MINIATURE_', _REPERTOIRE_IMAGE_ . 'thumbs/'); define('_REPERTOIRE_ADMIN_', 'admin/'); define('_REPERTOIRE_MEMBRE_', 'membre/'); // URL define('_URL_', 'http://' . _BASE_URL_); define('_URL_HTTPS_', 'https://' . _BASE_URL_); define('_URL_SANS_SCHEME_', '//' . _BASE_URL_); define('_URL_ADMIN_', _URL_HTTPS_ . _REPERTOIRE_ADMIN_); define('_URL_MEMBRE_', _URL_HTTPS_ . _REPERTOIRE_MEMBRE_); define('_URL_IMAGES_', _URL_ . _REPERTOIRE_IMAGE_); define('_URL_MINIATURES_', _URL_ . _REPERTOIRE_MINIATURE_); // Système de fichiers define('_PATH_IMAGES_', _PATH_ . _REPERTOIRE_IMAGE_); define('_PATH_MINIATURES_', _PATH_ . _REPERTOIRE_MINIATURE_); define('_PATH_ADMIN_', _PATH_ . _REPERTOIRE_ADMIN_); define('_PATH_TESTS_IMAGES_', _PATH_ . '__tests/images/'); define('_PATH_TESTS_OUTPUT_', _PATH_ . '__tests/output/'); define('_TPL_TOP_', _PATH_ . 'template/templateV2Top.php'); define('_TPL_BOTTOM_', _PATH_ . 'template/templateV2Bottom.php'); // Fonction de chargement des classes en cas de besoin spl_autoload_register(function ($class) { // Code pour TRAVIS $charger = TRUE; // Code spécifique Travis : pas de chargement des classes de PHPUnit if (_TRAVIS_ && (strpos($class, "PHPUnit") !== FALSE || strpos($class, "Composer") !== FALSE)) { $charger = FALSE; } if ($charger) { require _PATH_ . 'classes/' . $class . '.class.php'; } }); // Gestion de la mémoire define('_FUDGE_FACTOR_', 1.8); define('_IMAGE_DIMENSION_MAX_', outils::getMaxDimension()); // Images spécifiques define('_IMAGE_404_', '_image_404.png'); define('_IMAGE_BAN_', '_image_banned.png');
'; print_r($exception->getTraceAsString()); echo '