Differences From Artifact [9db92f2caf]:

To Artifact [6f62adaff8]:


1
2
3
4
5
6
7
8
9


10
11
12
13
14
15
16
<?php

require_once __DIR__ . '/../_inc.php';

if ($user['droits']['config'] < Garradin_Membres::DROIT_ADMIN)
{
    throw new UserException("Vous n'avez pas le droit d'accéder à cette page.");
}



$error = false;

if (isset($_GET['ok']))
{
    $error = 'OK';
}










>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php

require_once __DIR__ . '/../_inc.php';

if ($user['droits']['config'] < Garradin_Membres::DROIT_ADMIN)
{
    throw new UserException("Vous n'avez pas le droit d'accéder à cette page.");
}

require_once GARRADIN_ROOT . '/include/class.squelette.php';

$error = false;

if (isset($_GET['ok']))
{
    $error = 'OK';
}

32
33
34
35
36
37
38






































39
40
41
42
43
        }
        catch (UserException $e)
        {
            $error = $e->getMessage();
        }
    }
}







































$tpl->assign('error', $error);
$tpl->display('admin/config/site.tpl');

?>







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>





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
80
81
82
83
        }
        catch (UserException $e)
        {
            $error = $e->getMessage();
        }
    }
}

if (utils::get('edit'))
{
    $source = Squelette::getSource(utils::get('edit'));

    if (!$source)
    {
        throw new UserException("Ce squelette n'existe pas.");
    }

    $csrf_key = 'edit_skel_'.md5(utils::get('edit'));

    if (utils::post('save'))
    {
        if (!utils::CSRF_check($csrf_key))
        {
            $error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
        }
        else
        {
            if (Squelette::editSource(utils::get('edit'), utils::post('content')))
            {
                utils::redirect('/admin/config/site.php?edit='.rawurlencode(utils::get('edit')).'&ok');
            }
            else
            {
                $error = "Impossible d'enregistrer le squelette.";
            }
        }
    }

    $tpl->assign('edit', array('file' => trim(utils::get('edit')), 'content' => $source));
    $tpl->assign('csrf_key', $csrf_key);
}
else
{
    $tpl->assign('sources', Squelette::listSources());
}

$tpl->assign('error', $error);
$tpl->display('admin/config/site.tpl');

?>