Overview
Comment:Vérifications plus poussées à l'installation
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 5d50b2a2e9d240b8ca83fa9b5772bf7eb69b7217
User & Date: bohwaz on 2013-08-05 14:33:52
Other Links: manifest | tags
Context
2013-09-02
10:48
Arrêtons d'essayer d'être intelligents, dans 90% des cas ça merde check-in: eaeee5f5c5 user: bohwaz tags: trunk
2013-08-05
14:33
Vérifications plus poussées à l'installation check-in: 5d50b2a2e9 user: bohwaz tags: trunk
13:47
Effacer la manpage compilée check-in: e7760661d8 user: bohwaz tags: trunk
Changes

Modified src/www/admin/install.php from [e3e67a625a] to [2f10ed0fdf].

1
2
3
4
5
6
7
8
9

10
11

12
13
14
15
16
17
18
19
20
21
22
23
24







25
26

27
28




29
30


31
32




33




34




35
36

37
38




39
40
41




42
43




44




45
46
47
48
49
50
51
<?php
namespace Garradin;

/*
 * Tests : vérification que les conditions pour s'exécuter sont remplies
 */

$tests = array(
    'La version de PHP installée est inférieure à 5.3 !'

        =>  version_compare(phpversion(), '5.3', '<'),
    'L\'algorithme Blowfish de hashage de mot de passe n\'est pas présent !'

        =>  !defined('CRYPT_BLOWFISH') || !CRYPT_BLOWFISH,
    'Le module de bases de données SQLite3 n\'est pas installé !'
        =>  !class_exists('SQLite3'),
    'La librairie Template_Lite ne semble pas disponible !'
        =>  !file_exists(__DIR__ . '/../../include/libs/template_lite/class.template.php'),
    #'Dummy' => true,
);

$fail = false;

if (PHP_SAPI != 'cli' && array_sum($tests) > 0)
{
    header('Content-Type: text/html; charset=utf-8');







    echo '<pre>';
}


foreach ($tests as $desc=>$fail)




{
    if ($fail)


    {
        echo $desc . "\n";




    }




}





if ($fail)

{
    echo "\n<b>Erreur fatale :</b> Garradin a besoin que la condition mentionnée soit remplie pour s'exécuter.\n";





    if (PHP_SAPI != 'cli')
        echo '</pre>';





    exit;




}





define('GARRADIN_INSTALL_PROCESS', true);

require_once __DIR__ . '/../../include/init.php';

if (!file_exists(GARRADIN_DB_FILE))
{







|
<
>
|
<
>
|
<
<
<
<
<
<
|
<

|
|
|
>
>
>
>
>
>
>
|
|
>
|
<
>
>
>
>
|
<
>
>
|
<
>
>
>
>
|
>
>
>
>
|
>
>
>
>

<
>
|
<
>
>
>
>

<
<
>
>
>
>

<
>
>
>
>
|
>
>
>
>







1
2
3
4
5
6
7
8

9
10

11
12






13

14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

29
30
31
32
33

34
35
36

37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

52
53

54
55
56
57
58


59
60
61
62
63

64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php
namespace Garradin;

/*
 * Tests : vérification que les conditions pour s'exécuter sont remplies
 */

function test_requis($condition, $message)

{
    if ($condition)

    {
        return true;






    }


    if (PHP_SAPI != 'cli')
    {
        header('Content-Type: text/html; charset=utf-8');
        echo "<!DOCTYPE html>\n<html>\n<head>\n<title>Erreur</title>\n<meta charset=\"utf-8\" />\n";
        echo '<style type="text/css">body { font-family: sans-serif; } ';
        echo '.error { color: darkred; padding: .5em; margin: 1em; border: 3px double red; background: yellow; }</style>';
        echo "\n</head>\n<body>\n<h2>Erreur</h2>\n<h3>Le problème suivant empêche Garradin de fonctionner :</h3>\n";
        echo '<p class="error">' . htmlspecialchars($message, ENT_QUOTES, 'UTF-8') . '</p>';
        echo '<hr /><p>Pour plus d\'informations consulter ';
        echo '<a href="http://dev.kd2.org/garradin/Probl%C3%A8mes%20fr%C3%A9quents">l\'aide sur les problèmes à l\'installation</a>.</p>';
        echo "\n</body>\n</html>";
    }
    else
    {

        echo "[ERREUR] Le problème suivant empêche Garradin de fonctionner :\n";
        echo $message . "\n";
        echo "Pour plus d'informations consulter http://dev.kd2.org/garradin/Probl%C3%A8mes%20fr%C3%A9quents\n";
    }


    exit;
}


test_requis(
    version_compare(phpversion(), '5.4', '>='),
    'PHP 5.4 ou supérieur requis. PHP version ' . phpversion() . ' installée.'
);

test_requis(
    defined('CRYPT_BLOWFISH') && CRYPT_BLOWFISH,
    'L\'algorithme de hashage de mot de passe Blowfish n\'est pas présent (pas installé ou pas compilé).'
);

test_requis(
    class_exists('SQLite3'),
    'Le module de base de données SQLite3 n\'est pas disponible.'
);


$v = \SQLite3::version();


test_requis(
    version_compare($v['versionString'], '3.7.4', '>='),
    'SQLite3 version 3.7.4 ou supérieur requise. Version installée : ' . $v['versionString']
);



test_requis(
    file_exists(__DIR__ . '/../../include/libs/template_lite/class.template.php'),
    'Librairie Template_Lite non disponible.'
);


test_requis(
    file_exists(__DIR__ . '/../../cache'),
    'Le répertoire /cache n\'existe pas.'
);

test_requis(
    is_writable(__DIR__ . '/../../cache') && is_readable(__DIR__ . '/../../cache'),
    'Le répertoire /cache n\'est pas accessible en lecture/écriture.'
);

define('GARRADIN_INSTALL_PROCESS', true);

require_once __DIR__ . '/../../include/init.php';

if (!file_exists(GARRADIN_DB_FILE))
{