Révision 3d3b31ae
Ajouté par Jocelyn Delande il y a presque 11 ans
addParams.php | ||
---|---|---|
1 | 1 |
<?php |
2 | 2 |
require_once('class/site_point.class.php'); |
3 |
?> |
|
4 | 3 |
|
5 |
<!DOCTYPE html> |
|
6 |
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> |
|
7 |
<head> |
|
8 |
<meta http-equiv="Content-type" content="text/html; charset=UTF-8"/> |
|
9 |
<link rel="stylesheet" media="screen" href="css/base.css" /> |
|
10 |
<title>Positionnerment dun panoramique</title> |
|
11 |
|
|
12 |
<?php |
|
13 | 4 |
// tableau de vérification de conformité |
14 |
$params = array('title' => array('name' => 'titre',
|
|
5 |
$params = array('title' => array('name' => 'titre', |
|
15 | 6 |
'pattern' => '^.{1,50}$', |
16 | 7 |
'required' => true), |
17 | 8 |
'latitude' => array('name' => 'latitude', |
... | ... | |
31 | 22 |
'loop' => array('name' => 'image_loop', |
32 | 23 |
'type' => 'boolean', |
33 | 24 |
'required' => false), |
34 |
'dir' => array('required' => true), |
|
35 | 25 |
'panorama' => array('required' => true)); |
26 |
|
|
27 |
|
|
28 |
class FormValidationError extends Exception {} |
|
29 |
|
|
30 |
function ini_value($k, $v, $params_format) { |
|
31 |
/** According to the $params global reference table, format the value for |
|
32 |
storing in an ini file and returns it. |
|
33 |
*/ |
|
34 |
if (isset($params_format[$k]['type']) && $params_format[$k]['type'] == 'numeric') { |
|
35 |
$ini_val = $v; |
|
36 |
} else if (isset($params_format[$k]['type']) && $params_format[$k]['type'] == 'boolean') { |
|
37 |
$ini_val = $v ? "true" : "false"; |
|
38 |
} else { //string |
|
39 |
$ini_val = "\"$v\""; |
|
40 |
} |
|
41 |
return $ini_val; |
|
42 |
} |
|
43 |
|
|
44 |
function is_ini_key($k, $params_format) { |
|
45 |
/** Do we need to store that information in the params ini file ? |
|
46 |
*/ |
|
47 |
return isset($params_format[$k]['name']); |
|
48 |
} |
|
49 |
|
|
50 |
function ini_key($k, $params_format) { |
|
51 |
/** For a given form key, returns the key for ini file |
|
52 |
*/ |
|
53 |
if (isset($params_format[$k]['name'])) { |
|
54 |
return $params_format[$k]['name']; |
|
55 |
} else { |
|
56 |
throw (new FormValidationError('"'.$k.'" is an unknown key.')); |
|
57 |
} |
|
58 |
} |
|
59 |
|
|
36 | 60 |
$wrong = array(); |
37 | 61 |
$values = array(); |
38 | 62 |
// vérification de la conformité |
... | ... | |
48 | 72 |
$wrong[$param] = '<em>$tst</em> est un paramètre manquant'; |
49 | 73 |
} |
50 | 74 |
} |
75 |
?> |
|
76 |
<!DOCTYPE html> |
|
77 |
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> |
|
78 |
<head> |
|
79 |
<meta http-equiv="Content-type" content="text/html; charset=UTF-8"/> |
|
80 |
<link rel="stylesheet" media="screen" href="css/base.css" /> |
|
81 |
<title>Positionnerment dun panoramique</title> |
|
51 | 82 |
|
52 |
|
|
83 |
<?php |
|
53 | 84 |
if (count($wrong) == 0) { |
54 |
$pano = site_point::get($values['panorama']);
|
|
85 |
$pano = site_point::get($values['panorama']);
|
|
55 | 86 |
|
56 | 87 |
// On vérifie qu'on a bien créée un nouveau fichier .params et on écrit dedans. |
57 |
echo '<p>Les valeurs suivantes sont utilisées.</p>'."\n"; |
|
58 |
echo "<dl>\n"; |
|
59 |
foreach ($values as $k => $v) { |
|
60 |
if (isset($params[$k]['name'])) { |
|
61 |
$nm = $params[$k]['name']; |
|
62 |
if (isset($params[$k]['type']) && $params[$k]['type'] == 'numeric') { |
|
63 |
$vf = $v; |
|
64 |
} else if (isset($params[$k]['type']) && $params[$k]['type'] == 'boolean') { |
|
65 |
$vf = $v ? "true" : "false"; |
|
66 |
} else { |
|
67 |
$vf = "\"$v\""; |
|
68 |
} |
|
69 |
$pano->set_param($nm, $vf); |
|
70 |
printf("<dt>%s</dt>\n<dd>%s</dd>\n", $nm, $vf); |
|
71 |
} |
|
72 |
} |
|
73 |
$pano->save_params(); |
|
88 |
echo '<p>Les valeurs suivantes sont utilisées.</p>'."\n"; |
|
89 |
echo "<dl>\n"; |
|
74 | 90 |
|
75 |
echo "</dl>\n"; |
|
76 |
echo '<p class="succes">Paramétrage terminé.</p>'."\n"; |
|
77 |
printf('<a href="%s">Retour au panorama</a></p>'."\n", $panorama->get_url()); |
|
91 |
foreach ($values as $k => $v) { |
|
92 |
if (is_ini_key($k, $params)) { |
|
93 |
$storable_key = ini_key($k, $params); |
|
94 |
$storable_val = ini_value($k, $v, $params); |
|
95 |
|
|
96 |
$pano->set_param($storable_key, $storable_val); |
|
97 |
printf("<dt>%s</dt>\n<dd>%s</dd>\n", $storable_key, $storable_val); |
|
98 |
} |
|
99 |
} |
|
100 |
$pano->save_params(); |
|
101 |
|
|
102 |
echo "</dl>\n"; |
|
103 |
echo '<p class="succes">Paramétrage terminé.</p>'."\n"; |
|
104 |
printf('<a href="%s">Retour au panorama</a></p>'."\n", $pano->get_url()); |
|
78 | 105 |
|
79 | 106 |
|
80 | 107 |
} else { |
Formats disponibles : Unified diff
Moved some treatements to functions for better understanding.