✏️ 正在编辑: DadosSincronizacao.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/application/forms/DadosSincronizacao.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Form_DadosSincronizacao extends Core_Form { /** @var Model_ConfigSincronizacao */ private $configSincronizacao; private static $bancos = [ 'banrisul', 'bmg', 'c6', 'facta', 'api_pan', 'api_safra', 'bevicred', 'banco_master', 'credfranco', 'icred', ]; public function init() { $this->setName('f_save_dados_sincronizacao'); $this->setMethod('post'); $this->setAttrib('class', 'form-config-api'); $this->configSincronizacao = model('config-sincronizacao'); foreach (self::$bancos as $banco) { $this->addElement('text', "usuario_$banco", [ 'label' => 'Login:', 'class' => 'not_upper' ]); if ($banco == 'icred') { //icred não tem o campo de senha continue; } $this->addElement('password', "senha_$banco", [ 'label' => 'Senha:', 'class' => 'not_upper', 'renderPassword' => 'true' ]); } $this->addElement('text', "login_certificado_api_safra", [ 'label' => 'Login certificado:', 'class' => 'not_upper' ]); $this->addElement('text', "cod_loja_bmg", [ 'label' => 'Código de loja:', 'class' => 'not_upper' ]); $this->addElement('text', "usuario_consig_bmg", [ 'label' => 'Usuário Consig:', 'class' => 'not_upper' ]); $this->getElement('usuario_consig_bmg')->addDecorator('Label', ['tag' => 'dt', 'tagClass' => 'clear']); $this->addElement('password', "senha_consig_bmg", [ 'label' => 'Senha Consig:', 'class' => 'not_upper', 'renderPassword' => 'true' ]); $this->addElement('text', "login_certificado_facta", [ 'label' => 'Login certificado:', 'class' => 'not_upper' ]); $this->addElement('text', "cpf_agente_banrisul", [ 'label' => 'CPF Agente:', 'class' => 'not_upper', 'onkeypress' => 'mascara(this, fcpf)', 'maxlength' => 14 ]); $this->addElement('text', "usuario_banrisul2", [ 'label' => 'Login:', 'class' => 'not_upper' ]); $this->getElement('usuario_banrisul2') ->addDecorator('Label', ['tag' => 'dt', 'tagClass' => 'clear']); $this->addElement('password', "senha_banrisul2", [ 'label' => 'Senha:', 'class' => 'not_upper', 'renderPassword' => 'true' ]); $this->addElement('text', "usuario_banrisul3", [ 'label' => 'Login:', 'class' => 'not_upper' ]); $this->getElement('usuario_banrisul3') ->addDecorator('Label', ['tag' => 'dt', 'tagClass' => 'clear']); $this->addElement('password', "senha_banrisul3", [ 'label' => 'Senha:', 'class' => 'not_upper', 'renderPassword' => 'true' ]); $this->addElement('text', "codigo_digitador_c6", [ 'label' => 'Código do digitador:', 'class' => 'not_upper', 'onkeypress' => 'mascara(this, soNumeros)', ]); $this->addElement('text', "usuario_digitador_mercantil", [ 'label' => 'Usuário digitador:', 'class' => 'not_upper' ]); $this->addElement('text', "cpf_agente_certificado_mercantil", [ 'label' => 'CPF Agente Certificado:', 'class' => 'not_upper', 'onkeypress' => 'mascara(this, fcpf)', 'maxlength' => 14 ]); $this->addElement('text', "uf_atuacao_mercantil", [ 'label' => 'UF de atuação:', 'maxlength' => 2 ]); $this->addElement('text', "dev_key", [ 'label' => 'Dev Key:', 'class' => 'not_upper' ]); $this->addElement('text', "ole_key", [ 'label' => 'Olé Key:', 'class' => 'not_upper' ]); $this->getElement('usuario_api_pan')->setLabel('Usuário:'); $this->addElement('text', "id_canal_venda_banco_master", [ 'label' => 'Id Canal Venda:', 'class' => 'not_upper', 'onkeypress' => 'mascara(this, soNumeros)' ]); $this->addElement('text', "cpf_digitador_banco_master", [ 'label' => 'CPF Digitador:', 'onkeypress' => 'mascara(this, fcpf)', 'maxlength' => 14 ]); $this->addElement('button', 'btn_back', [ 'label' => 'Voltar', 'class' => 'bt_back', 'onclick' => "window.location='" . $this->getView()->baseUrl() . "/sincronizacao/importar-direto'" ]); $this->addElement('submit', 'btn_salvar', [ 'label' => 'Salvar', 'class' => 'bt_save' ]); $this->addDisplayGroup([ 'usuario_banrisul', 'senha_banrisul', 'cpf_agente_banrisul', 'usuario_banrisul2', 'senha_banrisul2', 'usuario_banrisul3', 'senha_banrisul3', ], 'dados_banrisul', ['legend' => 'Banrisul (API)']); $this->addDisplayGroup([ 'usuario_bmg', 'senha_bmg', 'cod_loja_bmg', 'usuario_consig_bmg', 'senha_consig_bmg', ], 'dados_bmg', ['legend' => 'BMG Consig (API)']); $this->addDisplayGroup([ 'usuario_c6', 'senha_c6', 'codigo_digitador_c6', ], 'dados_c6', ['legend' => 'C6 Bank (API)']); $this->addDisplayGroup([ 'usuario_facta', 'senha_facta', 'login_certificado_facta', ], 'dados_facta', ['legend' => 'Facta Financeira (API)']); $this->addDisplayGroup([ 'usuario_icred' ], 'dados_icred', ['legend' => 'iCred (API)']); $this->addDisplayGroup([ 'usuario_digitador_mercantil', 'cpf_agente_certificado_mercantil', 'uf_atuacao_mercantil', ], 'dados_mercantil', ['legend' => 'Mercantil (API)']); $this->addDisplayGroup([ 'usuario_api_pan', 'senha_api_pan', ], 'dados_api_pan', ['legend' => 'Pan (API)']); $this->addDisplayGroup([ 'usuario_api_safra', 'senha_api_safra', 'login_certificado_api_safra', ], 'dados_api_safra', ['legend' => 'Safra (API)']); $this->addDisplayGroup([ 'dev_key', 'ole_key', ], 'dados_ole', ['legend' => 'Bonsucesso (Status)']); $this->addDisplayGroup([ 'usuario_bevicred', 'senha_bevicred', ], 'dados_bevicred', ['legend' => 'Bevicred']); $this->addDisplayGroup([ 'usuario_banco_master', 'senha_banco_master', 'id_canal_venda_banco_master', 'cpf_digitador_banco_master', ], 'dados_banco_master', ['legend' => 'Banco Master']); $this->addDisplayGroup([ 'usuario_credfranco', 'senha_credfranco', ], 'dados_credfranco', ['legend' => 'Credfranco (API)']); $this->addPanElements(); $this->removeGroupLabelDecorator(); $this->addDisplayGroup(['btn_back', 'btn_salvar'], 'buttons'); self::_carregaArquivoConfiguracaoImportacao(); } private function removeGroupLabelDecorator() { foreach($this->getDisplayGroups() as $displayGroup){ $displayGroup->removeDecorator('DtDdWrapper'); } } public function populate(array $values) { if(!empty($values['ICRED'])){ $values['usuario_icred'] = $values['ICRED']['usuario']; } if(!empty($values['API_SAFRA'])){ $values['usuario_api_safra'] = $values['API_SAFRA']['usuario']; $values['senha_api_safra'] = $values['API_SAFRA']['senha']; $values['login_certificado_api_safra'] = $values['API_SAFRA']['login_certificado']; } if(!empty($values['BMG'])){ $values['usuario_bmg'] = $values['BMG']['usuario']; $values['senha_bmg'] = $values['BMG']['senha']; $values['cod_loja_bmg'] = $values['BMG']['cod_loja']; $values['usuario_consig_bmg'] = $values['BMG']['usuario_consig']; $values['senha_consig_bmg'] = $values['BMG']['senha_consig']; } if(!empty($values['BANRISUL'])){ $values['usuario_banrisul'] = $values['BANRISUL']['usuario']; $values['senha_banrisul'] = $values['BANRISUL']['senha']; $values['cpf_agente_banrisul'] = $values['BANRISUL']['cpf_agente']; if(!empty($values['BANRISUL']['usuario2']) || !empty($values['BANRISUL']['senha2'])){ $values['usuario_banrisul2'] = $values['BANRISUL']['usuario2']; $values['senha_banrisul2'] = $values['BANRISUL']['senha2']; } if(!empty($values['BANRISUL']['usuario3']) || !empty($values['BANRISUL']['senha3'])){ $values['usuario_banrisul3'] = $values['BANRISUL']['usuario3']; $values['senha_banrisul3'] = $values['BANRISUL']['senha3']; } } if(!empty($values['BONSUCESSO'])){ $values['dev_key'] = $values['BONSUCESSO']['dev_key']; $values['ole_key'] = $values['BONSUCESSO']['ole_key']; } if (!empty($values['FACTA'])) { $values['usuario_facta'] = $values['FACTA']['usuario']; $values['senha_facta'] = $values['FACTA']['senha']; $values['login_certificado_facta'] = $values['FACTA']['login_certificado']; } if (!empty($values['C6'])) { $values['usuario_c6'] = $values['C6']['usuario']; $values['senha_c6'] = $values['C6']['senha']; $values['codigo_digitador_c6'] = $values['C6']['codigo_digitador']; } if (!empty($values['MERCANTIL'])) { $values['usuario_digitador_mercantil'] = $values['MERCANTIL']['usuario_digitador']; $values['cpf_agente_certificado_mercantil'] = $values['MERCANTIL']['cpf_agente_certificado']; $values['uf_atuacao_mercantil'] = $values['MERCANTIL']['uf_atuacao']; } if (!empty($values['API_PAN'])) { $values['usuario_api_pan'] = $values['API_PAN']['usuario']; $values['senha_api_pan'] = $values['API_PAN']['senha']; } if (!empty($values['BEVICRED'])) { $values['usuario_bevicred'] = $values['BEVICRED']['usuario']; $values['senha_bevicred'] = $values['BEVICRED']['senha']; } if (!empty($values['BANCO_MASTER'])) { $values['usuario_banco_master'] = $values['BANCO_MASTER']['usuario']; $values['senha_banco_master'] = $values['BANCO_MASTER']['senha']; $values['id_canal_venda_banco_master'] = $values['BANCO_MASTER']['id_canal_venda']; $values['cpf_digitador_banco_master'] = $values['BANCO_MASTER']['cpf_digitador']; } if (!empty($values['CREDFRANCO'])) { $values['usuario_credfranco'] = $values['CREDFRANCO']['usuario']; $values['senha_credfranco'] = $values['CREDFRANCO']['senha']; } $values = $this->configSincronizacao->getConfigPan($values); parent::populate($values); if (empty($this->getValue('usuario_pan'))) { $this->removeElement('btn_sincronizar'); } } public function persistData() { $values = $this->getValues(); if ($values) { $dados = self::_atualizaComValoresDaRequest($values); self::_criaArquivo($dados); $this->configSincronizacao->updatePan($values); $usuario = Yuppie_Auth::getIdentity()->login; Yuppie_Log::write("Dados alterados no arquivo de configuração pelo usuário {$usuario} =>" . print_r($dados, true)); } } private static function _atualizaComValoresDaRequest($dadosForm) { $dados = self::_carregaArquivoConfiguracaoImportacao(); $bancos = ['api_safra', 'banrisul', 'bmg', 'facta', 'api_pan', 'c6', 'banco_master', 'credfranco', 'icred']; foreach ($bancos as $banco) { if (array_key_exists("senha_$banco", $dadosForm) && array_key_exists("usuario_$banco", $dadosForm)) { $dados[strtoupper($banco)]['usuario'] = $dadosForm["usuario_$banco"]; $dados[strtoupper($banco)]['senha'] = $dadosForm["senha_$banco"]; if (array_key_exists("senha_{$banco}2", $dadosForm) && array_key_exists("usuario_{$banco}2", $dadosForm)) { $dados[strtoupper($banco)]['usuario2'] = $dadosForm["usuario_{$banco}2"]; $dados[strtoupper($banco)]['senha2'] = $dadosForm["senha_{$banco}2"]; } if (array_key_exists("senha_{$banco}3", $dadosForm) && array_key_exists("usuario_{$banco}3", $dadosForm)) { $dados[strtoupper($banco)]['usuario3'] = $dadosForm["usuario_{$banco}3"]; $dados[strtoupper($banco)]['senha3'] = $dadosForm["senha_{$banco}3"]; } } } $dados['BONSUCESSO']['dev_key'] = !empty($dadosForm['dev_key']) ? $dadosForm['dev_key'] : null; $dados['BONSUCESSO']['ole_key'] = !empty($dadosForm['ole_key']) ? $dadosForm['ole_key'] : null; $dados['API_SAFRA']['login_certificado'] = array_key_exists("login_certificado_api_safra", $dadosForm) ? $dadosForm['login_certificado_api_safra'] : null; $dados['BMG']['cod_loja'] = array_key_exists("cod_loja_bmg", $dadosForm) ? $dadosForm['cod_loja_bmg'] : null; $dados['BMG']['usuario_consig'] = array_key_exists("usuario_consig_bmg", $dadosForm) ? $dadosForm['usuario_consig_bmg'] : null; $dados['BMG']['senha_consig'] = array_key_exists("senha_consig_bmg", $dadosForm) ? $dadosForm['senha_consig_bmg'] : null; $dados['FACTA']['login_certificado'] = array_key_exists("login_certificado_facta", $dadosForm) ? $dadosForm['login_certificado_facta'] : null; $dados['BANRISUL']['cpf_agente'] = array_key_exists("cpf_agente_banrisul", $dadosForm) ? $dadosForm['cpf_agente_banrisul'] : null; $dados['C6']['codigo_digitador'] = array_key_exists("codigo_digitador_c6", $dadosForm) ? $dadosForm['codigo_digitador_c6'] : null; $dados['MERCANTIL']['usuario_digitador'] = array_key_exists("usuario_digitador_mercantil", $dadosForm) ? $dadosForm['usuario_digitador_mercantil'] : null; $dados['MERCANTIL']['cpf_agente_certificado'] = array_key_exists("cpf_agente_certificado_mercantil", $dadosForm) ? $dadosForm['cpf_agente_certificado_mercantil'] : null; $dados['MERCANTIL']['uf_atuacao'] = array_key_exists("uf_atuacao_mercantil", $dadosForm) ? $dadosForm['uf_atuacao_mercantil'] : null; $dados['BEVICRED']['usuario'] = !empty($dadosForm['usuario_bevicred']) ? $dadosForm['usuario_bevicred'] : null; $dados['BEVICRED']['senha'] = !empty($dadosForm['senha_bevicred']) ? $dadosForm['senha_bevicred'] : null; $dados['BANCO_MASTER']['usuario'] = !empty($dadosForm['usuario_banco_master']) ? $dadosForm['usuario_banco_master'] : null; $dados['BANCO_MASTER']['senha'] = !empty($dadosForm['senha_banco_master']) ? $dadosForm['senha_banco_master'] : null; $dados['BANCO_MASTER']['id_canal_venda'] = !empty($dadosForm['id_canal_venda_banco_master']) ? $dadosForm['id_canal_venda_banco_master'] : null; $dados['BANCO_MASTER']['cpf_digitador'] = !empty($dadosForm['cpf_digitador_banco_master']) ? $dadosForm['cpf_digitador_banco_master'] : null; $dados['ICRED']['usuario'] = !empty($dadosForm['usuario_icred']) ? $dadosForm['usuario_icred'] : null; return $dados; } private static function _geraArquivoConfiguracaoImportacao() { $bootstrap = Zend_Controller_Front::getInstance()->getParam('bootstrap'); $application = $bootstrap->getOptions(); $dados = []; if (array_key_exists('bancos', $application) && count($application['bancos']) > 0) { foreach ($application['bancos'] as $key => $value) { if (!in_array($key, self::$bancos)) continue; $dados[strtoupper($key)] = [ 'usuario' => $value['usuario'] != null ? $value['usuario'] : '', 'senha' => $value['senha'] != null ? $value['senha'] : '' ]; } } self::_criaArquivo($dados); } private static function _criaArquivo($dados) { $config = new Zend_Config($dados, true); $writer = new Zend_Config_Writer_Array([ 'config' => $config, 'filename' => self::_getPath() ]); $writer->write(); } private static function _carregaArquivoConfiguracaoImportacao() { if( !file_exists(self::_getPath()) ) { self::_geraArquivoConfiguracaoImportacao(); } return $dados = include self::_getPath(); } private static function _getPath() { return CLIENT_PATH . '/configs/importacao.php'; } public static function getArrayBancosValidos() { $bancos = self::_carregaArquivoConfiguracaoImportacao(); $bancosValidos = ['' => '']; foreach ($bancos as $key => $value) { if (!empty($value['usuario']) && !empty($value['senha']) || !empty($value['dev_key']) && !empty($value['ole_key'])) { self::setCustomizacaoDeBanco($key, $bancosValidos); } } return $bancosValidos; } private static function setCustomizacaoDeBanco($bancoNome, &$bancosValidos) { switch ($bancoNome) { case 'BANRISUL': $bancosValidos['BANRISUL'] = $bancoNome; $bancosValidos['BANRISUL-COMISSAO'] = 'BANRISUL - COMISSÃO'; break; case 'BONSUCESSO': $bancosValidos['BONSUCESSO'] = $bancoNome; $bancosValidos['BONSUCESSO-STATUS'] = 'BONSUCESSO STATUS'; break; case 'API_PAN': $bancosValidos['API_PAN'] = 'PAN (STATUS)'; break; default: $bancosValidos[$bancoNome] = $bancoNome; break; } } private function addPanElements(): void { $idConfig = $this->configSincronizacao->getIdByNome('PAN'); $this->addElement('button', 'btn_sincronizar', [ 'label' => 'sincronizar', 'class' => 'btn-sincronizado', 'onClick' => "sincronizarBanco($idConfig)" ]); $this->addElement('text', 'usuario_pan', [ 'label' => 'Login:', 'class' => 'not_upper', 'validators' => ['EmailAddress'], ]); $this->addElement('password', 'senha_pan', [ 'label' => 'Senha:', 'renderPassword' => 'true' ]); $this->addElement('password', 'senha_anexos_pan', [ 'label' => 'Senha Anexos:', 'renderPassword' => 'true' ]); $this->getElement('senha_anexos_pan') ->addDecorator('Label', ['tag' => 'dt', 'tagClass' => 'clear']); $this->addDisplayGroup([ 'usuario_pan', 'senha_pan', 'senha_anexos_pan', 'btn_sincronizar' ], 'dados_pan', [ 'legend' => 'Pan (Webmail)' ]); } }
💾 保存文件
← 返回文件管理器