function montaDadosParceiro($p) { $cid = cidade::find_by_id($p->cidade_id); $est = estado::find_by_id($p->estado_id); $pg = empresa_pg::find_by_parceiros_id($p->id); $result = array(); $caminhoBE = dirname(__DIR__) . '/views/img/paginas/'; $result['id'] = $p->id; $result['nome'] = $p->nome; if (count($pg) > 0) { if ($pg->img_logo != '') { list($largura, $altura, $tipo, $attr) = getimagesize($caminhoBE . $pg->img_logo); if ($largura > $altura) { $result['largura'] = '200px'; $result['altura'] = 'auto'; } else { $result['largura'] = 'auto'; $result['altura'] = '160px'; } } $result['logo'] = $pg->img_logo; $result['resumo'] = substr($pg->txt_sobre, 0, 100) . '...'; } else { $result['logo'] = ''; $result['resumo'] = ''; } $result['end'] = $p->logradouro; if ($p->complemento != '' && $p->complemento != null) { $result['end'] .= '<br>' . $p->complemento; } $result['end'] .= '<br>' . $cid->cidade . '/' . $est->uf; $result['fone'] = $p->fone; $result['site'] = $p->site == null ? '' : $p->site; return $result; }
} } else { // aberta $campos = array('', 'cnpj', 'id', 'nome', 'email'); $campo = $campos[$_POST['campo']]; $texto = $_POST['texto']; $options['conditions'] = $campo . " LIKE '%" . $texto . "%'"; $options['order'] = 'id ' . $ordem . ',' . $campo . ' ' . $ordem; } $total = count(parceiro::find('all', $options)); // retorna o total de registros encontrados $parc = parceiro::find('all', $options); $conta = 0; if (count($parc) > 0) { foreach ($parc as $dadosParc) { $cidade = cidade::find_by_id($dadosParc->cidade_id); $estado = estado::find_by_id($dadosParc->estado_id); $p = array(); $email = ''; if ($dadosParc->email != '') { $email = '<a href="mailto:' . $dadosParc->email . '">' . $dadosParc->email . '</a>'; } $p['id'] = $dadosParc->id; $p['cnpj'] = $dadosParc->cnpj; $p['nome'] = $dadosParc->nome; $p['email'] = $email; $p['local'] = $cidade->cidade . '/' . $estado->uf; $p['acessos'] = $dadosParc->acessos; $p['cadastro'] = date('d/m/Y', strtotime($dadosParc->data_cadastro)); $p['ultacesso'] = date('d/m/Y', strtotime($dadosParc->data_atualizacao)); $p['ultpagto'] = date('d/m/Y', strtotime($dadosParc->data_ultimo_pgto));
public static function compraCreditos($idp, $idpct) { /** * Executa uma operação de compra de créditos * * @param int $idp ID do parceiro * @param int $idpct ID do pacote comprado * @param int $tipo transação : 2 = cartão (default) | 3 = boleto | 4 = depósito * @param string $obj objeto da operação */ // As ações de compra e bônus possuem status = 0 (espera) e não atualiza o saldo de créditos // até que a operação de checkout retorne o valor como pago. $hoje = new ActiveRecord\DateTime(date('Y-m-d H:i:s')); $saldo = creditos_saldo_parceiro::find_by_parceiro_id('first', $idp); $parceiro = parceiro::find_by_id($idp); if (!$parceiro) { return self::ERRO_USUARIO_INVALIDO; } $ddd = (int) substr($parceiro->fone, 1, 2); $fone = (int) str_replace('-', '', substr($parceiro->fone, 4, 10)); $options['conditions'] = array('parceiro_id = ? AND vencimento >= ? AND flag_ativo = ?', $idp, $hoje, 1); $bonusUnico = creditos_bonus_unico::first($options); // Pega os dados de créditos, custo e bonus do pacote $pacote = creditos_pacote::find_by_id($idpct); if (!$pacote || $pacote->flag_ativo == 0) { return self::ERRO_PACOTE_INVALIDO; } $titulo = $pacote->titulo; $creditos = $pacote->quant_creditos; $custo = $pacote->custo_pacote_reais; $referencia = $idp . '-SC-' . self::contaEventos($idp, self::SC, 1); // utilizado para rastrear todos as fases da operação $bonus_geral = 0; $bonus_unico = 0; // avalia bonus geral e único if ($pacote->creditos_bonus > 0 && strtotime($pacote->data_limite_bonus) >= strtotime($hoje)) { $bonus_geral = $pacote->creditos_bonus; } $buOptions['conditions'] = array('parceiro_id = ? AND vencimento >= ? AND flag_ativo = ?', $idp, $hoje, 1); $bu = creditos_bonus_unico::first($buOptions); if ($bu) { $bonus_unico = $bu->bonus; } // inicializa classe do pagseguro, inserindo dados de usuário $paymentRequest = new PagSeguroPaymentRequest(); $paymentRequest->addItem($idpct, $titulo, 1, $custo); $paymentRequest->setSender($parceiro->responsavel . ' - ' . $parceiro->nome, $parceiro->email, $ddd, $fone); $paymentRequest->setCurrency('BRL'); $paymentRequest->setReference($referencia); //$paymentRequest->addParameter('notificationURL', self::NOTIFICATION_URL); $sedexCode = PagSeguroShippingType::getCodeByType('NOT_SPECIFIED'); $paymentRequest->setShippingType($sedexCode); $cidade = cidade::find_by_id($parceiro->cidade_id); $estado = estado::find_by_id($parceiro->estado_id); $postalCode = str_replace('-', '', $parceiro->cep); $postalCode = str_replace('.', '', $postalCode); $logradouro = explode(', ', $parceiro->logradouro); $paymentRequest->setShippingAddress($postalCode, $logradouro[0], $logradouro[1], $parceiro->complemento, $parceiro->bairro, $cidade->cidade, $estado->uf, 'BRA'); // inicia o processo de transação enviando as credenciais e // solicitando o código da operação try { $credentials = PagSeguroConfig::getAccountCredentials(); // getApplicationCredentials() $checkoutUrl = $paymentRequest->register($credentials); // FORMATO: https://pagseguro.uol.com.br/v2/checkout/payment.html?code=1C9B0FD3AEAE0FF004A39F98B751B1E5 $codigo = explode('=', $checkoutUrl); // grava os dados da operação antes inicar $dadosPagSeguro = array(); $dadosPagSeguro['parceiro_id'] = $idp; $dadosPagSeguro['parceiro_nome'] = $parceiro->responsavel . ' - ' . $parceiro->nome; $dadosPagSeguro['parceiro_email'] = $parceiro->email; $dadosPagSeguro['parceiro_fone'] = $parceiro->fone; $dadosPagSeguro['bonus_geral'] = $bonus_geral; $dadosPagSeguro['bonus_unico'] = $bonus_unico; $dadosPagSeguro['pacote_id'] = $idpct; $dadosPagSeguro['pacote_titulo'] = $titulo; $dadosPagSeguro['pacote_creditos'] = $creditos; $dadosPagSeguro['flag_pacote_creditado'] = 0; $dadosPagSeguro['data_cadastro'] = $hoje; $dadosPagSeguro['data_atualizacao'] = $hoje; $dadosPagSeguro['codigo_link'] = $codigo[1]; $dadosPagSeguro['referencia'] = $referencia; $dadosPagSeguro['tipo_transacao'] = 1; // 1 == compra | 11 == assinatura $dadosPagSeguro['status_transacao'] = 0; // inicia como 0 $dadosPagSeguro['fases'] = 0; // registra todos os status retornados pelo pagseguro. Inicia como 0 $dadosPagSeguro['valor_reais'] = $custo; $pagseguro = operacoes_pagseguro::create($dadosPagSeguro); $pagseguro->save(); $observação = 'Solicitação de compra PagSeguro ' . $referencia . '(R$' . number_format($custo, 2, ',', '.') . ')'; // registra o crédito adquirido como status EM ESPERA self::registraEvento($idp, self::SC, $saldo->saldo, $referencia, $crdt, $custo, 1, $observação); // descomentar esta linha na versão final // return $codigo[1]; return self::ERRO_OPERACAO_TESTE_CANCELADA; } catch (PagSeguroServiceException $e) { // implementar retorno de erro personalizado die($e->getMessage()); } }
<?php require "connect_func.php"; $estados = estado::find('all', array('order' => 'uf asc')); $cidades = cidade::find('all', array('order' => 'cidade asc')); $arr_estados = array(); // echo count($estados); foreach ($estados as $estado) { $arr_estado = array(); $arr_cidades = array(); $arr_estado['iditem'] = $estado->id; $arr_estado['nome'] = $estado->uf; $arr_estado['nomefull'] = $estado->estado; // array_push($arr_estados, $estado->to_array()); foreach ($cidades as $cidade) { if ($estado->id == $cidade->estado_id) { $arr_cidade = array(); $arr_cidade['iditem'] = $cidade->id; $arr_cidade['nome'] = $cidade->cidade; array_push($arr_cidades, $arr_cidade); } } $arr_estado['cidades'] = $arr_cidades; array_push($arr_estados, $arr_estado); } echo json_encode($arr_estados, JSON_UNESCAPED_UNICODE); // Abre ou cria o arquivo bloco1.txt // "a" representa que o arquivo é aberto para ser escrito $fp = fopen("ufscdds.json", "a"); // Escreve "exemplo de escrita" no bloco1.txt $escreve = fwrite($fp, json_encode($arr_estados, JSON_UNESCAPED_UNICODE));
if (count($orcs_parc) == 0) { if ($orca->uf_origem == $orca->uf_destino) { // se o estado for o mesmo $est_parc = est_atendido::find('first', array('conditions' => array('parceiros_id = ? AND estados_id = ?', $parceiro->id, $orca->uf_origem))); if ($est_parc) { // se atende o estado if ($est_parc->select == 2) { // todo o estado gravaOrcamentoEnviado($orca, $parceiro); } else { if ($est_parc->select == 1) { // parcial // descobre a região de cada orçamento $ro = cidade::find($orca->cidade_origem); $regiao_origem = $ro->regioe_id; $rd = cidade::find($orca->cidade_destino); $regiao_destino = $rd->regioe_id; if ($orca->cidade_origem == $orca->cidade_destino) { // se as cidades de origem e destino sao a mesmas // busca pela cidade $cdd_parc = cdd_atendida::find('first', array('conditions' => array('parceiros_id = ? AND cidades_id = ?', $parceiro->id, $orca->cidade_origem))); // busca pela regiao da cidade $reg_parc = reg_atendida::find('first', array('conditions' => array('parceiros_id = ? AND estadosregioes_id = ?', $parceiro->id, $regiao_origem))); if ($cdd_parc && $cdd_parc->select == 1 || $reg_parc && $reg_parc->select == 2) { gravaOrcamentoEnviado($orca, $parceiro); } } else { // se as cidades de origem e destino forem diferentes if ($regiao_origem == $regiao_destino) { // se as regioes das cidades forem as mesmas $reg_parc = reg_atendida::find('first', array('conditions' => array('parceiros_id = ? AND estadosregioes_id = ?', $parceiro->id, $regiao_origem)));
if (count($est_at) > 0) { foreach ($est_at as $e) { if ($e->parceiro->recebe_pedidos != 0) { $dadosParceiro = array(); $dadosParceiro['id'] = $e->parceiro->id; $dadosParceiro['email'] = $e->parceiro->email; $dadosParceiro['nome'] = $e->parceiro->nome; $dadosParceiro['resp'] = $e->parceiro->responsavel; array_push($listaParceiros, $dadosParceiro); } } } // identifica as REGIÕES de origem e destino $ro = cidade::find($dados['cidade_origem']); $regiao_origem = $ro->regioe_id; $rd = cidade::find($dados['cidade_destino']); $regiao_destino = $rd->regioe_id; if ($regiao_origem == $regiao_destino) { $reg_at = reg_atendida::find_all_by_select_and_estadosregioes_id(2, $regiao_origem); if (count($reg_at) > 0) { foreach ($reg_at as $e) { if ($e->parceiro->recebe_pedidos != 0) { $dadosParceiro = array(); $dadosParceiro['id'] = $e->parceiro->id; $dadosParceiro['email'] = $e->parceiro->email; $dadosParceiro['nome'] = $e->parceiro->nome; $dadosParceiro['resp'] = $e->parceiro->responsavel; array_push($listaParceiros, $dadosParceiro); } } }
$lista = array(); $erros = array(); // erros $erros['id'] = 'Erro de acesso. Id não forneceido'; $erros['vazio'] = 'No momento não há pedidos de orçamento ativos para sua empresa em nossos sistemas.'; if (isset($_POST['id'])) { // $listaPedidos = orcaenviado::find_all_by_parceiros_id($_POST['id'], array('order' => 'data_mudanca desc')); $listaPedidos = orcaenviado::find_all_by_parceiros_id($_POST['id'], array('order' => 'orcamentos_id desc')); if (count($listaPedidos) > 0) { foreach ($listaPedidos as $p) { // verifica os pedidos dentro do limite de dias estabelecido $diasPassados = $limiteDias->diff($p->data_mudanca); if ($diasPassados->invert == 0) { $pedido = array(); $cidadeO = cidade::find_by_id($p->orcamento->cidade_origem); $cidadeD = cidade::find_by_id($p->orcamento->cidade_destino); $estadoO = estado::find_by_id($p->orcamento->uf_origem); $estadoD = estado::find_by_id($p->orcamento->uf_destino); $pedido['id'] = $p->orcamentos_id; $pedido['pedido'] = $p->orcamento->pedido; $pedido['data'] = $p->orcamento->data_registro; $pedido['origem'] = $cidadeO->cidade . '/' . $estadoO->uf; $pedido['destino'] = $cidadeD->cidade . '/' . $estadoD->uf; $pedido['data_muda'] = $p->data_mudanca; $pedido['visivel'] = -1; $visivel = $hoje->diff($p->data_mudanca); if ($visivel->invert == 0 || $visivel->days == 0) { $pedido['visivel'] = $p->visualizado; } array_push($lista, $pedido); }
// aberta $campos = array('', 'pedido', 'id', 'solicitante', 'email'); $campo = $campos[$_POST['campo']]; $texto = $_POST['texto']; $options['conditions'] = $campo . " LIKE '%" . $texto . "%'"; $options['order'] = 'id ' . $ordem . ',' . $campo . ' ' . $ordem; } $total = count(orcamento::find('all', $options)); // retorna o total de registros encontrados $orcs = orcamento::find('all', $options); $conta = 0; if (count($orcs) > 0) { foreach ($orcs as $dadosOrc) { $cidadeO = cidade::find_by_id($dadosOrc->cidade_origem); $estadoO = estado::find_by_id($dadosOrc->uf_origem); $cidadeD = cidade::find_by_id($dadosOrc->cidade_destino); $estadoD = estado::find_by_id($dadosOrc->uf_destino); $p = array(); $p['id'] = $dadosOrc->id; $p['pedido'] = $dadosOrc->pedido; $p['cadastro'] = date('d/m/Y - H:i', strtotime($dadosOrc->data_registro)); $p['mudanca'] = date('d/m/Y', strtotime($dadosOrc->data_mudanca)); $p['origem'] = $cidadeO->cidade . '/' . $estadoO->uf; $p['destino'] = $cidadeD->cidade . '/' . $estadoD->uf; $p['nome'] = $dadosOrc->solicitante; $p['email'] = '<a href="mailto:' . $dadosOrc->email . '">' . $dadosOrc->email . '</a>'; $p['entregue'] = $dadosOrc->tot_enviados; $p['vistos'] = $dadosOrc->tot_visualizados; $p['itens'] = $dadosOrc->itens; array_push($ORCAMENTOS, $p); }
<?php require "connect_func.php"; $cidades = cidade::find('all'); echo 'slug cidades iniciado'; foreach ($cidades as $cidade) { $dados = array(); $slug = slug(strtolower($cidade->cidade)); $dados['slug'] = $slug; $cidade->update_attributes($dados); } echo 'slug cidades finalizado'; function slug($string) { return preg_replace(array('/([`^~\'"])/', '/([-]{2,}|[-+]+|[\\s]+)/', '/(,-)/'), array(null, '-', ', '), iconv('UTF-8', 'ASCII//TRANSLIT', $string)); }
$cddselect = $cdd->cidade; $ide = $est->id; $idc = $cdd->id; } $busca = 'buscaEmpresas(' . $ide . ',' . $idc . ',' . $pg . ');'; } $app->render('empresas-de-mudancas.html', ['fbpixel' => 'Search', 'calljs' => $busca, 'ufselect' => $ufselect, 'cddselect' => $cddselect]); })->setName('busca'); // busca para o google $app->get('/empresas-mudancas(/:uf(/:cidade))', function ($uf = '', $cidade = '') use($app) { $busca = ''; $ufselect = ''; $cddselect = ''; $erro = ''; $ide = -1; $idc = -1; $pg = '"google"'; // única alteração que define a busca para o google if ($uf != '' && $cidade != '') { $est = estado::find_by_uf(strtoupper($uf)); $cdd = cidade::find_by_slug(strtolower($cidade)); if (count($est) > 0 && count($cdd) > 0) { $ufselect = $est->uf; $cddselect = $cdd->cidade; $ide = $est->id; $idc = $cdd->id; } $busca = 'buscaEmpresas(' . $ide . ',' . $idc . ',' . $pg . ');'; } $app->render('empresas-de-mudancas.html', ['fbpixel' => 'Search', 'calljs' => $busca, 'ufselect' => $ufselect, 'cddselect' => $cddselect, 'google' => 1]); })->setName('busca-google');
if ($ufD != 0) { // possui uf de destino $QUERY .= ' AND uf_destino= ?'; array_push($pesquisa, $ufD); } // insere a query no início do array array_unshift($pesquisa, $QUERY); $options['conditions'] = $pesquisa; $options['order'] = 'data_mudanca asc'; $listaPedidos = orcamento::find('all', $options); // configura a saída da lista if (count($listaPedidos) > 0) { foreach ($listaPedidos as $p) { $pedido = array(); $cidadeO = cidade::find_by_id($p->cidade_origem); $cidadeD = cidade::find_by_id($p->cidade_destino); $estadoO = estado::find_by_id($p->uf_origem); $estadoD = estado::find_by_id($p->uf_destino); $pedido['id'] = $p->id; $pedido['pedido'] = $p->pedido; $pedido['data'] = $p->data_registro; $pedido['origem'] = $cidadeO->cidade . '/' . $estadoO->uf; $pedido['destino'] = $cidadeD->cidade . '/' . $estadoD->uf; $pedido['data_muda'] = $p->data_mudanca; $pedidosParceiro = orcaenviado::find_by_parceiros_id_and_orcamentos_id($_POST['id'], $p->id); if ($pedidosParceiro && $pedidosParceiro->visualizado == 1) { $pedido['visivel'] = 1; $pedido['custo'] = 0; } else { $pedido['visivel'] = 0; $pedido['custo'] = operacoes_de_credito::pegaCustoPedido($p->id);