commit 0bd646e44064921316fc51262ea66c40f172c76b
Author: Marc Souviron
Date: Sat Aug 24 02:35:12 2013 +0200
remise en forme du travail de Victor Pongnian suit à son stage
Il reste pas mal de cosmétique à revoir mais le système devrait déjà être utilisable dans l'état.
diff --git a/.htaccess b/.htaccess
new file mode 100644
index 0000000..a6593f6
--- /dev/null
+++ b/.htaccess
@@ -0,0 +1,4 @@
+AddDefaultCharset UTF-8
+php_value output_buffering off
+php_value display_errors on
+php_value error_reporting 32767
diff --git a/addParams.php b/addParams.php
index e64d387..dfaf1fa 100644
--- a/addParams.php
+++ b/addParams.php
@@ -1,118 +1,106 @@
+
+
+
+ Positionnerment dun panoramique
array('name' => 'titre',
+ 'pattern' => '^.{1,50}$',
+ 'required' => true),
+ 'latitude' => array('name' => 'latitude',
+ 'type' => 'numeric',
+ 'min' => -180,
+ 'max' => 180,
+ 'required' => true),
+ 'longitude' => array('name' => 'longitude',
+ 'type' => 'numeric',
+ 'min' => -180,
+ 'max' => 180,
+ 'required' => true),
+ 'altitude' => array('name' => 'altitude',
+ 'type' => 'numeric',
+ 'min' => -180,
+ 'max' => 180,
+ 'required' => true),
+ 'loop' => array('name' => 'image_loop',
+ 'type' => 'boolean',
+ 'required' => false),
+ 'dir' => array('required' => true),
+ 'panorama' => array('required' => true));
+$wrong = array();
+$values = array();
+// vérification de la conformité
+foreach($params as $param => $check) {
+ if (isset($_REQUEST['param_'.$param])) {
+ $tst = $_REQUEST['param_'.$param];
+ if ((isset($check['min']) || isset($check['max'])) && ! is_numeric($tst)) $wrong[$param] = "$tst ne correspond pas à une valeur numérique";
+ else if (isset($check['min']) && $tst < $check['min']) $wrong[$param] = "$tst trop bas";
+ else if (isset($check['max']) && $tst > $check['max']) $wrong[$param] = "$tst trop haut";
+ else if (isset($check['pattern']) && preg_match('/'.preg_quote($check['pattern']).'/', $tst)) $wrong[$param] = "$tst non conforme";
+ else $values[$param] = $tst;
+ } else if (isset($check['required']) && $check['required']) {
+ $wrong[$param] = '$tst est un paramètre manquant';
+ }
+}
- /* --- Vérification des inputs avec des regex. ---*/
- // Pour la latitude : ( Le javascript bride entre -90 et 90)
- if (preg_match("#^(\-?[1-9]+[0-9]?[.,]{0,1}[0-9]{0,6}|\-?[0-9]{1}[.,]{0,1}[0-9]{0,6})$#", $_POST['param_latitude']))
- {
- $lat = $_POST['param_latitude'];
- //echo 'Le ' . $_POST['param_latitude'] . ' est un numéro valide !';
- }
- else
- {
- echo 'Le ' . $_POST['param_latitude'] . ' n\'est pas valide, recommencez !';
-
- }
-
- // Pour la longitude : ( Le javascript bride entre -180 et 180)
- if (preg_match("#^(\-?[1-9]+[0-9]?[.,]{0,1}[0-9]{0,6}|\-?[0-9]{0,1}[.,]{1}[0-9]{0,6})$#", $_POST['param_longitude']))
- {
- $lon = $_POST['param_longitude'];
- //echo 'Le ' . $_POST['param_longitude'] . ' est un numéro valide !';
- }
- else
- {
- echo 'Le ' . $_POST['param_longitude'] . ' n\'est pas valide, recommencez !';
-
- }
-
- // Pour l'altitude ( Le javascript bride entre 0 et 500)
- if (preg_match("#^([1-9]+[0-9]{0,4}|0)$#", $_POST['param_altitude']))
- {
- $alt = $_POST['param_altitude'];
- //echo 'Le ' . $_POST['param_altitude'] . ' est un numéro valide !';
- }
- else
- {
- echo 'Le ' . $_POST['param_altitude'] . ' n\'est pas valide, recommencez !';
-
- }
-
- // Pour l'élévation ( Le javascript bride entre -10 et 10)
- if (preg_match("#^(\-?[1-9]+[0-9]?|0)$#", $_POST['param_elevation']))
- {
- $ele = $_POST['param_elevation'];
- //echo 'Le ' . $_POST['param_elevation'] . ' est un numéro valide !';
- }
- else
- {
- echo 'Le ' . $_POST['param_elevation'] . ' n\'est pas valide, recommencez !';
-
- }
-
- $loop = $_POST['param_loop']; // Variable radio automatiquement présente
- if(isset($lat) && isset($lon) && isset($alt) && isset($ele) && isset($loop)) {
-
- // On recherche le dossier correspondant au panorama en question
- $dir_file = "/var/www/data/tsf2/vpongnian/panorama/".$_GET['dir']."/".$_GET['panorama'];
- $dir_open = opendir($dir_file);
- while (false !== ($file = readdir($dir_open))) {
- // Si on trouve bien des tuiles
- if (preg_match('/(.*)_[0-9]+_[0-9]+_[0-9]+\.jpg$/', $file, $reg)) {
- $prefix = $reg[1];
- $new_param_file = $prefix.".params";
- break; // On sort à la première tuile trouvée
- }
- }
- closedir($dir_open);
-
- $retour = "\n";
- // On vérifie qu'on a bien crée un nouveau fichier .params et on écrit dedans.
- if(isset($new_param_file)){
- $param_file = fopen($dir_file."/".$new_param_file,'a+');
- fputs($param_file,"titre = \"" . $_POST['param_title'] . "\"");
- fputs($param_file,$retour);
- fputs($param_file,"latitude = " . $lat);
- fputs($param_file,$retour);
- fputs($param_file,"longitude = " . $lon);
- fputs($param_file,$retour);
- fputs($param_file,"altitude = " . $alt);
- fputs($param_file,$retour);
- fputs($param_file,"elevation = " . $alt);
- fputs($param_file,$retour);
- fputs($param_file,"image_loop =" . $loop);
- fputs($param_file,$retour);
- fclose($param_file);
-
- echo 'Paramétrage OK. Retour au panorama';
- header("Refresh: 1; URL=index.php");
- } else {
-
- echo "";
- }
- }
+if (isset($values['panorama'])) {
+ $back_url = sprintf('panorama.php?panorama=%s', $values['panorama']);
+ if (isset($values['dir'])) $back_url .= '&dir='. $values['dir'];
+} else {
+ $back_url = '.';
+}
+
+if (count($wrong) == 0) {
+ // On recherche le dossier correspondant au panorama en question
+ $dir_file = "./".$values['dir']."/".$values['panorama'];
+ $dir_open = opendir($dir_file);
+ while (false !== ($file = readdir($dir_open))) {
+ // Si on trouve bien des tuiles
+ if (preg_match('/(.*)_[0-9]+_[0-9]+_[0-9]+\.jpg$/', $file, $reg)) {
+ $prefix = $reg[1];
+ $new_param_file = $prefix.".params";
+ break; // On sort à la première tuile trouvée
+ }
+ }
+ closedir($dir_open);
+
+ // On vérifie qu'on a bien créée un nouveau fichier .params et on écrit dedans.
+ if(isset($new_param_file)){
+ $fid = fopen($dir_file."/".$new_param_file,'a+');
+ echo 'Les valeurs suivantes sont utilisées.
'."\n";
+ echo "\n";
+ foreach ($values as $k => $v) {
+ echo "$k -$v \n";
+ if (isset($params[$k]['name'])) {
+ $nm = $params[$k]['name'];
+ if (isset($params[$k]['type']) && $params[$k]['type'] == 'numeric') {
+ $vf = $v;
+ } else if (isset($params[$k]['type']) && $params[$k]['type'] == 'boolean') {
+ $vf = $v ? "true" : "false";
} else {
- echo '';
- header("Refresh: 2; URL=javascript:history.back();");
+ $vf = "\"$v\"";
}
-} else {
-echo '';
-header("Refresh: 2; URL=javascript:history.back();");
+ fputs($fid, "$nm = $vf\n");
+ printf("%s \n%s \n", $nm, $vf);
+ }
+ }
+ echo " \n";
+ fclose($fid);
+ echo 'Paramétrage terminé.
'."\n";
+ } else {
+ printf("impossible d'écrire dans le fichier '%s'
\n", $dir_file);
+ }
+ } else {
+ echo 'Les valeurs suivantes sont incorrectes.
'."\n";
+ echo "\n";
+ foreach ($wrong as $k => $v) {
+ printf("%s \n%s \n", $k, $v);
+ }
+ echo " \n";
}
+printf('Retour au panorama
'."\n", $back_url);
?>
diff --git a/class/index.php b/class/index.php
old mode 100755
new mode 100644
diff --git a/class/site_point.class.php b/class/site_point.class.php
old mode 100755
new mode 100644
index 1a5de01..ccb0b83
--- a/class/site_point.class.php
+++ b/class/site_point.class.php
@@ -7,6 +7,8 @@ class site_point {
private $zooms;
public function __construct($dir) {
+ // si $dir n'est pas un répertoire il ne s'agit pas d'un panorama.
+ if (!is_dir($dir)) return;
$this->base_dir = $dir;
$dir_fd = opendir($this->base_dir);
@@ -80,8 +82,7 @@ class site_point {
$e = atan2(($alt2 - $alt1)/1000 - $d*$d/(2*$rt), $d); // angle de l'élévation en radians
// printf("%s, %s, %s, %s\n",$lat1, $this->params['latitude'], $lat, $dLat);
-
- return array($d, $cap*180/M_PI, $e*180/M_PI, $rapport); // les résultats sont en degrés
+ return array($d, $cap*180/M_PI, $e*180/M_PI); // les résultats sont en degrés
}
}
diff --git a/class/sites_dir.class.php b/class/sites_dir.class.php
old mode 100755
new mode 100644
index 1f5e2a9..c8d5057
--- a/class/sites_dir.class.php
+++ b/class/sites_dir.class.php
@@ -4,19 +4,11 @@ class sites_dir {
public function __construct($dir) {
$this->base_dir = $dir;
- }
+ }
public function get_sites() {
- try
- {
- $dir_fd = opendir($this->base_dir);
- }
- catch(Exception $e)
- {
- die('Erreur : '.$e->getMessage());
- }
-
-
+ $dir_fd = @opendir($this->base_dir);
+
$point_list = array();
while (false !== ($point_dir = readdir($dir_fd))) {
$pt = new site_point($this->base_dir.'/'.$point_dir);
@@ -26,7 +18,6 @@ class sites_dir {
}
public function get_dir() {
- return $this->base_dir;
+ return $this->base_dir;
}
-
}
diff --git a/class/utils.class.php b/class/utils.class.php
new file mode 100644
index 0000000..796c94b
--- /dev/null
+++ b/class/utils.class.php
@@ -0,0 +1,18 @@
+
-
-
-
-
- creation d'un panoramique
-
-
-
-
-
-
-
Listes des photos sur le serveur
-
Cliquez pour générer un panorama
-
-
-
- %s '."\n",$image_name,$image_name);
- $i++;
- }
-
-
- }
- }
- catch(Exception $e)
- {
- die('Erreur : '.$e->getMessage());
- }
- ?>
-
-
-
-
-
-
-
-
diff --git a/css/index_style.css b/css/index_style.css
index 8964d95..465f670 100644
--- a/css/index_style.css
+++ b/css/index_style.css
@@ -1,137 +1,91 @@
- body
- {
-
- background:#44F;
- font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
- font-size:small;
- margin:8px 0 16px;
- text-align:center;
- overflow:auto;
-
- }
-
- #top
- {
- display:block;
- height:10px;
- margin:10px auto 0;
- width:650px;
- }
-
- div#index_container
- {
- background:#fff;
-
- margin: auto;
- text-align:left;
- width:640px;
- }
-
- div#index_container h2 {
- margin:1.05em;
- text-shadow: 0.1em 0.1em 0.15em #44F;
- }
- #bottom
- {
- display:block;
- height:10px;
- margin:0 auto;
- width:650px;
- }
-
- h1
- {
- background-color:#6699CC;
- margin:0;
- min-height:0;
- padding:0;
- text-decoration:none;
- text-align: center;
-
- }
-
- h1 a
- {
-
- display:block;
- height:100%;
- min-height:40px;
-
- }
-
- h1 img
- {
- margin-top: 8px;
- }
-
- img
- {
- /*behavior:url(css/iepngfix.htc);*/
- border:none;
- }
-
- div#containerList
- {
- margin:20px 20px 0;
- padding:0 0 20px;
- }
-
- #containerList
- {
- font-family:Lucida Grande, Tahoma, Arial, Verdana, sans-serif;
-
- }
-
- #containerList li
- {
- width:100%;
- margin:1.05em;
- font-size:14px;
-
- }
-
- div#containerList ul
- {
- font-size:100%;
- list-style-type:circle;
- margin:0;
- padding:0;
- width:100%;
- }
-
- div#interaction {
- background-color:#fff;
- margin: auto;
- width:640px;
- border-top: 2px dotted #44F;
- }
-
- div#interaction li{
-
- display:inline-block;
- list-style-type:none;
- margin:1.08em;
-
- }
-
- div#interaction li a{
-
- color:#3F2DFF;
- text-decoration:none;
- font-size:16px;
- }
-
- div#interaction li a:hover {
- color:#FF9900;
- text-decoration:underline;
- }
-
-
-
- p a {
- background-color:#fff;
- border-radius: 4px;
- padding:3px;
- text-shadow: 0.1em 0.05em 0.15em #444;
- font-size:11px;
- }
\ No newline at end of file
+* {
+ margin:0;
+ padding:0;
+ font-family:Arial, Verdana, sans-serif;
+}
+
+body {
+ background-color:#44F;
+ text-align:center;
+ width:50rem;
+ margin:auto;
+}
+
+header {
+ margin:1rem 0;
+ box-shadow:0 0 0.5rem 0 #000;
+ background-color:#69C;
+}
+
+h1 {
+ text-align:center;
+ padding:0.2rem;
+}
+
+img {vertical-align:middle}
+
+h2 {
+ padding:0.5em 1em;
+ text-shadow: 0.1em 0.1em 0.15em #44F;
+}
+
+#main {
+ box-shadow:0 0 0.5rem 0 #000;
+ text-align:left;
+ background-color:#FFF;
+}
+
+#main a {text-decoration:none}
+
+#pano-list li samp:after {
+ padding-left:1em;
+ content:'fichier non configuré';
+ font-weight:bold;
+ color:#F00;
+}
+#pano-list li {
+ list-style-type:circle;
+ list-style-position:inside;
+ border:dashed #777 0;
+ border-top-width:0.1em;
+ padding:0.3em 1em;
+}
+
+#pano-list li:nth-child(6n),
+#pano-list li:nth-child(6n+1),
+#pano-list li:nth-child(6n+2) {
+ background-color:#FFE;
+}
+
+#pano-list li:nth-child(6n+3),
+#pano-list li:nth-child(6n+4),
+#pano-list li:nth-child(6n+5) {
+ background-color:#FEF;
+}
+
+#interaction {
+ text-align:center;
+ border:solid #777 0;
+ border-top-width:0.1em;
+ padding:0.5em 0;
+}
+
+#interaction a {
+ padding:1em;
+}
+
+#interaction a:hover {
+ color:#F90;
+ text-decoration:underline;
+}
+
+footer {
+ margin:1rem 0
+}
+
+.validators a {
+ background-color:#fff;
+ border-radius: 0.4rem;
+ padding:0.3ex;
+ text-shadow: 0.1em 0.05em 0.15em #444;
+}
diff --git a/css/all.css b/css/map.css
old mode 100755
new mode 100644
similarity index 51%
rename from css/all.css
rename to css/map.css
index 92a473e..0e41cd0
--- a/css/all.css
+++ b/css/map.css
@@ -1,4 +1,5 @@
* {
+ font-family:Arial, Verdana, sans-serif;
padding:0;
margin:0;
}
@@ -49,69 +50,54 @@ legend:hover {
cursor:default;
}
-fieldset#control {
- text-shadow:2px 2px 2px #000, -2px -2px 2px #000;
- color:#FFF;
- float:left;
- position:absolute;
- top:1em;
- left:2em;
- background-color:rgba(128,128,128,0.5);
- border:solid #F00 1px;
- border-radius:0.5em;
- padding:0.2em 0.5em;
-}
+img {vertical-align:middle}
input {
vertical-align:middle;
}
-
input[type="number"] {
border-radius:1em;
display:block;
float:right;
+ width:10ex;
}
-#locadraw input[type="number"] {
- width:10ex;
+input[type="submit"],
+input[type="reset"],
+input[type="button"] {
+ border-radius:0.4rem;
+ padding:0.2em 1em;
+ margin:0.2em;
}
-#res>:not(ul), #control, #params, #info ,#addParams ,#adding, #loca{
- user-select:none;
- -khtml-user-select:none;
- -o-user-select:none;
- -moz-user-select:-moz-none;
- -webkit-user-select:none;
+input[type="checkbox"] {
+ margin:0 1em;
}
-div#params {
- padding:0.2em 1.3em;
+#params {
+ padding:0.2em 0.5em;
border-radius:0.5em;
background-color:rgba(128,128,128,0.5);
border:solid #00F 1px;
position:absolute;
top:1em;
right:2em;
- float:right;
+ min-width:10em;
+ color:#FFF;
}
-div#params em {
-
+#params em {
display:block;
float:right;
background-color:#88F;
border-radius:0.5em;
padding:0 0.5em;
- color:#FFF;
-}
-
-div#params em:nth-child[2] {
- display:inline;
+ color:#FF0;
}
-span#loca{
- text-shadow:2px 2px 2px #000, -2px -2px 2px #000;
+#loca_show {
+ text-shadow:2px 2px 2px #000, -2px -2px 2px #000;
color:#FFF;
float:left;
position:absolute;
@@ -122,137 +108,83 @@ span#loca{
padding:0 1em;
}
-
-div#addParams {
- text-shadow:2px 2px 2px #000, -2px -2px 2px #000;
+#addParams {
+ text-shadow:2px 2px 2px #000, -2px -2px 2px #000;
color:#FFF;
- float:left;
position:absolute;
top:1em;
right:2em;
-
border:solid #F00 1px;
border-radius:0.5em;
padding:0.2em 0.5em;
background-color:#F88;
- padding:0 1em;
-
+ padding:0 1em;
}
-div#addParams label {
-
+#addParams label {
border-radius:0.5em;
padding:0 1em;
}
-div#addParams label:hover {
- color: #FF0;
-
+#addParams label:hover {
+ color: #FF0;
}
-fieldset#locadraw {
-
+fieldset {
+ border:solid #F00 1px;
+ border-radius:0.5em;
+ padding:0 0.5em;
color:#FFF;
- float:left;
position:absolute;
+ background-color:rgba(128,128,128,0.5);
+}
+
+fieldset#control {
+ top:1em;
+ left:2em;
+ padding:0.2em 0.5em;
+}
+
+
+fieldset#locadraw {
bottom:1em;
left:1em;
- background-color:rgba(128,128,128,0.5);
- border:solid #F00 1px;
- border-radius:0.5em;
- padding:0 1em;
visibility:hidden;
+ min-width:10em;
}
fieldset#adding {
-
- color:#FFF;
- float:left;
- position:absolute;
top:1em;
right:2em;
- background-color:rgba(128,128,128,0.5);
- border:solid #F00 1px;
- border-radius:0.5em;
- padding:0 1em;
visibility: hidden;
}
-
-
-form#form_param label {
-
- margin-right: 15px;
- width: 0.5em;
- padding:0.3em 0.5em;
- min-height: 1px;
- text-align: left;
+#form_param label {
text-shadow:2px 2px 2px #000, -2px -2px 2px #000;
}
input:focus {
- border-color: rgba(82, 168, 236, 0.75);
- -moz-box-shadow: 0 0 8px rgba(82, 168, 236, 0.5);
- -webkit-box-shadow: 0 0 8px rgba(82, 168, 236, 0.5);
- box-shadow: 0 0 8px rgba(82, 168, 236, 0.5);
-}
-
-.correct {
- border-color: rgba(68, 191, 68, 0.75);
+ background-color:#004;
+ color:#FFF;
+ border-color:#F00;
}
-.correct:focus {
- border-color: rgba(68, 191, 68, 0.75);
- -moz-box-shadow: 0 0 8px rgba(68, 191, 68, 0.5);
- -webkit-box-shadow: 0 0 8px rgba(68, 191, 68, 0.5);
- box-shadow: 0 0 8px rgba(68, 191, 68, 0.5);
-}
-
-.incorrect {
- border-color: rgba(191, 68, 68, 0.75);
-}
-
-.incorrect:focus {
- border-color: rgba(191, 68, 68, 0.75);
- -moz-box-shadow: 0 0 8px rgba(191, 68, 68, 0.5);
- -webkit-box-shadow: 0 0 8px rgba(191, 68, 68, 0.5);
- box-shadow: 0 0 8px rgba(191, 68, 68, 0.5);
-}
-
-/*p#chsignInfo {
-color:#F00;
-font-size: 12px;
-margin:1.02em 1em;
-background-color: #CCC;
-border-radius: 4px;
-padding:2px;
-}*/
-
-.answer {
- margin:0.2em 0;
- display:block;
-}
-
-.answer input {
- border-radius:0.5rem;
- padding:0.2em 0.7em;
-}
-
-.form_button {
- background-color:rgba(128,128,128,0.9);
- /*background: url(button.png) no-repeat top;*/
- display:inline-block;
-}
-
.validators {
text-align:center;
- background-color:#CCC;
+ background-color:rgba(50%,50%,50%,0.5);
border:solid 1px #F55;
- border-width:0 0 1px 0;
- display:none;
+ border-radius:0.5em;
+ border-width:1px;
+ position:absolute;
+ bottom:1em;
+ left:45%;
+ padding:0.2em 0.5em;
+ font-size:80%;
}
+.validators img {height:1em}
+
#res {
padding:0.2em 0.4em;
color:#FF8;
@@ -263,11 +195,10 @@ padding:2px;
border:solid #FFF 1px;
}
-#res:empty {padding:0;}
+#res:empty {display:none}
#res li {
list-style-type: none;
color:#FFF;
background-color:rgba(100,0,0,0.5);
-
}
diff --git a/description b/description
deleted file mode 100644
index 31802c9..0000000
--- a/description
+++ /dev/null
@@ -1 +0,0 @@
-Système de visualisateton et de parcours des panoramas via le Web.
diff --git a/envoyer.php b/envoyer.php
index ba995b3..bcb168b 100644
--- a/envoyer.php
+++ b/envoyer.php
@@ -1,168 +1,36 @@
-
-
+
-
-
-
-
-
- Upload d'une image sur le serveur !
-
- document.getElementById('pb_outer').style.display = 'block';
- setTimeout('getProgress("' + uid + '")', 1000);
-
-
-
- }
- function getProgress(uid) {
- if(HttpRequestObject) {
- HttpRequestObject.open('GET', 'getprogress.php?uid=' + uid, true);
- HttpRequestObject.onreadystatechange = function() {
- if(HttpRequestObject.readyState == 4 && HttpRequestObject.status == 200) {
- var response = HttpRequestObject.responseText;
- var elem = response.split('#');
- var progress = elem[0];
- var url =elem[1];
- var message=elem[2];
-
- document.getElementById('pb_inner').style.width = progress + '%';
- document.getElementById('pb_inner').innerHTML = progress + '%';
-
- if(progress < 100) {
-
- setTimeout('getProgress("' + uid + '")', 100);
-
- } else {
- if(message !=='') {
- document.getElementById('pb_outer').style.display = 'none';
- document.getElementById('pb_inner').style.width = 'none';
- alert(message);
- } else {
- document.getElementById('pb_inner').innerHTML = 'Upload Complete!';
- document.location.href= url;
- }
- }
- }
- }
-
- HttpRequestObject.send(null);
- }
- }
-
- function showLoader() {
- document.getElementById('loader').innerHTML = "Veuillez patienter ... ";
-
-
- }
-
-
-
-
-
-
-
-
-
Le fichier à envoyer doit etre une image de type .tif ou .jpeg
- Taille maximale : 300 Mo
-
-
-
-
+
+
+
+
+ Envoi d'une image sur le serveur
+
+
+
+
-
\ No newline at end of file
+
diff --git a/genererPano.php b/genererPano.php
index 847ad22..b6cadca 100644
--- a/genererPano.php
+++ b/genererPano.php
@@ -1,40 +1,58 @@
-
+
+
+
+
+ convertiseur image vers panorama
+
- //Partie exécutante du script gen_tiles qui gènere les tuiles à partir d'une image.
- $input = './to_tiles/gen_tiles.sh -p '.$pano_basename.' /var/www/data/tsf2/vpongnian/panorama/upload/'.$pano_name;
- $escaped_command = escapeshellcmd($input);
- $output = shell_exec($escaped_command);
- $log_file = fopen('./log/'.$pano_basename.'.log','a+');
- fputs($log_file, $output); // verbose intégré dans un .log.
- fclose($log_file);
-
- // Ouverture d'un nouveau dossier qui contiendra toutes les tuiles.
- $dir = '/var/www/data/tsf2/tiles/'.$pano_basename;
-
- mkdir($dir,0777);
-
- $dir_fd = opendir('/var/www/data/tsf2/vpongnian/panorama');
+le répertoire \"$panos_dir\" n'est pas accessible\n";
+ } else if (file_exists($pano_dest)) {
+ echo "le nom de répertoire \"$pano_dest\" est déjà pris
\n";
+ } else {
+ mkdir($pano_dest);
+ $escaped_command = escapeshellcmd('./to_tiles/gen_tiles.sh -p '.$pano_dest.'/'.$pano_basename.' ./upload/'.$pano_name);
- while (false !== ($image_name = readdir($dir_fd))) {
- // Déplacement des tuiles dans le nouveau dossier à partir de dir_fd.
- if(preg_match('/(.*)_[0-9]+_[0-9]+_[0-9]+\.jpg$/', $image_name, $reg)) {
- rename("./".$image_name, $dir."/".$image_name);
- }
-
- }
- closedir($dir_fd);
- header("Location: ./index.php?");
+ printf("Exécution de la commande : \n%s
\n", htmlspecialchars($escaped_command));
+ if ($fp = popen($escaped_command, 'r')) {
+ while (!feof($fp)) {
+ //set_time_limit (20);
+ $results = fgets($fp, 4096);
+ if (strlen($results) == 0) {
+ // stop the browser timing out
+ flush();
+ } else {
+ $tok = strtok($results, "\n");
+ while ($tok !== false) {
+ echo htmlspecialchars(sprintf("%s\n",$tok))." ";
+ flush();
+ $tok = strtok("\n");
+ }
}
-?>
\ No newline at end of file
+ }
+ print(" \n");
+ if (pclose($fp) === 0) {
+ print("Opération réussie \n");
+ printf("Pour acceder directement au panorama cliquer ici
\n",
+ $panos_dir, $pano_basename);
+ } else {
+ print("Opération en échec durant l'exécution du script ! \n");
+ }
+ } else {
+ print("Opération en échec à l'ouverture du script ! \n");
+ }
+ }
+ print("Pour acceder à la liste des panoramas cliquer ici
\n") ;
+}
+?>
diff --git a/getprogress.php b/getprogress.php
deleted file mode 100644
index 51ecf89..0000000
--- a/getprogress.php
+++ /dev/null
@@ -1,11 +0,0 @@
-
\ No newline at end of file
diff --git a/images/bottom.png b/images/bottom.png
deleted file mode 100644
index 7f46c80..0000000
Binary files a/images/bottom.png and /dev/null differ
diff --git a/images/bulle.png b/images/bulle.png
deleted file mode 100644
index 53724ea..0000000
Binary files a/images/bulle.png and /dev/null differ
diff --git a/images/loader2.gif b/images/loader2.gif
deleted file mode 100644
index 6bdc3b5..0000000
Binary files a/images/loader2.gif and /dev/null differ
diff --git a/images/tetaneutral.png b/images/tetaneutral.png
deleted file mode 100644
index d1285a7..0000000
Binary files a/images/tetaneutral.png and /dev/null differ
diff --git a/images/tetaneutral.svg b/images/tetaneutral.svg
new file mode 100644
index 0000000..94bd7a1
--- /dev/null
+++ b/images/tetaneutral.svg
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+ teta neutral .net
+
diff --git a/images/top.png b/images/top.png
deleted file mode 100644
index 48749b7..0000000
Binary files a/images/top.png and /dev/null differ
diff --git a/images/valid_css.svg b/images/valid_css.svg
new file mode 100644
index 0000000..2f1eda3
--- /dev/null
+++ b/images/valid_css.svg
@@ -0,0 +1,366 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/images/valid_xhtml.svg b/images/valid_xhtml.svg
new file mode 100644
index 0000000..07c981d
--- /dev/null
+++ b/images/valid_xhtml.svg
@@ -0,0 +1,923 @@
+
+image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/index.php b/index.php
old mode 100755
new mode 100644
index c4c63ef..119a744
--- a/index.php
+++ b/index.php
@@ -1,56 +1,56 @@
-
-
- Liste des panoramas
-
-
-
-
-
-
-
-
Liste des panoramas
- ';
- echo '
';
-
- if(isset($_GET['dir']) && is_dir($_GET['dir'])) {
- $base_dir = $_GET['dir'];
- } else {
- $base_dir='tiles';
- }
-
- $dir = new sites_dir($base_dir);
-
-
- foreach($dir->get_sites() as $pt) {
-
- $params = $pt->get_params();
- if (isset($params['titre'])) {
- $cmt = $params['titre'];
-
- } else {
- $cmt = sprintf('fichier %s/%s ', $pt->get_name(), $pt->get_prefix());
- }
-
- printf ('%s '."\n", $base_dir, $pt->get_name(), $cmt);
- }
- ?>
-
-
-
-
-
- page xHTML validé !
-
+
+
+ Liste des panoramas
+
+
+
+
+
+
+
+ Liste des panoramas
+ get_sites();
+
+ echo "\n";
+
+ foreach($sites_list as $pt) {
+ $params = $pt->get_params();
+ $pos_file = sprintf('%s/%s', $pt->get_name(), $pt->get_prefix());
+ if (isset($params['titre'])) {
+ $cmt = $params['titre'];
+ $title = sprintf(' title="fichier : %s"', $pos_file);
+ } else {
+ $cmt = sprintf('%s ', $pos_file);
+ $title = '';
+ }
+ printf ('%s '."\n", $title, $base_dir, $pt->get_name(), $cmt);
+ }
+ echo " \n";
+} catch (Exception $e) {
+ printf("désolé mais aucun site n'est disponible... \n");
+}
+?>
+
+ Ajouter un panorama
+ Générer un panorama
+
+
+
+
diff --git a/js/hide_n_showForm.js b/js/hide_n_showForm.js
index 9ae4f74..76dc58d 100644
--- a/js/hide_n_showForm.js
+++ b/js/hide_n_showForm.js
@@ -1,5 +1,4 @@
function showForm() {
-
var displayAddParams = document.getElementById('addParams');
var displayAdding = document.getElementById ('adding');
displayAddParams.style.visibility = 'hidden';
@@ -7,7 +6,6 @@ function showForm() {
}
function hideForm() {
-
var displayAddParams = document.getElementById('addParams');
var displayAdding = document.getElementById ('adding');
displayAddParams.style.visibility = 'visible';
@@ -15,17 +13,15 @@ function hideForm() {
}
function showLoca() {
-
- var displayloca = document.getElementById('loca');
+ var displayloca = document.getElementById('loca_show');
var putDraw = document.getElementById ('locadraw');
displayloca.style.visibility = 'hidden';
putDraw.style.visibility = 'visible';
}
function hideLoca() {
-
- var displayloca = document.getElementById('loca');
+ var displayloca = document.getElementById('loca_show');
var putDraw = document.getElementById ('locadraw');
displayloca.style.visibility = 'visible';
putDraw.style.visibility = 'hidden';
-}
\ No newline at end of file
+}
diff --git a/js/pano.js b/js/pano.js
old mode 100755
new mode 100644
index 38ec503..a4c54c3
--- a/js/pano.js
+++ b/js/pano.js
@@ -171,9 +171,8 @@ function drawDecorations(ox, oy, tx, ty, twidth, theight) {
}
-function insert_drawn_point(lat,lon,alt) {
-
- var rt = 6371; // Rayon de la terre
+function insert_drawn_point(lat, lon, alt) {
+ var rt = 6371; // Rayon de la terre
var alt1 = document.getElementById('pos_alt').childNodes[0].nodeValue;
var lat1 = document.getElementById('pos_lat').childNodes[0].nodeValue*Math.PI/180;
var lon1 = document.getElementById('pos_lon').childNodes[0].nodeValue*Math.PI/180;
@@ -196,8 +195,7 @@ function insert_drawn_point(lat,lon,alt) {
return {d:d, cap:cap*180/Math.PI, ele:e*180/Math.PI}; // les résultats sont en degrés
}
-localate_point = function () {
-
+function localate_point() {
var lat = document.getElementById("loca_latitude").value;
var lon = document.getElementById("loca_longitude").value;
var alt = document.getElementById("loca_altitude").value;
@@ -209,23 +207,16 @@ localate_point = function () {
alert("La longitude "+lon+"n'est pas correcte");
return;
}
- if (lat == '' || isNaN(alt) || alt < -400) {
+ if (lat == '' || isNaN(alt) || alt < -400 || alt > 10000000) {
alert("l'altitude "+alt+"n'est pas correcte");
return;
}
- var opt_ced = new Array();
- opt_dce = insert_drawn_point(lat,lon,alt);
- // -----Première solution : afficher dynamiquement le point !
- var d = opt_dce.d;
- var cap = opt_dce.cap;
- var ele = opt_dce.ele;
-
- display_temp(d, cap, ele);
-
+ var opt_ced = new Array();
+ opt_dce = insert_drawn_point(lat, lon, alt);
+ display_temp(opt_dce.d, opt_dce.cap, opt_dce.ele);
}
-function display_temp(d,cap,ele) {
-
+function display_temp(d,cap,ele) {
point_list[point_list.length] = new Array("point temporaire", d,cap,ele, "temporary");
reset_zooms();
putImage(last.x, last.y);
@@ -235,8 +226,7 @@ function arrayUnset(array, value){
array.splice(array.indexOf(value), 1);
}
-erase_point = function() {
-
+function erase_point() {
for (var i=0; i= 4) {
- title.className = 'correct';
-
- return true;
- } else {
- title.className = 'incorrect';
-
- return false;
- }
- };
-
- check['param_latitude'] = function() {
-
- var latitude = document.getElementById('param_latitude');
- var lat = parseFloat(latitude.value);
-
- if (!isNaN(lat) && lat >= -90 && lat <= 90) {
- latitude.className = 'correct';
-
- return true;
-
- } else {
- latitude.className = 'incorrect';
-
- return false;
- }
-
- };
-
- check['param_longitude'] = function() {
-
- var longitude = document.getElementById('param_longitude');
- var lon = parseFloat(longitude.value);
-
- if (!isNaN(lon) && lon >= -180 && lon <= 180) {
- longitude.className = 'correct';
-
- return true;
-
- } else {
- longitude.className = 'incorrect';
-
- return false;
- }
-
- };
-
- check['param_altitude'] = function() {
-
- var altitude = document.getElementById('param_altitude');
- var alt = parseInt(altitude.value);
-
- if (!isNaN(alt) && alt >= 0 && alt <= 10000) {
- altitude.className = 'correct';
-
- return true;
-
- } else {
- altitude.className = 'incorrect';
-
- return false;
- }
-
- };
-
- check['param_elevation'] = function() {
-
-
- var elevation = document.getElementById('param_elevation');
- var ele = parseFloat(elevation.value);
-
- if (!isNaN(ele) && ele >= -10 && ele <= 10) {
- elevation.className = 'correct';
-
- return true;
-
- } else {
- elevation.className = 'incorrect';
-
- return false;
- }
-
- };
-
- (function() { // Utilisation d'une fonction anonyme pour éviter les variables globales.
-
- var form_param = document.getElementById('form_param'),
- inputs = document.getElementsByTagName('input'),
- inputsLength = inputs.length;
-
- for (var i = 0 ; i < inputsLength ; i++) {
-
- if (inputs[i].type == 'text') {
-
- inputs[i].onkeyup = function() {
- check[this.id](this.id); // « this » représente l'input actuellement modifié
- };
-
- }
-
- }
-
- form_param.onsubmit = function() {
-
- var result = true;
-
- for (var i in check) {
-
- result = check[i](i) && result;
- }
-
- if (result) {
- alert('Le formulaire est bien rempli.');
- return true;
- } else {
-
- return false;
- }
-
- };
-
- form_param.onreset = function() {
-
- for (var i = 0 ; i < inputsLength ; i++) {
- if (inputs[i].type == 'text' || inputs[i].type == 'number') {
- inputs[i].className = '';
- }
- }
-
- };
-
- })();
\ No newline at end of file
diff --git a/panorama.php b/panorama.php
old mode 100755
new mode 100644
index 9a59ef9..c58329e
--- a/panorama.php
+++ b/panorama.php
@@ -2,8 +2,50 @@
+Localiser un point
+ Latitude :
+
+ Longitude :
+
+ Altitude :
+
+
+
+
+
+
+EO_FORM_EXTPOINT;
+
+ $form_param = <<<'EO_FORM_PARAM'
+
+ Paramétrer le panorama
+
+
+ Paramétrage du panorama
+ Titre :
+
+ Latitude :
+
+ Longitude :
+
+ Altitude :
+
+ Rebouclage :
+
+
+
+
+
+
+
+
+EO_FORM_PARAM;
if (isset($_GET['dir']) && isset($_GET['panorama'])) {
$dir = $_GET['dir'];
@@ -24,17 +66,17 @@
$prefix = $pt->get_prefix();
?>
- %s\n", $params['titre']);
+ if ($params && isset($params['titre'])) $titre .= ' : '.$params['titre'];
+ printf ("%s \n", $titre);
?>
@@ -92,34 +134,30 @@
}
}
- $localLat = (isset($_POST["loca_latitude"])) ? $_POST["loca_latitude"] : NULL;
- $localLon = (isset($_POST["loca_longitude"])) ? $_POST["loca_longitude"] : NULL;
- $localAlt = (isset($_POST["loca_altitude"])) ? $_POST["loca_altitude"] : NULL;
+ $localLat = (isset($_POST["loca_latitude"])) ? $_POST["loca_latitude"] : NULL;
+ $localLon = (isset($_POST["loca_longitude"])) ? $_POST["loca_longitude"] : NULL;
+ $localAlt = (isset($_POST["loca_altitude"])) ? $_POST["loca_altitude"] : NULL;
- if ($localLat && $localLon && $localAlt) {
- list($localDistance, $localCap, $localEle) = $pt->coordsToCap($localLat, $localLon, $localAlt);
- $n = "point temporaire";
- printf('point_list[%d] = new Array("%s", %03lf, %03lf, %03lf, "temporary");'."\n",$ipt++, $n, $localDistance, $localCap, $localEle);
- }
+ if ($localLat && $localLon && $localAlt) {
+ list($localDistance, $localCap, $localEle) = $pt->coordsToCap($localLat, $localLon, $localAlt);
+ $n = "point temporaire";
+ printf('point_list[%d] = new Array("%s", %03lf, %03lf, %03lf, "temporary");'."\n",$ipt++, $n, $localDistance, $localCap, $localEle);
+ }
?>
-
-
-
-
-
+
- Ce message indique que ce navigateurs est vétuste car il ne supporte pas canvas (IE6, IE7, IE8, ...)
+ Ce message indique que ce navigateur est vétuste car il ne supporte pas canvas (IE6, IE7, IE8, ...)
contrôle
Zoom :
- Cap :
- Élévation :
+ Cap :
+ Élévation :
longitude : %.5f ° \n", $params['longitude']);
if (isset($params['altitude'])) printf ("altitude : %d m
\n", $params['altitude']);
print("\n");
- ?>
-
- Localiser un point
-
- Latitude :
-
-
- Longitude :
-
-
- Altitude :
-
-
-
-
-
-
-
-
-
-
-
-
- Paramétrer le panorama
-
- Paramètrer le panorama
-
-
- Titre:
-
-
- Latitude:
-
-
- Longitude:
-
-
- Altitude:
-
-
- Elévation:
-
-
- Rebouclage:
- Oui
- Non
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- '."\n";
if (count($extra_names) > 1) {
@@ -203,15 +180,19 @@
foreach ($extra_names as $nm) {
echo ''.$nm." \n";
}
- echo "\n ";
+ echo "\n";
echo " \n";
echo " \n";
echo " \n";
echo "\n";
}
- ?>
- page xHTML validé !
+ ?>
+
+ pages validées par
+
+
+
diff --git a/ref_points.php b/ref_points.php
old mode 100755
new mode 100644
diff --git a/to_tiles/gen_tiles.sh b/to_tiles/gen_tiles.sh
index ec805ac..9095c93 100755
--- a/to_tiles/gen_tiles.sh
+++ b/to_tiles/gen_tiles.sh
@@ -1,5 +1,21 @@
#!/bin/bash
+trap clean_tmp EXIT
+# fin d'eviter tout problème de locales en reste en C de base.
+
+set -e
+export LANG=C
+
+# pour éliminer systématiquement les fichier temporaires créés ic
+function clean_tmp() {
+ if [ -n "$wfname" ]; then
+ rm $wfname
+ fi
+ if [ -n "$tmp_file" ]; then
+ rm $tmp_file
+ fi
+}
+
test_mode=false
memory_limit=256
crop_x=256
@@ -42,7 +58,7 @@ if [ -z "$prefix" ]; then
prefix=$(basename $1|sed 's/\..*$//')
fi
-wfname=$prefix.pnm
+wfname=$(mktemp ${prefix}_XXXX.pnm)
if ! $test_mode; then
anytopnm $fname > $wfname
else
@@ -51,12 +67,14 @@ fi
echo "préfixe : "$prefix
+tmp_file=$(mktemp)
+
for ((z=$min_scale; z <= $max_scale; z++))
do
fprefix=${prefix}_00$z
- LANG=C printf -v ratio %1.4lf $(echo "1 / (2^$z)" | bc -l)
+ printf -v ratio %1.4lf $(echo "1 / (2^$z)" | bc -l)
echo génération du ratio $ratio
- zwfname=tmp.pnm
+ zwfname=$tmp_file
if $test_mode; then
if [ $ratio = 1.0000 ]; then
@@ -73,18 +91,24 @@ do
if [ $ratio = 1.0000 ]; then
zwfname=$wfname
else
- pnmscale $ratio $wfname > $zwfname
+ if ! pnmscale $ratio $wfname > $zwfname; then
+ echo "operation 'pnmscale $ratio $wfname > $zwfname' en erreur"
+ exit 1
+ fi
fi
- convert $zwfname \
+ if convert $zwfname \
-limit memory $memory_limit \
-crop ${crop_x}x${crop_x} \
-set filename:tile "%[fx:page.x/${crop_x}]_%[fx:page.y/${crop_y}]" \
- +repage +adjoin "${fprefix}_%[filename:tile].jpg"
+ +repage +adjoin "${fprefix}_%[filename:tile].jpg"; then
+ echo "Nombre des fichiers produits :" $(ls -la ${fprefix}_*| wc -l)
+ else
+ echo "operation 'convert' en erreur"
+ exit 2
+ fi
fi
done
-echo ${fprefix}_*
-
if ! $test_mode; then
## les lignes ci dessous sont destinnées à mettre des 0 en debut des numéros de ligne et de colonnes
## Il y a certainement plus simple mais là c'est du rapide et efficace.
@@ -92,7 +116,4 @@ if ! $test_mode; then
rename 's/_(\d)_(\d+\.jpg)$/_00$1_$2/' ${prefix}_*
rename 's/_(\d+)_(\d\d)(\.jpg)$/_$1_0$2$3/' ${prefix}_*
rename 's/_(\d+)_(\d)(\.jpg)$/_$1_00$2$3/' ${prefix}_*
- rm $zwfname $wfname
-else
- echo rm $zwfname $wfname
fi
diff --git a/uploadReceive.php b/uploadReceive.php
new file mode 100644
index 0000000..8ebbd9d
--- /dev/null
+++ b/uploadReceive.php
@@ -0,0 +1,33 @@
+
+
+
+
+
+ Transfert de panoramique
+
+
+transfert de %s réalisé\n", $_FILES['files']['name'][$i]);
+ } else {
+ $message = 'Une erreur interne a empêché l\'upload de l\'image : '. $_FILES['files']['error'][$i];
+ }
+ } else {
+ $message = 'Veuillez passer par le formulaire svp !';
+ }
+ }
+ if (isset($message)) {
+ echo "$message \n";
+ }
+}
+?>
+Pour acceder à la liste des images transférées afin de convertir en panorama cliquer ici
+
+
diff --git a/uploadTest.php b/uploadTest.php
deleted file mode 100644
index 057e533..0000000
--- a/uploadTest.php
+++ /dev/null
@@ -1,92 +0,0 @@
-alert(\"$err\");";
- $url ="envoyer.php?dir=upload/".$_FILES['file']['name']."&img=".$_FILES['file']['name'];
- move_uploaded_file($_FILES['file']['tmp_name'],TARGET.basename($_FILES['file']['name']));
- apc_store('link', $url);
-
- }
- else
- {
- $message = 'Une erreur interne a empêché l\'uplaod de l\'image : '. $_FILES['file']['error'];
- }
- }
- else
- {
- // Sinon erreur sur les dimensions et taille de l'image
- $message = 'Erreur dans les dimensions de l\'image !';
- }
- }
- else
- {
- // Sinon on affiche une erreur pour l'extension
- $message = 'L\'extension du fichier est incorrecte !';
- }
- }
- else
- {
- // Sinon on affiche une erreur pour le champ vide
- $message = 'Veuillez remplir le formulaire svp !';
- }
- // On met en cache un message d'erreur.
- apc_store('info', $message);
- }
-?>
\ No newline at end of file