exec.php
2.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?php
include_once(dirname(__FILE__)."/../../admin/php/login.php");
include("../../ms_configura.php");
include("../blacklist.php");
verificaBlFerramentas(basename(dirname(__FILE__)),$i3geoBlFerramentas,false);
$funcoesEdicao = array(
"LISTARQUIVOS",
"LISTADRIVES"
);
if(in_array(strtoupper($funcao),$funcoesEdicao)){
if(verificaOperacaoSessao("admin/html/editormapfile") == false){
retornaJSON("Vc nao pode realizar essa operacao.");exit;
//se nao estiver logado permite acesso a pasta i3geo/aplicmap/dados
//localiza a pasta aplicmap/dados
$d = dirname(__FILE__); //precisa descer ainda
$d = dirname($d);
$d = dirname($d)."/aplicmap/dados"; //pasta permitida
if(strpos($diretorio,$d) === false){
if(strtoupper($funcao) == "LISTADRIVES"){
//lista a pasta default
$retorno = array(
"drives"=>array(
array("caminho"=>$d,"nome"=>"Dados")
)
);
cpjson($retorno);
}
}
}
}
$retorno = ""; //string que será retornada ao browser via JSON
switch (strtoupper($funcao))
{
/*
Valor: LISTADRIVES
Pega a lista de drives registrados para o usuário atual.
A lista de drives é definida no ms_configura e permite que o usuário navegue pelos arquivos do servidor.
*/
case "LISTADRIVES":
include(dirname(__FILE__)."/../ms_configura.php");
//pega apenas os nomes para nao expor o caminho completo
$d = $navegadoresLocais[0]["drives"];
$resultado = array();
//a primeira string sera o nome definido em drives
foreach($d as $n){
$n["caminho"] = $n["nome"];
$resultado[] = $n;
}
$retorno = array("drives"=>$resultado);
break;
/*
Valor: LISTAARQUIVOS*
Lista os arquivos de um diretório.
*/
case "LISTAARQUIVOS":
//pega o caminho
//nome
$nome = explode("/",$_GET["diretorio"]);
$nome = $nome[0];
if(empty($nome)){
$retorno = "erro";
}
else{
//remove o nome do caminho
$novo = explode("/",$_GET["diretorio"]);
$novo[0] = "";
$_GET["diretorio"] = implode("/",$novo);
//
include(dirname(__FILE__)."/../../ms_configura.php");
$d = $navegadoresLocais[0]["drives"];
$p = "";
foreach($d as $n){
if($n["nome"] == $nome){
$p = $n["caminho"];
}
}
if($p != "" && file_exists($p)){
$path = $p."/".$_GET["diretorio"];
$path = str_replace(".","",$path);
$retorno = listaArquivos($path,true);
}
else{
$retorno = "erro";
}
}
break;
}
cpjson($retorno);
?>