Overview
SHA1:780a9c9c43e5fe4f6a338aea0075c7c0c78760e5
Date: 2014-04-01 15:51:01
User: bohwaz
Comment:possibilité d'avoir les erreurs par email, et toujours loguer les erreurs
Timelines: family | ancestors | descendants | both | trunk
Downloads: Tarball | ZIP archive
Other Links: files | file ages | folders | manifest
Tags And Properties
Context
2014-04-01
15:53
[5784129344] ne pas nettoyer la table si le champ identifiant n'est pas encore déterminé (user: bohwaz, tags: trunk)
15:51
[780a9c9c43] possibilité d'avoir les erreurs par email, et toujours loguer les erreurs (user: bohwaz, tags: trunk)
15:37
[72a3a0a5fe] Déplacement (user: bohwaz, tags: trunk)
Changes

Modified src/config.dist.php from [2bb62bda6d] to [407def399a].

39
40
41
42
43
44
45







46
47
48
49
50
51
52
53
const PLUGINS_ROOT = DATA_ROOT . '/plugins';

// Affichage des erreurs
// Si "true" alors un message expliquant l'erreur et comment rapporter le bug s'affiche
// en cas d'erreur. Sinon rien ne sera affiché.
// Défaut : true
const SHOW_ERRORS = true;








// Utilisation de cron pour les tâches automatiques
// Si "true" on s'attend à ce qu'une tâche automatisée appelle
// le script cron.php à la racine toutes les 24 heures. Sinon Garradin
// effectuera les actions automatiques quand quelqu'un se connecte à 
// l'administration ou visite le site.
// Défaut : false
const USE_CRON = false;







>
>
>
>
>
>
>








39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
const PLUGINS_ROOT = DATA_ROOT . '/plugins';

// Affichage des erreurs
// Si "true" alors un message expliquant l'erreur et comment rapporter le bug s'affiche
// en cas d'erreur. Sinon rien ne sera affiché.
// Défaut : true
const SHOW_ERRORS = true;

// Envoi des erreurs par e-mail
// Si rempli, un email sera envoyé à l'adresse indiquée à chaque fois qu'une erreur
// d'exécution sera rencontrée.
// Si "false" alors aucun email ne sera envoyé
// Note : les erreurs sont déjà toutes loguées dans error.log à la racine de DATA_ROOT
const MAIL_ERRORS = false;

// Utilisation de cron pour les tâches automatiques
// Si "true" on s'attend à ce qu'une tâche automatisée appelle
// le script cron.php à la racine toutes les 24 heures. Sinon Garradin
// effectuera les actions automatiques quand quelqu'un se connecte à 
// l'administration ou visite le site.
// Défaut : false
const USE_CRON = false;

Modified src/include/init.php from [489f54a69f] to [6e363a5c56].

96
97
98
99
100
101
102





103
104
105
106
107
108
109
...
123
124
125
126
127
128
129



130
131
132
133
134
135
136
137
138
139
140
141
...
200
201
202
203
204
205
206

207





208
209
210
211
212
213
214
215
216
217



218
219
220
221
222
223
224
225


226
227
228
229
230
231
232
233
}

// Affichage des erreurs par défaut
if (!defined('Garradin\SHOW_ERRORS'))
{
    define('Garradin\SHOW_ERRORS', true);
}






// Utilisation de cron pour les tâches automatiques
if (!defined('Garradin\USE_CRON'))
{
    define('Garradin\USE_CRON', false);
}

................................................................................
    }
    else
    {
        ini_set('date.timezone', 'Europe/Paris');
    }
}




