<?php
    require('config_ini.php');
    require('criptar.php');

	$conexao = ibase_connect(
		  $local_banco,
		  "SYSDBA",
		  ($senha_banco_dados != "" ? Criptar::Cripto('D', $senha_banco_dados) : "masterkey"),
		  "ISO8859_1",
		  0,
		  3);

			$tabelas = array(
				0=> "cidades" ,
				1=>"bairros" ,
				2=>"clientes" ,
				3=>"pedidos" ,
					4=>"cpagto" ,
					5=>"grupos" ,
					6=>"portadores" ,
					7=>"ped_prods" ,
					8=>"produtos",
				9=>"prod_custos",
				10=>"promocoes",
				11=>"promocoes_prods",
				12=>"promocoes_cli",
				13=>"prod_listaprecos",
				14=>"listaprecos_cli",
				15=>"cli_portadores_dst",
				16=>"estprevenda",
				17=>"estprevenda_prods",
				18=>"manifesto",
				19=>"manifesto_prods",
				20=>"empresas",
				21=>"proxnronf",
				22=>"estados",
				23=>"natoperacao",
				24=>"classfiscal",
				25=>"cf_subst",
				26=>"trocas",
					27=>"vend_rotas_dst",
					28=>"justificativas",
					29=>"tf02_dst",
				30=>"config_cli_cores",
				31=>"gruposcontas",
				32=>"despesas_vend",
				33=>"marcas",
				34=>"promocoes_vend",
				35=>"config_valores",
				36=>"familias",
				37=>"familias_linha",
					38=>"roteirizacoes",
				39=>"situacao_follow",
				40=>"cli_agendamentos",
				41=>"merchandising",
				  42=>"pesquisas_merchan",
				  43=>"pesquisas_merchan_itens",
				44=>"cli_estoque",
				45=>"subgrupos",
				46=>"fechamento_manifesto",
				47=>"fechamento_manifesto_port",
				48=>"contasreceber",
				49=>"cobranca_android",
				50=>"cobranca_port",
				51=>"cobranca_crec",
				52=>"orcamentos",
				53=>"orc_itens",
			54=>"ped_desdobramento",
			55=>"contasreceber_pagto",
			56=>"transp_veiculos",
			57=>"bonificacoes",
			58=>"bonif_itens",
			59=>"bonif_participantes",
			60=>"bonif_excecoes",
		  61=>"tipospedidos",
		  62=>"clientes_credito",
		  63=>"segmentos",
		  64=>"vendedores_flex_mensal",
		  65=>"pesquisas_preco",
		  66=>"pesquisas_preco_itens",
		  67=>"pesquisas_preco_ranges",
		  68=>"vendedores",
		  69=>"perguntas_supervisor",
		  70=>"distribuicao",
		  71=>"distribuicao_itens",
		  72=>"visitas_android",
		  73=>"mensagens",
  		  74=>"plano_acao",
        75=>"descontos_qtdemin",
        76=>"horarios_vendedores",
        77=>"mix_obrigatorio",
        78=>"mix_obrigatorio_itens",
        79=>"estoque_reserva",
        80=>"bonif_prodbloq",
        81=>"resumo_checagens",
        82=>"cf_icms",
        83=>"pedidos_indeniz",
        84=>"pedidos_indeniz_prods",
        85=>"perguntaspdv",
        86=>"relatoriopdv",
        87=>"bloqprods",
        88=>"bloqprods_config",
        89=>"bloqprods_para",
        90=>"vendamultipla",
        91=>"alertaprods",
        92=>"alertaprods_prods",
        93=>"alertaprods_vends",
		    94=>"imagens_visitas",
		    95=>"pesq_varejo",
		    96=>"pesq_varejo_seg",
		    97=>"pesq_varejo_modelo",
		    98=>"pesq_varejo_presenca",
        99=>"pesq_varejo_exibextra",
        100=>"movlotemanif",
        101=>"vend_km",
        102=>"vendacombo",
        103=>"vendacombo_part",
        104=>"vendacombo_prods",
		    105=>"ped_servs",
		    106=>"fretes",
        107=>"clientes_contatos",
        108=>"produtos_unconv",
        109=>"prod_tiposestoque",
		    110=>"cli_equipamentos",
        111=>"listaprecos",
        112=>"bancos",
        113=>"pesq_varejo_vend",
        114=>"movcaixaflex",
        115=>"pesquisas_preco_android",
        116=>"pesq_preco_android_itens",
        117=>"pesqexibextra",
        118=>"clientes_giro",
        119=>"config_troca_indeniz",
        120=>"atendentes",
        121=>"pedidos_natureza",
        122=>"equipamentos",
        123=>"tiposequip",
        124=>"alertaprods_cli",
        125=>"ped_bloqueios",
        126=>"pastaprodutos",
        127=>"itens_obrig",
        128=>"itens_obrig_gr",
        129=>"itens_obrig_gr_prod",
        130=>"itens_obrig_seg",
        131=>"controleprodutos",
        132=>"config_indeniz",
        133=>"verbas",
        134=>"verbas_config",
        135=>"verbas_para",
        136=>"clientes_comod_prods",
        137=>"prd_cust_tb_cust",
        138=>"tab_custos_itens",
        139=>"motivos_troca",
        140=>"clientes_recolh_prods",
		141=>"consignado",
		142=>"cores",
		143=>"prod_fotos",
    	144=>"movimento_matrec",
		145=>"alerta_financeiro_vend",
		146=>"prazos_especiais",
		147=>"prod_fornecs",
		148=>"tab_descontos",
		149=>"faixas_desconto",
		150=>"faixas_desconto_val",
		151=>"faixas_desconto_part",
		152=>"tiposestoque",
		153=>"redes",
		154=>"classfiscal_ipi",
		155=>"ipi",
		156=>"controletabelas_mobile",
		157=>"rotas",
		158=>"feriados",
		159=>"combo_fotos",
		160=>"unidades",
		161=>"cli_vendedores"
        );
     $query = ibase_query($conexao,
        "SELECT lower(trim(RDB\$RELATION_NAME))  ".
        "FROM RDB\$RELATIONS WHERE RDB\$RELATION_NAME starting with 'X_CUSTOM'");
     while($row = ibase_fetch_row($query, IBASE_TEXT)) {
       $tabelas[] = $row[0];
	   }

	   function tabela($TAB) {

	   global $tabelas;

	   $achou = FALSE;
	   for ($i = 0; $i < count($tabelas); $i++)
		  if ($tabelas["$i"] == $TAB) {
			$achou = TRUE;
			break;
	   }

   	return $achou;

   }

  //CRIAR TABELA TF02_DST
  $query = ibase_query($conexao,
    "SELECT COUNT(RDB\$RELATION_NAME) FROM RDB\$RELATIONS WHERE RDB\$RELATION_NAME = 'TF02_DST'");
  $row = ibase_fetch_row($query);

  if ($row[0] <= 0) {
    $query = ibase_query($conexao,
        "CREATE TABLE TF02_DST (".
		"    ID             INTEGER NOT NULL,".
		"    CODCLIENTE     INTEGER,".
		"    CODCIDADE      SMALLINT,".
		"    DIASEMANA      SMALLINT,".
		"    DIFERENCADIAS  SMALLINT,".
		"    STATUS         VARCHAR(50) COLLATE PT_PT,".
		"    MOTIVO         VARCHAR(50) COLLATE PT_PT,".
		"    OBS            BLOB SUB_TYPE 1 SEGMENT SIZE 80,".
		"    DATAHORA       TIMESTAMP,".
		"    CODVENDEDOR    SMALLINT NOT NULL,".
		"    CODJUST        SMALLINT,".
		"    DATA           DATE,".
		"    CONSTRAINT PK_TF02_DST PRIMARY KEY (CODVENDEDOR, ID),".
		"    CONSTRAINT FK_TF02_DST_CIDADES FOREIGN KEY (CODCIDADE) REFERENCES ".
		"CIDADES (CODCIDADE) ON UPDATE CASCADE,".
		"    CONSTRAINT FK_TF02_DST_JUSTIFICAT FOREIGN KEY (CODJUST) REFERENCES ".
		"JUSTIFICATIVAS (CODJUST) ON UPDATE CASCADE,".
		"    CONSTRAINT FK_TF02_DST_VENDEDORES FOREIGN KEY (CODVENDEDOR) ".
		"REFERENCES VENDEDORES (CODVENDEDOR) ON UPDATE CASCADE)") or die(ibase_errmsg);
  }

  //UPDATE EM CONDIÇÕES DE PAGTO
  $query = ibase_query($conexao, "SELECT COUNT(*) FROM RDB\$RELATION_FIELDS WHERE RDB\$RELATION_NAME = 'CONFIG' and RDB\$FIELD_NAME = 'ATUCPAGTO'") or die(ibase_errmsg);
  $row = ibase_fetch_row($query);
  if ($row[0] <= 0)
    $query = ibase_query($conexao, "ALTER TABLE CONFIG ADD ATUCPAGTO SMALLINT") or die(ibase_errmsg);

  $query = ibase_query($conexao, "SELECT COALESCE(ATUCPAGTO,0) FROM CONFIG") or die(ibase_errmsg);
  $row = ibase_fetch_row($query);
  if ($row[0] == 0) {
    ibase_query($conexao, "update CPAGTO set CODCPAGTO = CODCPAGTO") or die(ibase_errmsg);
    ibase_query($conexao, "update CONFIG set ATUCPAGTO = 1") or die(ibase_errmsg);
  }


?>