aboutsummaryrefslogtreecommitdiff
path: root/public/js/form.js
blob: 4be83c6c8acf415daf9f046340d6f0cb5c69c481 (plain)
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
//function sendMessage(){}

// modif des paramètres d'e-mail: e-mail source/dest, mot de passe, serveur smtp & chiffrement tls/ssl
function setEmailParam(what_param, id){
	const value = document.getElementById(what_param + '_' + id).value;
    const hidden = document.getElementById(what_param + '_hidden_' + id).value;

	fetch('index.php?action=set_email_param', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({ id: id, what_param: what_param, value: value, hidden: hidden })
    })
    .then(response => response.json())
    .then(data => {
        if(data.success){
        	toastNotify(what_param + ' a été modifié(e)');
        }
        else{
            console.error("Erreur rencontrée à l'enregistrement de cette donnée en base de données");
            toastNotify("Erreur rencontrée à l'enregistrement de cette donnée en base de données");
        }
    })
    .catch(error => {
        console.error('Erreur:', error);
        toastNotify('Erreur:', error);
    });
}

function checkCase(){
    if(document.getElementById('email_address').value.match('[A-Z]')){
        toastNotify("Votre e-mail comporte une lettre majuscule, il s'agit probablement d'une erreur.");
    }
}

function sendTestEmail(id){
    //const admin_form = document.querySelector('.admin_form');
    const test_email_success = document.querySelector('.test_email_success_' + id);
    test_email_success.innerHTML = 'Envoi en cours, veuillez patienter';
    test_email_success.style.backgroundColor = 'yellow';

    fetch('index.php?action=test_email', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({ id: id})
    })
    .then(response => response.json())
    .then(data => {
        let message;
        let color;
        if(data.success){
            message = 'E-mail de test envoyé avec succès';
            color = 'chartreuse';
        }
        else{
            message = "Erreur à l'envoi de l'e-mail, vérifiez la configuration du serveur";
            color = "orangered"
        }
        test_email_success.innerHTML = message;
        toastNotify(message);
        test_email_success.style.backgroundColor = color;
    })
    .catch(error => {
        console.error('Erreur:', error);
    });
}

function sendVisitorEmail(id){
    const email_name = document.getElementById('email_name_' + id).value;
    const email_address = document.getElementById('email_address_' + id).value;
    const email_message = document.getElementById('email_message_' + id).value;
    const email_captcha = document.getElementById('email_captcha_' + id).value;
    const email_hidden = document.getElementById('email_hidden_' + id).value;
    const send_email_success = document.querySelector('.send_email_success_' + id);

    if(email_name === '' || email_address === '' || email_message === '' || email_captcha === ''){
        toastNotify('Veuillez remplir tous les champs.');
        return;
    }
    else{
        send_email_success.innerHTML = 'Envoi en cours, veuillez patienter';
        send_email_success.style.backgroundColor = 'yellow';
    }

    fetch('index.php?action=send_email', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({
            name: email_name,
            email: email_address,
            message: email_message,
            captcha: email_captcha,
            hidden: email_hidden,
            id: id
        })
    })
    .then(response => response.json())
    .then(data => {
        let message;
        let color;
        if(data.success){
            message = 'Votre e-mail a été envoyé!';
            color = 'lawngreen';
        }
        else{
            message = "Votre message n'a pas pu être envoyé, votre e-mail ou le captcha ne sont peut-être pas corrects";
            color = "orangered"
        }
        send_email_success.innerHTML = message;
        send_email_success.style.backgroundColor = color;
        toastNotify(message);
    })
    .catch(error => {
        console.error('Erreur:', error);
    });
}