Exemplo n.º 1
0
    die("<p>Votre Iconito n'est pas encore install&eacute; &mdash; <a href=\"" . $path2 . "install/index.php\">Cliquez ici</a></p>");
}
// tentative de création du controlleur
try {
    $coord = new ProjectController($path . '/../project/config/copix.conf.php');
    $coord->process();
    // on gère les exceptions de type CopixCredentialException différement, elles redirigent au lieu de s'afficher, et ne génèrent pas de log
} catch (CopixCredentialException $e) {
    header('location: ' . CopixUrl::get('auth||', array('noCredential' => 1, 'auth_url_return' => _url('#'))));
    exit;
    // toutes les exceptions de Copix passeront ici, sauf CopixCredentialException
} catch (CopixException $e) {
    $extras = array('file' => $e->getFile(), 'line' => $e->getLine(), 'exception' => get_class($e));
    _log($e->getMessage(), 'errors', CopixLog::EXCEPTION, $extras);
    // si l'exception générée est dans la création du coordinateur, on ne peut pas faire un bon affichage de l'exception
    if (!isset($coord)) {
        echo $e->getMessage();
    } else {
        // on vérifie que le coordinateur arrive bien à afficher l'exception, il se peut qu'il n'y arrive pas
        try {
            $coord->showException($e);
        } catch (Exception $e2) {
            _log($e2->getMessage(), 'errors', CopixLog::EXCEPTION);
            echo $e->getMessage() . '<br/>';
            echo $e2->getMessage();
        }
    }
    // les exceptions qui ne dépendent pas de Copix
} catch (Exception $e) {
    echo $e->getMessage();
}