Upgrade do banco de administração
getAttribute(PDO::ATTR_DRIVER_NAME) == "pgsql")
{
$tabela = str_replace("INTEGER PRIMARY KEY","SERIAL PRIMARY KEY NOT NULL",$tabela);
}
$q = $dbhw->query($tabela);
if($q)
{
echo "
Feito!!!
";
var_dump($tabelas);
}
else
{
echo "Ocorreu algum problema na criação das tabelas. Tabelas que deveriam ter sido criadas:\n";
//$e = $dbhw->errorInfo();
//throw new Exception($e[2]);
}
}
echo "Tabelas:\n";
var_dump($tabelas);
echo "Inserindo os registros default\n";
$teste = lista("select * from ".$esquemaadmin."i3geousr_papeis","id_papel");
if(!in_array($teste,1))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES('Podem executar qualquer tarefa, inclusive cadastrar novos administradores',1,'admin')");
if(!in_array($teste,2))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES('Podem criar/editar qualquer tema (mapfile) mas nao podem editar a arvore do catalogo de temas',2,'editores')");
if(!in_array($teste,3))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES('Podem alterar a arvore do catalogo e dos atlas',3,'publicadores')");
if(!in_array($teste,4))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES('Podem editar dados geograficos',4,'editoresgeo')");
$teste = lista("select * from ".$esquemaadmin."i3geousr_usuarios","id_usuario");
if(!in_array($teste,1))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_usuarios VALUES(1,'','',1,'admin','admin','admin')");
$teste = lista("select * from ".$esquemaadmin."i3geousr_papelusuario","id_usuario","id_papel");
if(!in_array($teste,"1-1"))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_papelusuario VALUES(1,1)");
$teste = lista("select * from ".$esquemaadmin."i3geousr_operacoes","id_operacao");
if(!in_array($teste,1))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(1,'admin/html/editormapfile','editor de mapfiles do sistema de administracao')");
if(!in_array($teste,2))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(2,'admin/html/operacoes','abre o editor de operacoes')");
if(!in_array($teste,3))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(3,'teste/','teste')");
if(!in_array($teste,4))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(4,'admin/html/arvore','edicao da arvore do catalogo de temas')");
if(!in_array($teste,5))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(5,'admin/html/menus','edicao da lista de menus')");
if(!in_array($teste,6))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(6,'admin/html/ogcws','edicao das preferencias do servico WMS')");
if(!in_array($teste,7))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(7,'admin/html/atlas','edicao de atlas')");
if(!in_array($teste,8))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(8,'admin/html/identifica','lista de sistemas incluidos na ferramenta de identificacao')");
if(!in_array($teste,9))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(9,'admin/html/incluimap','adapta mapfiles antigos para versoes novas do Mapserver')");
if(!in_array($teste,10))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(10,'admin/html/mapas','lista de links para mapas')");
if(!in_array($teste,11))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(11,'admin/html/perfis','lista controlada de perfis')");
if(!in_array($teste,12))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(12,'admin/html/sistemas','lista de sistemas complementares que sao mostrados no catalogo')");
if(!in_array($teste,13))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(13,'admin/html/subirshapefile','upload de shapefile para uma pasta especifica no servidor')");
if(!in_array($teste,14))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(14,'admin/html/tags','edicao da lista controlada de tags')");
if(!in_array($teste,15))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(15,'admin/html/webservices','cadastro de links para webservices')");
if(!in_array($teste,16))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(16,'admin/php/editortexto','editor de texto para mapfiles')");
$teste = lista("select * from ".$esquemaadmin."i3geousr_operacoes","id_operacao","id_papel");
if(!in_array($teste,'1-2'))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(1,2)");
if(!in_array($teste,'1-3'))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(1,3)");
if(!in_array($teste,'4-3'))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(4,3)");
if(!in_array($teste,'5-3'))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(5,3)");
if(!in_array($teste,'7-3'))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(7,3)");
if(!in_array($teste,'10-3'))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(10,3)");
if(!in_array($teste,'13-2'))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(13,2)");
if(!in_array($teste,'13-4'))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(13,4)");
if(!in_array($teste,'15-3'))
$dbhw->query("INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(15,3)");
//cria o banco de dados de metadados estatisticos
if(file_exists("../../admin/metaestat.db")) {
echo "
Arquivo admin/metaestat.db ja existe. Vc deve apagá-lo para poder criá-lo novamente caso precise";
}
else{
$banco = sqlite_open("../../admin/metaestat.db",0666);
$banco = null;
}
echo "
Feito!";
function lista($sql,$coluna,$coluna1=""){
global $dbh;
$lista = array();
$q = $dbh->query($sql,PDO::FETCH_ASSOC);
if($q)
{
$resultado = $q->fetchAll();
foreach($resultado as $r){
if($coluna1 == "")
$lista[] = $r[$coluna];
else
$lista[] = $r[$coluna]."-".$r[$coluna1];
}
}
return $lista;
}
?>