| Line 8... |
Line 8... |
| 8 |
<body>
|
8 |
<body>
|
| 9 |
<div id="ldoverlay" class="overlay">
|
9 |
<div id="ldoverlay" class="overlay">
|
| 10 |
<div class="lds-spinner" id="spinner"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div>
|
10 |
<div class="lds-spinner" id="spinner"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div>
|
| 11 |
</div>
|
11 |
</div>
|
| 12 |
<?php
|
12 |
<?php
|
| - |
|
13 |
# Configuration
|
| - |
|
14 |
$max_file_size = 100000; // 100 Ko
|
| - |
|
15 |
$allowed_types = ['image/png'];
|
| - |
|
16 |
$upload_dir = $_SERVER['DOCUMENT_ROOT']."/images/";
|
| - |
|
17 |
$target_file = $upload_dir . 'organisme.png';
|
| - |
|
18 |
|
| 13 |
# Choice of language
|
19 |
# Choice of language
|
| 14 |
$Language = 'en';
|
- |
|
| 15 |
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
|
- |
|
| 16 |
$Langue = explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']);
|
20 |
$language = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'] ?? 'en', 0, 2);
|
| 17 |
$Language = strtolower(substr(chop($Langue[0]),0,2)); }
|
21 |
$messages = [
|
| 18 |
if($Language == 'fr') {
|
22 |
'fr' => [
|
| 19 |
$l_title = "Personnalisation du logo";
|
23 |
'l_title' => "Personnalisation du logo",
|
| 20 |
$l_current_logo = "Logo actuel";
|
24 |
'l_current_logo' => "Logo actuel",
|
| 21 |
$l_logo_select ="Sélectionnez un nouveau logo";
|
25 |
'l_logo_select' => "Sélectionnez un nouveau logo (fichier au format 'PNG' de taille inférieure à 100Ko) :",
|
| 22 |
$l_logo_help1 = "votre logo doit être un fichier au format 'PNG'";
|
26 |
'l_error_type' => "Le fichier doit être une image PNG valide.",
|
| 23 |
$l_logo_help2 = "la taille de ce fichier doit être inférieure à 100KO";
|
27 |
'l_error_size' => "Le fichier dépasse la taille maximale autorisée (100 Ko).",
|
| - |
|
28 |
'l_error_upload' => "Une erreur est survenue lors du téléchargement.",
|
| - |
|
29 |
'l_success' => "Votre logo a été mis à jour.",
|
| 24 |
$l_logo_help3 = "rafraîchissez les pages de votre navigateur pour voir le résultat";
|
30 |
'l_logo_refresh' => "Rafraîchissez la page de votre navigateur pour voir le résultat (CTRL+F5).",
|
| 25 |
} else if ($Language === 'es') {
|
31 |
'l_send' => "Envoyer"
|
| - |
|
32 |
],
|
| - |
|
33 |
'es' => [
|
| 26 |
$l_title = "Personalización del logo";
|
34 |
'l_title' => "Personalización del logo",
|
| 27 |
$l_current_logo = "Logo actual";
|
35 |
'l_current_logo' => "Logo actual",
|
| 28 |
$l_logo_select ="Seleccione un nuevo logo";
|
36 |
'l_logo_select' => "Seleccione un nuevo logotipo (archivo en formato «PNG» con un tamaño inferior a 100 KB) :",
|
| 29 |
$l_logo_help1 = "su logo debe ser un archivo 'PNG'.";
|
37 |
'l_error_type' => "El archivo debe ser una imagen PNG válida.",
|
| 30 |
$l_logo_help2 = "el tamaño de este archivo debe ser inferior a 100KO";
|
38 |
'l_error_size' => "El archivo supera el tamaño máximo permitido (100 KB).",
|
| - |
|
39 |
'l_error_upload' => "Se ha producido un error durante la descarga.",
|
| - |
|
40 |
'l_success' => "Se ha actualizado su logotipo.",
|
| 31 |
$l_logo_help3 = "refresque las páginas de su navegador para ver el resultado";
|
41 |
'l_logo_refresh' => "Actualice la página de su navegador para ver el resultado (CTRL+F5).",
|
| - |
|
42 |
'l_send' => "Enviar"
|
| - |
|
43 |
],
|
| 32 |
} else {
|
44 |
'en' => [
|
| 33 |
$l_title = "Customizing the logo";
|
45 |
'l_title' => "Customizing the logo",
|
| 34 |
$l_current_logo = "Current logo";
|
46 |
'l_current_logo' => "Current logo",
|
| 35 |
$l_logo_select ="Select a new logo";
|
47 |
'l_logo_select' => "Select a new logo (file in ‘PNG’ format, less than 100 KB in size) :",
|
| 36 |
$l_logo_help1 = "your logo must be in 'PNG' format";
|
48 |
'l_error_type' => "The file must be a valid PNG image.",
|
| 37 |
$l_logo_help2 = "the file size must be less than 100KB";
|
49 |
'l_error_size' => "The file exceeds the maximum allowed size (100 KB).",
|
| - |
|
50 |
'l_error_upload' => "An error occurred during the download.",
|
| - |
|
51 |
'l_success' => "Your logo has been updated.",
|
| 38 |
$l_logo_help3 = "refresh your browser in order to see the result";
|
52 |
'l_logo_refresh' => "Refresh your browser page to see the result (CTRL+F5).",
|
| - |
|
53 |
'l_send' => "Send"
|
| - |
|
54 |
]
|
| 39 |
}
|
55 |
];
|
| - |
|
56 |
$lang = $messages[$language] ?? $messages['en'];
|
| 40 |
|
57 |
|
| - |
|
58 |
# Logo download management
|
| 41 |
if(isset($_FILES['logo']))
|
59 |
if(isset($_FILES['logo'])) {
|
| 42 |
{
|
- |
|
| 43 |
unset($result);
|
60 |
$result = null;
|
| 44 |
$taille_max = 100000;
|
61 |
$file = $_FILES['logo'];
|
| 45 |
$destination = '/var/www/html/images/organisme.png';
|
62 |
$finfo = finfo_open(FILEINFO_MIME_TYPE);
|
| 46 |
$extension = strstr($_FILES['logo']['name'], '.');
|
63 |
$mime = finfo_file($finfo, $file['tmp_name']);
|
| 47 |
if ($extension != '.png')
|
64 |
finfo_close($finfo);
|
| 48 |
{
|
65 |
// Download error
|
| - |
|
66 |
if ($file['error'] !== UPLOAD_ERR_OK) {
|
| 49 |
$result = $l_logo_help1;
|
67 |
$result = $lang['l_error_upload']; }
|
| 50 |
}
|
68 |
// MIME type check
|
| 51 |
elseif (file_exists($_FILES['logo']['tmp_name']) and filesize($_FILES['logo']['tmp_name']) > $taille_max)
|
69 |
elseif (!in_array($file['type'], $allowed_types)) {
|
| - |
|
70 |
$result = $lang['l_error_type']; }
|
| - |
|
71 |
elseif (!in_array($mime, $allowed_types)) {
|
| - |
|
72 |
$result = $lang['l_error_type']; }
|
| 52 |
{
|
73 |
// Size check
|
| - |
|
74 |
elseif ($file['size'] > $max_file_size) {
|
| 53 |
$result = $l_logo_help2;
|
75 |
$result = $lang['l_error_size']; }
|
| 54 |
}
|
76 |
// PNG consistent check
|
| 55 |
if (!isset($result))
|
77 |
elseif (!getimagesize($file['tmp_name'])) {
|
| - |
|
78 |
$result = $lang['l_error_type']; }
|
| 56 |
{
|
79 |
// ok : move it
|
| 57 |
move_uploaded_file($_FILES['logo']['tmp_name'], $destination);
|
80 |
elseif (!move_uploaded_file($file['tmp_name'], $target_file)) {
|
| - |
|
81 |
$result = $lang['l_error_upload']; }
|
| 58 |
}
|
82 |
else {
|
| - |
|
83 |
$result = $lang['l_success'];}
|
| 59 |
}
|
84 |
}
|
| 60 |
?>
|
85 |
?>
|
| 61 |
<div class="panel">
|
86 |
<div class="panel">
|
| 62 |
<div class="panel-header"><?= $l_title ?></div>
|
87 |
<div class="panel-header"><?= $lang['l_title'] ?></div>
|
| 63 |
<div class="panel-row">
|
88 |
<div class="panel-row">
|
| 64 |
<table width="100%" border=0 cellspacing=0 cellpadding=1>
|
89 |
<table width="100%" border=0 cellspacing=0 cellpadding=1>
|
| 65 |
<tr><td>
|
90 |
<tr><td>
|
| 66 |
<table width="100%" border=0 cellspacing=0 cellpadding=2>
|
91 |
<table width="100%" border=0 cellspacing=0 cellpadding=2>
|
| 67 |
<tr><td valign="middle" align="left">
|
92 |
<tr><td valign="middle" align="left">
|
| 68 |
<center><H3><? echo "$l_current_logo";?> : <img src="/images/organisme.png" width="90"></H3></center><BR>
|
93 |
<center><H3><?= $lang['l_current_logo'] ?><img src="/images/organisme.png" width="90"></H3></center><BR>
|
| 69 |
<? echo "$l_logo_select";?> :
|
94 |
<?= $lang['l_logo_select'] ?>
|
| 70 |
<form action="logo.php" method=POST ENCTYPE="multipart/form-data">
|
95 |
<form action="logo.php" method="POST" ENCTYPE="multipart/form-data">
|
| 71 |
<input type="file" name="logo">
|
96 |
<input type="file" name="logo">
|
| 72 |
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
|
97 |
<input type="hidden" name="MAX_FILE_SIZE" value="<?= $max_file_size ?>">
|
| 73 |
<input type="submit" onClick="document.getElementById('ldoverlay').style.display='block';" value="Envoyer">
|
98 |
<input type="submit" onClick="document.getElementById('ldoverlay').style.display='block';" value="<?= $lang['l_send'] ?>">
|
| 74 |
</form>
|
99 |
</form>
|
| 75 |
<?php
|
100 |
<?php
|
| 76 |
if (isset($result)){
|
101 |
if (isset($result)){
|
| 77 |
echo '<H3>'; echo $result; echo '</H3><BR>';
|
102 |
echo "<H3>".$result."</H3>";
|
| - |
|
103 |
echo "<H3>".$lang['l_logo_refresh']."</H3>";
|
| - |
|
104 |
}
|
| 78 |
} ?>
|
105 |
?>
|
| 79 |
<? echo "- $l_logo_help1<br>";?>
|
- |
|
| 80 |
<? echo "- $l_logo_help2<br>";?>
|
- |
|
| 81 |
<? echo "- $l_logo_help3";?>
|
- |
|
| 82 |
</td></tr>
|
106 |
</td></tr>
|
| 83 |
</table>
|
107 |
</table>
|
| 84 |
</td></tr>
|
108 |
</td></tr>
|
| 85 |
</table>
|
109 |
</table>
|
| 86 |
</div>
|
110 |
</div>
|