1
|
<!DOCTYPE html>
|
2
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
|
3
|
<head>
|
4
|
<meta http-equiv="Content-type" content="text/html; charset=UTF-8"/>
|
5
|
<link type="image/x-icon" rel="shortcut icon" href="images/tsf.png"/>
|
6
|
<title>convertiseur image vers panorama</title>
|
7
|
</head>
|
8
|
|
9
|
<?php
|
10
|
require 'class/utils.class.php';
|
11
|
utils::init();
|
12
|
if (isset($_GET['name'])) {
|
13
|
$pano_name = $_GET['name'];
|
14
|
$pano_basename = preg_replace('/\.[^.]+$/', '', $pano_name);
|
15
|
|
16
|
|
17
|
$panos_dir = 'tiles';
|
18
|
$pano_dest = $panos_dir.'/'.$pano_basename;
|
19
|
if (! is_dir($panos_dir)) {
|
20
|
if (! mkdir($panos_dir)) {
|
21
|
echo "<p class=\"error\">le répertoire \"$panos_dir\" n'est pas accessible et ne peut être créé</p>\n";
|
22
|
}
|
23
|
} else if (file_exists($pano_dest)) {
|
24
|
echo "<p class=\"error\">le nom de répertoire \"$pano_dest\" est déjà pris</p>\n";
|
25
|
} else {
|
26
|
mkdir($pano_dest);
|
27
|
$escaped_command = escapeshellcmd('./to_tiles/gen_tiles.sh -p '.$pano_dest.'/'.$pano_basename.' ./upload/'.$pano_name);
|
28
|
|
29
|
printf("<h2>Exécution de la commande :</h2>\n<p class=\"cmd\"><samp>%s</samp></p>\n<pre>", htmlspecialchars($escaped_command));
|
30
|
if ($fp = popen($escaped_command, 'r')) {
|
31
|
while (!feof($fp)) {
|
32
|
|
33
|
$results = fgets($fp, 4096);
|
34
|
if (strlen($results) == 0) {
|
35
|
|
36
|
flush();
|
37
|
} else {
|
38
|
$tok = strtok($results, "\n");
|
39
|
while ($tok !== false) {
|
40
|
echo htmlspecialchars(sprintf("%s\n",$tok))."<br/>";
|
41
|
flush();
|
42
|
$tok = strtok("\n");
|
43
|
}
|
44
|
}
|
45
|
}
|
46
|
print("</pre>\n");
|
47
|
if (pclose($fp) === 0) {
|
48
|
print("<h4><span class=\"success\">Opération réussie</span></h4>\n");
|
49
|
printf("<p>Pour acceder directement au panorama <a href=\"panorama.php?dir=%s&panorama=%s\">cliquer ici</a></p>\n",
|
50
|
$panos_dir, $pano_basename);
|
51
|
} else {
|
52
|
print("<h4><span class=\"error\">Opération en échec durant l'exécution du script !</span></h4>\n");
|
53
|
}
|
54
|
} else {
|
55
|
print("<h4><span class=\"error\">Opération en échec à l'ouverture du script !</span></h4>\n");
|
56
|
}
|
57
|
}
|
58
|
print("<p>Pour acceder à la liste des panoramas <a href=\".\">cliquer ici</a></p>\n") ;
|
59
|
}
|
60
|
?>
|