Upgrade do banco de administração

Mostra apenas o SQL"; exit; } else{ $continua = verificaMaster($_POST["usuario"],$_POST["senha"],$i3geomaster); if($continua == false){ echo "Usuário não registrado em i3geo/ms_configura.php na variável i3geomaster"; exit; } } error_reporting(E_ALL); //tabelas do controle de usuarios e sistema metaestat $tabelas = array( "ALTER TABLE ".$esquemaadmin."i3geoadmin_mapas ADD mapfile TEXT", "CREATE TABLE ".$esquemaadmin."i3geousr_usuarios (ativo NUMERIC, data_cadastro TEXT, email TEXT, id_usuario INTEGER PRIMARY KEY, login TEXT, nome_usuario TEXT, senha TEXT)", "CREATE TABLE ".$esquemaadmin."i3geousr_papelusuario (id_papel NUMERIC, id_usuario NUMERIC)", "CREATE TABLE ".$esquemaadmin."i3geousr_papeis (descricao TEXT, id_papel INTEGER PRIMARY KEY, nome TEXT)", "CREATE TABLE ".$esquemaadmin."i3geousr_operacoes (id_operacao INTEGER PRIMARY KEY, codigo TEXT, descricao TEXT)", "CREATE TABLE ".$esquemaadmin."i3geousr_operacoespapeis (id_operacao NUMERIC, id_papel NUMERIC)", "CREATE TABLE ".$esquemaadmin."i3geousr_grupousuario (id_usuario NUMERIC, id_grupo NUMERIC)", "CREATE TABLE ".$esquemaadmin."i3geousr_grupotema (id_grupo NUMERIC, id_tema NUMERIC)", "CREATE TABLE ".$esquemaadmin."i3geousr_grupos (id_grupo INTEGER PRIMARY KEY, nome TEXT)", "create table ".$esquemaadmin."i3geoestat_conexao (codigo_estat_conexao integer primary key,bancodedados text,host text,porta text,usuario text,senha text)", "create table ".$esquemaadmin."i3geoestat_tipo_regiao(codigo_tipo_regiao integer primary key,nome_tipo_regiao text,descricao_tipo_regiao text,codigo_estat_conexao integer,esquemadb text,tabela text,colunageo text,data text,identificador integer,colunanomeregiao text,srid text,colunacentroide text, colunasvisiveis text, apelidos text)", "create table ".$esquemaadmin."i3geoestat_agregaregiao(id_agregaregiao integer primary key,codigo_tipo_regiao integer,codigo_tipo_regiao_pai integer,colunaligacao_regiaopai text)", "create table ".$esquemaadmin."i3geoestat_tipo_periodo(codigo_tipo_periodo integer primary key,nome text,descricao text)", "create table ".$esquemaadmin."i3geoestat_unidade_medida(codigo_unidade_medida integer primary key,nome text,sigla text,permitesoma integer default 0,permitemedia integer default 0)", "create table ".$esquemaadmin."i3geoestat_variavel(codigo_variavel integer primary key,nome text,descricao text)", "create table ".$esquemaadmin."i3geoestat_medida_variavel(id_medida_variavel integer primary key,codigo_unidade_medida integer,codigo_tipo_periodo integer,codigo_variavel integer,codigo_tipo_regiao integer,codigo_estat_conexao integer,esquemadb text,tabela text,colunavalor text,colunaidgeo text,filtro text,nomemedida text,colunaidunico text)", "create table ".$esquemaadmin."i3geoestat_classificacao(id_classificacao integer primary key,nome text,id_medida_variavel integer,observacao text)", "create table ".$esquemaadmin."i3geoestat_classes(id_classe integer primary key,expressao text,titulo text,vermelho text,verde text,azul text,id_classificacao integer,tamanho text,simbolo text,overmelho text,overde text,oazul text,otamanho text)", "create table ".$esquemaadmin."i3geoestat_fonteinfo(id_fonteinfo integer primary key,titulo text unique,link text)", "create table ".$esquemaadmin."i3geoestat_fonteinfo_medida(id_medida_variavel integer not null,id_fonteinfo integer not null)", "create table ".$esquemaadmin."i3geoestat_medida_variavel_link(link text,id_medida_variavel integer,nome text,id_link integer primary key)", "create table ".$esquemaadmin."i3geoestat_parametro_medida(id_parametro_medida integer primary key,coluna text,nome text,descricao text,id_pai integer default 0,id_medida_variavel integer)", "create table ".$esquemaadmin."i3geoestat_mapa(id_mapa integer not null unique primary key autoincrement,titulo text,template text,logoesquerdo text,logodireito text,publicado integer)", "create table ".$esquemaadmin."i3geoestat_mapa_grupo(id_mapa_grupo integer not null unique primary key autoincrement,id_mapa integer,titulo text,foreign key (id_mapa) references i3geoestat_mapa (id_mapa))", "create table ".$esquemaadmin."i3geoestat_mapa_tema (id_mapa_tema integer not null unique primary key autoincrement,id_mapa_grupo integer,titulo text,id_medida_variavel integer,foreign key (id_mapa_grupo) references i3geoestat_mapa_grupo (id_mapa_grupo),foreign key (id_medida_variavel) references i3geoestat_medida_variavel (id_medida_variavel))" ); $drivename = $dbhw->getAttribute(PDO::ATTR_DRIVER_NAME); foreach($tabelas as $tabela){ if($drivename == "pgsql"){ $tabela = str_replace("INTEGER PRIMARY KEY","SERIAL PRIMARY KEY NOT NULL",$tabela); } if($_POST["mostraSoSQL"] != "on"){ $q = $dbhw->query($tabela); if($q){ echo "
Feito!!!

