Projet

Général

Profil

Révision d4e538ff

Ajouté par Jocelyn Delande il y a environ 11 ans

can set the title of the panorama from the form

Voir les différences:

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