if (SHOW_ERRORS)
{
    // Gestion par défaut des erreurs
    ini_set('error_log', DATA_ROOT . '/error.log');
    ini_set('log_errors', true);
    ini_set('display_errors', true);
    ini_set('html_errors', false);

    if (PHP_SAPI != 'cli')
    {
        ini_set('error_prepend_string', '<!DOCTYPE html><meta charset="utf-8" /><style type="text/css">body { font-family: sans-serif; } h3 { color: darkred; } 
            pre { text-shadow: 2px 2px 5px black; color: darkgreen; font-size: 2em; float: left; margin: 0 1em 0 0; padding: 1em; background: #cfc; border-radius: 50px; }</style>
................................................................................
        if (is_array($value))
            $value = json_encode($value);

        $error .= $key . ': ' . $value . "\n";
    }
    
    $error = str_replace("\r", '', $error);

    





    if (PHP_SAPI == 'cli')
    {
        echo $error;
    }
    elseif (SHOW_ERRORS)
    {
        echo '<!DOCTYPE html><meta charset="utf-8" /><style type="text/css">body { font-family: sans-serif; } h3 { color: darkred; }
        pre { text-shadow: 2px 2px 5px black; color: darkgreen; font-size: 2em; float: left; margin: 0 1em 0 0; padding: 1em; background: #cfc; border-radius: 50px; }</style>
        <pre> \__/<br /> (xx)<br />//||\\\\</pre>
        <h1>Erreur d\'exécution</h1>



        <p>Une erreur s\'est produite à l\'exécution de Garradin. Pour rapporter ce bug
        merci d\'inclure le message suivant :</p>
        <textarea cols="70" rows="'.substr_count($error, "\n").'">'.htmlspecialchars($error, ENT_QUOTES, 'UTF-8').'</textarea>
        <hr />
        <p><a href="http://dev.kd2.org/garradin/Rapporter%20un%20bug">Comment rapporter un bug</a></p>';
    }
    else
    {



    }

    exit;
}

set_error_handler('Garradin\exception_error_handler');
set_exception_handler('Garradin\exception_handler');







>
>
>
>
>







 







>
>
>



<
<







 







>

>
>
>
>
>




|




|
>
>
>
|
|
|
|
|
|
|
|
>
>
|







96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
...
128
129
130
131
132
133
134
135
136
137
138
139
140


141
142
143
144
145
146
147
...
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
}

// Affichage des erreurs par défaut
if (!defined('Garradin\SHOW_ERRORS'))
{
    define('Garradin\SHOW_ERRORS', true);
}

if (!defined('Garradin\MAIL_ERRORS'))
{
    define('Garradin\MAIL_ERRORS', false);
}

// Utilisation de cron pour les tâches automatiques
if (!defined('Garradin\USE_CRON'))
{
    define('Garradin\USE_CRON', false);
}

................................................................................
    }
    else
    {
        ini_set('date.timezone', 'Europe/Paris');
    }
}

ini_set('error_log', DATA_ROOT . '/error.log');
ini_set('log_errors', true);

if (SHOW_ERRORS)
{
    // Gestion par défaut des erreurs


    ini_set('display_errors', true);
    ini_set('html_errors', false);

    if (PHP_SAPI != 'cli')
    {
        ini_set('error_prepend_string', '<!DOCTYPE html><meta charset="utf-8" /><style type="text/css">body { font-family: sans-serif; } h3 { color: darkred; } 
            pre { text-shadow: 2px 2px 5px black; color: darkgreen; font-size: 2em; float: left; margin: 0 1em 0 0; padding: 1em; background: #cfc; border-radius: 50px; }</style>
................................................................................
        if (is_array($value))
            $value = json_encode($value);

        $error .= $key . ': ' . $value . "\n";
    }
    
    $error = str_replace("\r", '', $error);
    error_log($error);
    
    if (MAIL_ERRORS)
    {
        mail(MAIL_ERRORS, '[Garradin] Erreur d\'exécution', $error, 'From: "' . WWW_URL . '" <noreply@no.reply>');
    }

    if (PHP_SAPI == 'cli')
    {
        echo $error;
    }
    else
    {
        echo '<!DOCTYPE html><meta charset="utf-8" /><style type="text/css">body { font-family: sans-serif; } h3 { color: darkred; }
        pre { text-shadow: 2px 2px 5px black; color: darkgreen; font-size: 2em; float: left; margin: 0 1em 0 0; padding: 1em; background: #cfc; border-radius: 50px; }</style>
        <pre> \__/<br /> (xx)<br />//||\\\\</pre>
        <h1>Erreur d\'exécution</h1>';

        if (SHOW_ERRORS)
        {
            echo '<p>Une erreur s\'est produite à l\'exécution de Garradin. Pour rapporter ce bug
            merci d\'inclure le message suivant :</p>
            <textarea cols="70" rows="'.substr_count($error, "\n").'">'.htmlspecialchars($error, ENT_QUOTES, 'UTF-8').'</textarea>
            <hr />
            <p><a href="http://dev.kd2.org/garradin/Rapporter%20un%20bug">Comment rapporter un bug</a></p>';
        }
        else
        {
            echo '<p>Une erreur s\'est produite à l\'exécution de Garradin.</p>
            <p>Le webmaster a été prévenu.</p>';
        }
    }

    exit;
}

set_error_handler('Garradin\exception_error_handler');
set_exception_handler('Garradin\exception_handler');