"; } else{ echo "
Ocorreu algum problema na criação das tabelas. Tabelas que deveriam ter sido criadas:\n";
	   	}
	}
}
echo "Tabelas:

"; foreach($tabelas as $tabela){ if($drivename == "pgsql"){ $tabela = str_replace("INTEGER PRIMARY KEY","SERIAL PRIMARY KEY NOT NULL",$tabela); } echo $tabela.";
"; } //var_dump($tabelas); echo "

Inserindo os registros default

"; $teste = lista("select * from ".$esquemaadmin."i3geousr_papeis","id_papel"); $sql = array(); if(!in_array(1,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES('Podem executar qualquer tarefa, inclusive cadastrar novos administradores',1,'admin')"; if(!in_array(2,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "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(3,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES('Podem alterar a arvore do catalogo e dos atlas',3,'publicadores')"; if(!in_array(4,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES('Podem editar dados geograficos',4,'editoresgeo')"; if(!in_array(5,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_papeis VALUES ('Podem administrar o sistema METAESTAT','5', 'adminmetaestat')"; $teste = lista("select * from ".$esquemaadmin."i3geousr_usuarios","id_usuario"); if(!in_array(1,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_usuarios VALUES(1,'','',0,'admingeral','admingeral','admingeral')"; $teste = lista("select * from ".$esquemaadmin."i3geousr_papelusuario","id_usuario","id_papel"); if(!in_array("1-1",$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_papelusuario VALUES(1,1)"; $teste = lista("select * from ".$esquemaadmin."i3geousr_operacoes","id_operacao"); if(!in_array(1,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(1,'admin/html/editormapfile','editor de mapfiles do sistema de administracao')"; if(!in_array(2,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(2,'admin/html/operacoes','abre o editor de operacoes')"; if(!in_array(3,$teste)) $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(3,'teste/','teste')"; if(!in_array(4,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(4,'admin/html/arvore','edicao da arvore do catalogo de temas')"; if(!in_array(5,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(5,'admin/html/menus','edicao da lista de menus')"; if(!in_array(6,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(6,'admin/html/ogcws','edicao das preferencias do servico WMS')"; if(!in_array(7,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(7,'admin/html/atlas','edicao de atlas')"; if(!in_array(8,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(8,'admin/html/identifica','lista de sistemas incluidos na ferramenta de identificacao')"; if(!in_array(9,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(9,'admin/html/incluimap','adapta mapfiles antigos para versoes novas do Mapserver')"; if(!in_array(10,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(10,'admin/html/mapas','lista de links para mapas')"; if(!in_array(11,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(11,'admin/html/perfis','lista controlada de perfis')"; if(!in_array(12,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(12,'admin/html/sistemas','lista de sistemas complementares que sao mostrados no catalogo')"; if(!in_array(13,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(13,'admin/html/subirshapefile','upload de shapefile para uma pasta especifica no servidor')"; if(!in_array(14,$teste)) $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(14,'admin/html/tags','edicao da lista controlada de tags')"; if(!in_array(15,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(15,'admin/html/webservices','cadastro de links para webservices')"; if(!in_array(16,$teste)) $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES(16,'admin/php/editortexto','editor de texto para mapfiles')"; if(!in_array(17,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES('17', 'admin/html/usuarios', 'cadastro de usuarios')"; if(!in_array(18,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES('18', 'admin/metaestat/geral', 'permite edicoes mais comuns do sistema de metadados estatisticos')"; if(!in_array(19,$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoes VALUES('19', 'admin/metaestat/editorbanco', 'permite gerenciar as tabelas do banco')"; $teste = lista("select * from ".$esquemaadmin."i3geousr_operacoespapeis","id_operacao","id_papel"); if(!in_array('1-2',$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(1,2)"; if(!in_array('1-3',$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(1,3)"; if(!in_array('4-3',$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(4,3)"; if(!in_array('5-3',$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(5,3)"; if(!in_array('7-3',$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(7,3)"; if(!in_array('10-3',$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(10,3)"; if(!in_array('13-2',$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(13,2)"; if(!in_array('13-4',$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(13,4)"; if(!in_array('15-3',$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(15,3)"; if(!in_array('16-2',$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(16,2)"; if(!in_array('18-1',$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES(18,1)"; if(!in_array('18-5',$teste) || $_POST["mostraSoSQL"] == "on") $sql[] = "INSERT INTO ".$esquemaadmin."i3geousr_operacoespapeis VALUES (18,5)"; echo "
Inserts:

"; foreach($sql as $s){ if($_POST["mostraSoSQL"] != "on"){ $dbhw->query($s); } echo $s.";
"; } 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; } ?>