Révision d4e538ff
Ajouté par Jocelyn Delande il y a environ 11 ans
envoyer.php | ||
---|---|---|
15 | 15 |
<link type="image/x-icon" rel="shortcut icon" href="images/tsf.png"/> |
16 | 16 |
<link rel="stylesheet" media="screen" href="css/base.css" /> |
17 | 17 |
<title>Envoi d'une image sur le serveur</title> |
18 |
<script src="js/send.js"></script> |
|
19 |
<script> |
|
20 |
window.onload = function() { |
|
21 |
link_file_to_input(document.getElementById('file'), |
|
22 |
document.getElementById('titre')); |
|
23 |
}; |
|
24 |
</script> |
|
18 | 25 |
</head> |
19 | 26 |
<body id="main_body"> |
20 | 27 |
<header> |
... | ... | |
27 | 34 |
<li> |
28 | 35 |
|
29 | 36 |
<fieldset> |
30 |
<legend>Envoyer le fichier:</legend>
|
|
37 |
<legend>Fichier image</legend>
|
|
31 | 38 |
<input type="hidden" name="APC_UPLOAD_PROGRESS" id="progress_key" |
32 | 39 |
value="panoramas"/> |
33 | 40 |
<ul> |
34 |
<li><input type="file" name="files[]" id="file" multiple="multiple"/></li> |
|
35 |
|
|
36 |
<li><input type="checkbox" name="loop" value="true">Panorama bouclant |
|
37 |
(360°)</li> |
|
38 |
</ul> |
|
39 |
<p class="help"> |
|
41 |
<li><input type="file" name="files[]" id="file" multiple="multiple"/> |
|
42 |
<p class="help"> |
|
40 | 43 |
Le fichier à envoyer doit être une image de taille maximale 300 Mo ; |
41 | 44 |
il peut s'agir d'un panorama (par exemple assemblé |
42 |
avec <a href="http://hugin.sourceforge.net/">hugin</a>), faisant 360°
|
|
43 |
ou non, ou encore d'une simple photo.
|
|
44 |
</p>
|
|
45 |
avec <a href="http://hugin.sourceforge.net/">hugin</a>), ou d'une simple photo.
|
|
46 |
</p>
|
|
47 |
</li>
|
|
45 | 48 |
|
49 |
<li> |
|
50 |
<input type="text" name="titre" id="titre" placeholder="Titre" value=""/> |
|
51 |
<p class="help">Nom d'usage, explicite sur le lieu de prise de vue </p> |
|
52 |
|
|
53 |
</li> |
|
54 |
|
|
55 |
<li><input type="checkbox" name="loop" value="true"> Panorama bouclant |
|
56 |
(360°) |
|
57 |
<p class="help">Ne sélectionner cette option que si les bords droite et gauche de l'image coïncident.</p> |
|
58 |
</li> |
|
59 |
</ul> |
|
46 | 60 |
</fieldset> |
47 | 61 |
</li> |
48 | 62 |
<li> |
genererPano.php | ||
---|---|---|
12 | 12 |
require_once 'class/site_point.class.php'; |
13 | 13 |
require_once 'class/TilesGenerator.php'; |
14 | 14 |
require_once 'constants.inc.php'; |
15 |
utils::init(); |
|
15 |
|
|
16 | 16 |
if (isset($_GET['name'])) { |
17 | 17 |
$image_path = UPLOAD_PATH.'/'.$_GET['name']; |
18 | 18 |
// We init the panorama with the same name as image. |
js/send.js | ||
---|---|---|
1 |
function link_file_to_input(file_input, text_input) { |
|
2 |
file_input.onchange = function(e) { |
|
3 |
// remove the extension, that's a good default title :-) |
|
4 |
text_input.value = e.target.value.replace(/\.[^/.]+$/, ""); |
|
5 |
}; |
|
6 |
} |
|
7 |
|
uploadReceive.php | ||
---|---|---|
39 | 39 |
|
40 | 40 |
function existant_and_set($list, $keys) { |
41 | 41 |
/** For HTTP data : keys of $keys are set within $list and they are not empty |
42 |
* or false nor empty
|
|
42 |
* nor false.
|
|
43 | 43 |
*/ |
44 | 44 |
foreach($keys as $key) { |
45 | 45 |
if (!isset($list[$key]) || !$list[$key]) { |
... | ... | |
55 | 55 |
'lon' => array('numeric', 'positive'), |
56 | 56 |
'alt' => array('numeric', 'positive'), |
57 | 57 |
'loop' => array('boolean'), |
58 |
'titre' => array('required'), |
|
58 | 59 |
); |
59 | 60 |
|
60 | 61 |
$validator = new FormValidator($fields_spec); |
... | ... | |
84 | 85 |
$vals = $validator->sane_values(); |
85 | 86 |
// There is no point setting a part of the parameters only ; check that all |
86 | 87 |
// are present. |
87 |
if (existant_and_set($vals, array('lat', 'alt', 'lon'))) { |
|
88 |
if (existant_and_set($vals, array('lat', 'alt', 'lon', 'titre'))) {
|
|
88 | 89 |
try { |
89 | 90 |
$panorama = site_point::create($uploaded_filepath); |
90 | 91 |
$panorama->set_param('titre', 'Sans nom 1');//FIXME |
... | ... | |
92 | 93 |
$panorama->set_param('longitude', $vals['lon']); |
93 | 94 |
$panorama->set_param('altitude', $vals['alt']); |
94 | 95 |
$panorama->set_param('image_loop', $vals['loop']); |
96 |
$panorama->set_param('titre', $vals['titre']); |
|
95 | 97 |
$panorama->save_params(); |
96 | 98 |
$params_success = true; |
97 | 99 |
} catch (Exception $e) { |
Formats disponibles : Unified diff
can set the title of the panorama from the form