<?php
	// ini_set('display_errors',1);
	// ini_set('display_startup_erros',1);
  	// error_reporting(E_ALL);
  	ini_set('memory_limit', -1);

	echo 'Iniciou em '.date('H:i:s').' <br />';
	####################### ATUAL #######################
	$mysqli = new mysqli("localhost", "plugbet_userT78Y", "kpFAHAZ{+M=7", "plugbet_db");

	// Caso algo tenha dado errado, exibe uma mensagem de erro
	if (mysqli_connect_errno()) trigger_error(mysqli_connect_error());
	$charset = mysqli_set_charset($mysqli, "utf-8");
	####################### /ATUAL ######################

	$permissoes[1] = '1-2-4-5-6-7-8-9-10-11-12-13-14-15-16-17-18-19-20-23-24-25-26-27-28-29-30-31-32-33-34-35-36-37-39-
betAllSports-futebol-basquete-volei-mma-tenis-futebolamericano';
	$permissoes[2] = '1-2-4-5-6-7-8-9-10-11-12-13-14-15-16-17-18-19-20-23-24-25-26-27-28-29-30-31-32-33-34-35-36-37-39-
betAllSports-futebol-basquete-volei-mma-tenis-futebolamericano';
	$permissoes[3] = '3-5-7-13-16-20-21-22-betAllSports';
	$permissoes[4] = '1-2-7-12-13-16-17-20-23-27-30-betAllSports';
	$permissoes[5] = '3-5-7-13-16-20-21-22-38-betAllSports';

	$table = $mysqli->escape_string($_GET["table"]);
	$items = array();
	$mqueries = '';
	echo 'Iniciando tabela <b>'.$table.'</b><br />';

	switch ($table) {
		case 'cupons':
			// Pesquisa clientes
			$clientes = array();
			$sql = $mysqli->query("SELECT cliente_id, cliente_nome FROM clientes ORDER BY cliente_id DESC LIMIT 6000");
			while ($c = $sql->fetch_assoc()) { $clientes[$c["cliente_id"]] = utf8_decode($c["cliente_nome"]); }

			$i = 0;
			$desconsiderar = array('cupom_jogos_faltantes', 'cupom_simulador', 'cupom_conferido', 'cupom_token', 'cupom_multiplas', 'cupom_status', 'cupom_subvendedor');
			$alteracoes = array('cupom_vendedor' => 'cupom_usuario', 'cupom_possivel_retorno' => 'cupom_retorno', 'cupom_qtd_jogos' => 'cupom_jogos');
			$sql = $mysqli->query("SELECT * FROM cupons");
			if(!$sql){ echo 'Erro: '.$mysqli->error; }
			while($r = $sql->fetch_assoc()){
				foreach ($r as $k => $v) {
					if(in_array($k, $desconsiderar)){ continue; }
					if(isset($alteracoes[$k])){ $k = $alteracoes[$k]; }
					if($k == 'cupom_cliente'){ $v = $clientes[$v]; }
					if($k == 'cupom_valor'){ $v = str_replace(',', '', $v); $v = str_replace('.', '', $v); }
					if($k == 'cupom_saidas'){ $v = str_replace(',', '', $v); $v = str_replace('.', '', $v); }
					if($k == 'cupom_comissao'){ $v = str_replace(',', '', $v); }
					$items[$i][$k] = $v;
				}
				$i++;
			}

			break;

		case 'lancamentos':
			$i = 0;
			$desconsiderar = array();
			$alteracoes = array();
			$sql = $mysqli->query("SELECT * FROM lancamentos");
			if(!$sql){ echo 'Erro: '.$mysqli->error; }
			while($r = $sql->fetch_assoc()){
				foreach ($r as $k => $v) {
					if(in_array($k, $desconsiderar)){ continue; }
					if(isset($alteracoes[$k])){ $k = $alteracoes[$k]; }
					if($k == 'lancamento_valor'){ $v = str_replace(',', '', $v); $v = str_replace('.', '', $v); }
					$items[$i][$k] = utf8_decode($v);
				}
				$i++;
			}

			break;

		case 'grades':
			$i = 0;
			$desconsiderar = array('cupom_jogos_faltantes', 'cupom_simulador', 'cupom_conferido', 'cupom_token', 'cupom_multiplas', 'cupom_status', 'cupom_subvendedor');
			$alteracoes = array('cupom_vendedor' => 'cupom_usuario', 'cupom_possivel_retorno' => 'cupom_retorno', 'cupom_qtd_jogos' => 'cupom_jogos');
			$sql = $mysqli->query("SELECT * FROM grades");
			if(!$sql){ echo 'Erro: '.$mysqli->error; }
			while($r = $sql->fetch_assoc()){
				foreach ($r as $k => $v) {
					if(in_array($k, $desconsiderar)){ continue; }
					if(isset($alteracoes[$k])){ $k = $alteracoes[$k]; }
					$items[$i][$k] = $v;
				}
				$i++;
			}

			break;

		case 'usuarios':
			$i = 0;
			$desconsiderar = array('usuario_servidor', 'usuario_comissao', 'usuario_comissao_duplas', 'usuario_comissao_multiplas', 'usuario_login', 'usuario_subsenha', 'usuario_limite_maos', 'usuario_limite_padrao', 'usuario_delay_apostas', 'usuario_dados_bancarios', 'usuario_cpf', 'usuario_rg', 'usuario_descontos', 'usuario_opcoes_partidas');
			$alteracoes = array('usuario_aposta_aovivo' => 'usuario_aovivo', 'usuario_limite_apostas' => 'usuario_credito');
			$sql = $mysqli->query("SELECT * FROM usuarios");
			if(!$sql){ echo 'Erro: '.$mysqli->error; }
			while($r = $sql->fetch_assoc()){
				$items[$i]['usuario_api_token'] = sha1($r['usuario_id'].rand(1111, 9999999));
				$items[$i]['usuario_permissoes'] = $permissoes[$r['usuario_tipo']];
				foreach ($r as $k => $v) {
					if(in_array($k, $desconsiderar)){ continue; }
					if(isset($alteracoes[$k])){ $k = $alteracoes[$k]; }
					if($k == 'usuario_limite_simples'){ $v = str_replace(',', '', $v); $v = str_replace('.', '', $v); }
					if($k == 'usuario_limite_duplas'){ $v = str_replace(',', '', $v); $v = str_replace('.', '', $v); }
					if($k == 'usuario_limite_geral'){ $v = str_replace(',', '', $v); $v = str_replace('.', '', $v); }
					if($k == 'usuario_aposta_minima'){ $v = str_replace(',', '', $v); $v = str_replace('.', '', $v); }
					if($k == 'usuario_aposta_maxima'){ $v = str_replace(',', '', $v); $v = str_replace('.', '', $v); }
					if($k == 'usuario_credito'){ $v = str_replace(',', '', $v); $v = str_replace('.', '', $v); }
					$items[$i][$k] = $v;
				}
				$i++;
			}

			break;

		case 'opcoes_grade':
			$i = 0;
			$desconsiderar = array();
			$alteracoes = array();
			$sql = $mysqli->query("SELECT * FROM opcoes_grade");
			if(!$sql){ echo 'Erro: '.$mysqli->error; }
			while($r = $sql->fetch_assoc()){
				foreach ($r as $k => $v) {
					if(in_array($k, $desconsiderar)){ continue; }
					if(isset($alteracoes[$k])){ $k = $alteracoes[$k]; }
					$items[$i][$k] = $v;
				}
				$i++;
			}

			break;

		case 'mercados':
			$i = 0;
			$desconsiderar = array();
			$alteracoes = array();
			$sql = $mysqli->query("SELECT * FROM mercados");
			if(!$sql){ echo 'Erro: '.$mysqli->error; }
			while($r = $sql->fetch_assoc()){
				$items[$i]['mercado_ativo'] = 1;
				foreach ($r as $k => $v) {
					if(in_array($k, $desconsiderar)){ continue; }
					if(isset($alteracoes[$k])){ $k = $alteracoes[$k]; }
					if($k == 'mercado_tipo'){ $v = str_replace('-', '0', $v); $v = str_replace('+', '1', $v);  }
					$items[$i][$k] = utf8_decode($v);
				}
				$i++;
			}

			break;

		case 'configs':
			$i = 0;
			$desconsiderar = array('config_url_aovivo', 'config_desconto_odds', 'config_desconto_validade', 'config_solicitar_senha_caixa', 'config_mapa', 'config_mapa_pos', 'config_aceitar_pagseguro', 'config_pagseguro_token', 'config_pagseguro_email', 'config_tel_cambista');
			$alteracoes = array('config_max_ganhos_vezes' => 'config_multiplicador');
			$sql = $mysqli->query("SELECT * FROM configs");
			if(!$sql){ echo 'Erro: '.$mysqli->error; }
			while($r = $sql->fetch_assoc()){
				foreach ($r as $k => $v) {
					if(in_array($k, $desconsiderar)){ continue; }
					if(isset($alteracoes[$k])){ $k = $alteracoes[$k]; }
					if($k == 'config_max_ganhos_reais'){ $v = str_replace(',', '', $v); $v = str_replace('.', '', $v); }
					if($k == 'config_not_valor'){ $v = str_replace(',', '', $v); $v = str_replace('.', '', $v); }
					if($k == 'config_not_premio'){ $v = str_replace(',', '', $v); $v = str_replace('.', '', $v); }
					$items[$i][$k] = $v;
				}
				$i++;
			}

			#############
			foreach ($items as $item) {
				$mq = "UPDATE configs SET ";
				foreach ($item as $k => $v) {
					$mq .= "$k = '$v', ";
				}

				$mq = substr($mq, 0, -2)." WHERE config_id = '1'; ";

				$mqueries .= $mq;
			}
			$items = array();
			#############

			break;

		case 'apostas':
			$i = 0;
			$desconsiderar = array('aposta_lixeira', 'aposta_token', 'aposta_multipla', 'aposta_aovivo', 'aposta_cliente', 'aposta_cupom_valor', 'aposta_status_ganhos', 'aposta_prestacao_contas', 'aposta_ganhos', 'aposta_xml_id', 'aposta_time1', 'aposta_time2', 'aposta_placar_jogo', 'aposta_info', 'aposta_valor', 'aposta_retorno');
			$alteracoes = array('aposta_vendedor' => 'aposta_usuario', 'aposta_match_id' => 'aposta_jogo_id', 'aposta_nome_aposta' => 'aposta_mercado', 'aposta_choice_id' => 'aposta_opcao_id');

			$finalizou = 0;
			$offset = 0;
			$limit = 40000;
			while ($finalizou == 0) {
				$sql = $mysqli->query("SELECT * FROM apostas LIMIT $limit OFFSET $offset");
				if(!$sql){ echo 'Erro: '.$mysqli->error; }
				if(mysqli_num_rows($sql) == 0){ $finalizou = 1; }
				$offset += mysqli_num_rows($sql);
				while($r = $sql->fetch_assoc()){
					foreach ($r as $k => $v) {
						if(in_array($k, $desconsiderar)){ continue; }
						if(isset($alteracoes[$k])){ $k = $alteracoes[$k]; }
						$items[$i][$k] = ($v);
					}
					$i++;
				}

				sleep(1);
			}

			break;

		case 'esportes':

			$ids = array();
			$sql = $mysqli->query("SELECT * FROM esportes WHERE esporte_exibido = '1'");
			while ($r = $sql->fetch_assoc()) { array_push($ids, $r["esporte_id"]); }
			$ids = join("','", $ids);
			$mqueries = "UPDATE esportes SET esporte_exibido = '0'; UPDATE esportes SET esporte_exibido = '1' WHERE esporte_id IN('$ids');";
			break;

		default:
			echo 'Tabela indefinida!'; exit;
			break;
	}

	// Monta query
	if(isset($items) && count($items) > 0){
		foreach ($items as $item) {
			$mq = "INSERT INTO $table SET ";
			foreach ($item as $k => $v) {
				$mq .= "$k = '$v', ";
			}

			$mq = substr($mq, 0, -2).'; ';

			$mqueries .= $mq;
		}
	}

	####################### ATUAL #######################
	$mysqli = new mysqli("localhost", "plugbet_novo", "Madha2018!", "plugbet_novo");

	// Caso algo tenha dado errado, exibe uma mensagem de erro
	if (mysqli_connect_errno()) trigger_error(mysqli_connect_error());
	$charset = mysqli_set_charset($mysqli, "utf-8");
	####################### /ATUAL ######################

	$sqlmulti = mysqli_multi_query($mysqli, $mqueries);
	if($sqlmulti){
		echo '<br /><br /> <b>As opções foram atualizadas!</b> <br /><br />';
	}
	else {
		if($mysqli->error == 'Query was empty'){
			echo '<br /><br /> <b>NÃO ATUALIZADO! Motivo: Banca já atualizada. Nenhuma ação é necessária.</b> <br /><br />';
		}
		else {
			echo '<br /><br /> <b>ERRO NA ATUALIZAÇÃO: '.$mysqli->error.'</b> <br /><br />';
		}
	}
	echo 'Finalizou em '.date('H:i:s').' <br />';
?>