Subversion Repositories ALCASAR

Rev

Rev 3028 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 3028 Rev 3316
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>