✏️ 正在编辑: permissoes.php
路径:
/srv/systems_dir/yuppiecred/docs/permissoes.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php $permissoes = array( 'Administradores' => array( 1 => '*', 0 => array( 'relatorio' => array('producao-supervisor'), 'corretor' => array('meus-contratos', 'meus-protocolos'), 'altera-contrato-parcial' ) ), 'Digitador' => array( 1 => array( 'cliente' => array('index', 'save', 'update'), 'corretor' => array('index', 'view', 'listar', 'get-cidades'), 'contrato' => array('index', 'save'), 'proposta' => array('index', 'save'), 'altera-contrato-parcial' => null, 'consulta' => null, 'convenio' => array('get-tabelas'), 'logout' => null, 'index' => null, 'error' => null, ) ), 'Consulta' => array( 1 => array( 'cliente' => array('index', 'save', 'update'), 'corretor' => array('index', 'view', 'listar', 'get-cidades'), 'contrato' => array('index', 'save', 'receber-fisico', 'enviar-fisico', 'baixar-envio-fisico', 'baixar-fisico'), 'proposta' => array('index', 'save'), 'altera-contrato-parcial' => null, 'convenio' => array('get-tabelas'), 'logout' => null, 'index' => null, 'error' => null, ) ), 'Consulta Matriz' => array( 1 => array( 'cliente' => array('index', 'save', 'update'), 'corretor' => array('index', 'view', 'listar', 'get-cidades'), 'contrato' => array('index', 'save', 'receber-fisico', 'enviar-fisico', 'baixar-envio-fisico', 'baixar-fisico'), 'proposta' => array('index', 'save'), 'visualizar-contratos-filiais' => null, 'visualizar-corretores-filiais' => null, 'visualizar-clientes-filiais' => null, 'altera-contrato-parcial' => null, 'convenio' => array('get-tabelas'), 'logout' => null, 'index' => null, 'error' => null, ) ), 'Backoffice Matriz' => array( 1 => array( 'cliente' => array('index', 'save', 'update'), 'prospecto' => array('index', 'save', 'update', 'add-contato'), 'corretor' => array('index', 'view', 'listar', 'get-cidades'), 'contrato' => array('index', 'save', 'receber-fisico', 'enviar-fisico', 'baixar-envio-fisico', 'baixar-fisico'), 'proposta' => array('index', 'save', 'efetivar', 'get-dados-cliente'), 'callcenter' => array('listar-para-digitacao', 'efetivar-proposta'), 'visualizar-contratos-filiais' => null, 'visualizar-corretores-filiais' => null, 'visualizar-clientes-filiais' => null, 'visualizar-propostas-filiais' => null, 'altera-contrato-parcial' => null, 'convenio' => array('get-tabelas'), 'logout' => null, 'index' => null, 'error' => null, ) ), 'Backoffice' => array( 1 => array( 'cliente' => array('index', 'save', 'update'), 'prospecto' => array('index', 'save', 'update', 'add-contato'), 'corretor' => array('index', 'view', 'listar', 'get-cidades'), 'contrato' => array('index', 'save', 'receber-fisico', 'enviar-fisico', 'baixar-envio-fisico', 'baixar-fisico'), 'proposta' => array('index', 'save', 'efetivar', 'get-dados-cliente'), 'altera-contrato-parcial' => null, 'convenio' => array('get-tabelas'), 'logout' => null, 'index' => null, 'error' => null, ) ), 'Financeiro' => array( 1 => array( 'corretor' => array('index', 'view', 'get-cidades'), 'fornecedor' => array('index', 'save'), 'categoria' => array('index', 'save'), 'conta' => array('index', 'save'), 'forma-pagamento' => array('index', 'save'), 'despesa' => array('index', 'add', 'update', 'delete', 'baixa', 'save-baixa', 'imprimir', 'delete-itens'), 'receita' => array('index', 'save', 'update'), 'financeiro' => array('lista-credito-corretor', 'lista-debito-corretor', 'pagar-comissao', 'visao-geral'), 'relatorio' => array('extrato-corretor', 'despesas', 'receitas', 'imprimir-despesas'), 'visualizar-contratos-filiais' => null, 'visualizar-corretores-filiais' => null, 'visualizar-clientes-filiais' => null, 'empresa' => array('index', 'save'), 'convenio' => array('get-tabelas'), 'logout' => null, 'index' => null, 'error' => null, ) ), 'Callcenter' => array( 1 => array( 'callcenter' => array('index', 'exibir-cliente', 'save-cliente', 'save-proposta', 'efetivar-proposta', 'receptivos-agendados', 'verificar-receptivos'), 'proposta' => array('index', 'save', 'get-dados-cliente', 'efetivar'), 'corretor' => array('meus-protocolos', 'detalhar-protocolo', 'meus-contratos'), 'contrato' => array('view'), 'empresa' => array('get-empresas'), 'visualizar-contratos-filiais' => null, 'visualizar-corretores-filiais' => null, 'visualizar-clientes-filiais' => null, 'consulta' => null ) ), 'Callcenter Gerente' => array( 1 => array( 'callcenter' => array('index', 'exibir-cliente', 'save-cliente', 'save-proposta', 'efetivar-proposta', 'delete-telefone', 'lista-operadores', 'config'), 'usuario' => array('index', 'save'), 'callcenter-campanha' => array('index', 'importar-base', 'save', 'delete', 'higienizar-base', 'ativar-cliente-campanha', 'alocar-operadores', 'alocar-desalocar-operadores', 'add-supervisor-campanha', 'delete-supervisor-campanha'), 'callcenter-base' => null, 'visualizar-contratos-filiais' => null, 'visualizar-corretores-filiais' => null, 'visualizar-clientes-filiais' => null, 'callcenter-relatorios' => null, 'consulta' => null, 'contrato' => array('index', 'view') ) ), 'Callcenter Supervisor' => array( 1 => array( 'callcenter-campanha' => array('higienizar-base', 'ativar-cliente-campanha', 'alocar-operadores', 'alocar-desalocar-operadores'), 'callcenter-base' => null, 'visualizar-contratos-filiais' => null, 'visualizar-corretores-filiais' => null, 'visualizar-clientes-filiais' => null, 'consulta' => null, 'callcenter' => array('index'), 'contrato' => array('index', 'view') ), ), 'Pagamento de Planilha' => array( 1 => array( 'cliente' => array('index', 'save', 'update'), 'corretor' => array('index', 'view', 'listar', 'save', 'add-senha', 'add-documento', 'detalhar-protocolo', 'get-cidades'), 'gerente-rota' => array('index', 'save', 'get-rotas'), 'rota' => array('index', 'save', 'get-corretores'), 'gerente' => array('index', 'save'), 'tabela' => array('index', 'save'), 'contrato' => array('index', 'save', 'view', 'save-dialog', 'imprimir-protocolo-pagamento', 'baixar-pagamento', 'enviar-protocolo', 'importar-planilha-parceiro', 'baixar-pagamento-supervisor', 'imprimir-protocolo-pagamento-supervisor', 'enviar-protocolo-supervisor', 'baixar-pagamento-gerente', 'imprimir-protocolo-pagamento-gerente', 'enviar-protocolo-gerente', 'importar-producao-banco', 'contratos-corrigir'), 'financeiro' => array('pagar-comissao', 'pagar-comissao-supervisor', 'pagar-comissao-gerente', 'lista-credito-corretor', 'credito-corretor', 'lista-debito-corretor', 'debito-corretor'), 'visualizar-contratos-filiais' => null, 'visualizar-corretores-filiais' => null, 'visualizar-clientes-filiais' => null, 'sincronizacao' => array('localizar-arquivos', 'importar-arquivo'), 'relatorio' => array('comissao-gerente', 'comissao-supervisor', 'producao-analitico', 'contratos-liberados', 'producao-sintetico'), 'comissionamento-corretor' => array('index', 'save', 'add-comissao', 'exportar', 'executar-exportar-comissoes', 'selecionar-corretores', 'executar-atualizar-comissoes', 'atualizar-comissao-contratos'), 'comissionamento' => array('index', 'save', 'add-comissao', 'exportar', 'executar-exportar-comissoes', 'selecionar-empresas', 'executar-atualizar-comissoes', 'atualizar-comissao-contratos'), 'convenio' => array('get-tabelas'), 'logout' => null, 'index' => null, 'error' => null, ) ), 'Formalizacao' => array( 1 => array( 'cliente' => array('index', 'update'), 'contrato' => array('index', 'save', 'receber-fisico', 'enviar-fisico', 'analise-fisico', 'baixar-envio-fisico', 'baixar-fisico', 'exportar-pendencias', 'importar-newspace', 'selecionar-acao', 'notificar-pendencia', 'alterar-cobranca-banco', 'importar-envio-fisico-daycoval'), 'corretor' => array('index', 'view', 'listar', 'get-cidades'), 'proposta' => array('index', 'save', 'efetivar', 'get-dados-cliente'), 'relatorio' => array('ranking-fisicos-pendentes', 'ranking-envios-pendentes', 'fisicos-pendentes', 'producao-formalizacao'), 'altera-contrato-parcial' => null, 'convenio' => array('get-tabelas'), 'logout' => null, 'index' => null, 'error' => null, ) ), 'Formalizacao Matriz' => array( 1 => array( 'cliente' => array('index', 'save', 'update'), 'contrato' => array('index', 'save', 'receber-fisico', 'enviar-fisico', 'analise-fisico', 'baixar-envio-fisico', 'baixar-fisico', 'exportar-pendencias', 'importar-newspace', 'selecionar-acao', 'notificar-pendencia', 'alterar-cobranca-banco', 'imprimir-protocolo-recebimento', 'imprimir-protocolo-envio', 'importar-envio-fisico-daycoval'), 'corretor' => array('index', 'view', 'listar', 'get-cidades'), 'visualizar-contratos-filiais' => null, 'visualizar-corretores-filiais' => null, 'visualizar-clientes-filiais' => null, 'proposta' => array('index', 'save', 'efetivar', 'get-dados-cliente'), 'relatorio' => array('ranking-fisicos-pendentes', 'ranking-envios-pendentes', 'fisicos-pendentes', 'producao-formalizacao'), 'altera-contrato-parcial' => null, 'convenio' => array('get-tabelas'), 'logout' => null, 'index' => null, 'error' => null, ) ), 'Gerencia' => array( 1 => array( 'relatorio' => array('producao-analitico', 'producao-sintetico', 'ranking-fisicos-pendentes', 'ranking-envios-pendentes', 'fisicos-pendentes'), 'convenio' => array('get-tabelas'), 'corretor' => array('get-cidades'), 'logout' => null, 'index' => null, 'error' => null, ) ), 'Supervisor' => array( 1 => array( 'cliente' => array('index', 'save', 'update'), 'corretor' => array('index', 'view', 'listar', 'get-cidades'), 'contrato' => array('index', 'view', 'save'), 'relatorio' => array('producao-supervisor', 'grafico-producao', 'campanhas', 'ranking-fisicos-pendentes', 'ranking-envios-pendentes', 'fisicos-pendentes', 'producao-sintetico'), 'visualizar-contratos-filiais' => null, 'visualizar-corretores-filiais' => null, 'visualizar-clientes-filiais' => null, 'consulta' => null, 'convenio' => array('get-tabelas'), 'logout' => null, 'index' => null, 'error' => null, ) ), 'Bonus' => array( 1 => array( 'sincronizacao' => array('index', 'localizar-arquivos', 'importar-arquivo', 'importar-gcom'), 'bonus' => array('index', 'save', 'add-bonus', 'delete-bonus', 'atualiza-data-final'), 'grupo-comissao' => array('index', 'save'), 'comissionamento' => array('index', 'save'), 'contrato' => array('index', 'save', 'save-dialog', 'importar-bonus', 'imprimir-protocolo-pagamento', 'baixar-pagamento', 'baixar-recebimento', 'exportar-bonus-pendente', 'enviar-protocolo'), 'cliente' => array('index', 'save', 'update'), 'corretor' => array('index', 'save', 'view', 'add-documento', 'add-senha', 'listar', 'get-cidades'), 'relatorio' => array('bonus-recebido'), 'financeiro' => array('pagar-comissao'), 'visualizar-contratos-filiais' => null, 'visualizar-corretores-filiais' => null, 'visualizar-clientes-filiais' => null, 'gerente-promotora' => array('index', 'save'), 'gerente' => array('index', 'save'), 'gerente-rota' => array('index', 'save'), 'alterar-status' => null, 'convenio' => array('get-tabelas'), 'logout' => null, 'index' => null, 'error' => null, ), ), 'Gerente Regional' => array( 1 => array( 'corretor' => array('index', 'view', 'listar', 'get-cidades'), 'contrato' => array('index', 'view'), 'relatorio' => array('producao-gerente', 'grafico-producao', 'campanhas', 'ranking-fisicos-pendentes', 'ranking-envios-pendentes', 'fisicos-pendentes'), 'visualizar-contratos-filiais' => null, 'visualizar-corretores-filiais' => null, 'visualizar-clientes-filiais' => null, 'campanha' => array('index', 'save', 'resgate', 'resgates'), 'resgate-fora-prazo' => null, 'convenio' => array('get-tabelas'), 'logout' => null, 'index' => null, 'error' => null, ), ), 'Corretor' => array( 1 => array( 'corretor' => array('meus-protocolos', 'detalhar-protocolo', 'meus-contratos', 'meus-pontos', 'minhas-pendencias-fisico', 'get-cidades', 'simulador', 'calcular-fator', 'tabela-fatores'), 'contrato' => array('view'), 'visualizar-contratos-filiais' => null, 'visualizar-corretores-filiais' => null, 'visualizar-clientes-filiais' => null, 'convenio' => array('get-tabelas'), 'logout' => null, 'index' => null, 'error' => null, ), ), 'Gerente Loja' => array( 1 => array( 'corretor' => array('listar', 'get-cidades'), 'cliente' => array('index', 'save'), 'contrato' => array('index', 'view', 'save'), 'relatorio' => array('producao-analitico', 'grafico-producao', 'ranking-fisicos-pendentes', 'ranking-envios-pendentes', 'fisicos-pendentes'), 'proposta' => array('index', 'save', 'efetivar', 'get-dados-cliente'), 'convenio' => array('get-tabelas'), 'corretor' => array('get-cidades'), 'logout' => null, 'index' => null, 'error' => null, ), ) ); $tbGrupoUsuario = new Model_DbTable_GrupoUsuario(); $tbResource = new Model_DbTable_Resource(); $tbPermissao = new Model_DbTable_Permissao(); $inserts = $updates = 0; foreach($permissoes as $grupoNome => $perms) { $grupo = $tbGrupoUsuario->fetchRow("nome = '{$grupoNome}'"); if (!$grupo) { $tbGrupoUsuario->insert(array('nome' => $grupoNome)); $grupo = $tbGrupoUsuario->fetchRow("nome = '{$grupoNome}'"); } foreach($perms as $allow => $resources) { if (is_array($resources)) { foreach($resources as $resource => $privileges) { if ($privileges && is_array($privileges)) { foreach($privileges as $privilege) { $res = $tbResource->fetchRow("resource = '{$resource}' AND privilege = '{$privilege}'"); if (!$res) { continue; } $perm = $tbPermissao->fetchRow("grupo_id = {$grupo->id} AND resource_id = {$res->id}"); if (!$perm) { if ($tbPermissao->insert(array( 'resource_id' => $res->id, 'grupo_id' => $grupo->id, 'allow' => $allow ))) $inserts++; } else if ($perm->allow != $allow) { if ($tbPermissao->update(array('allow' => $allow), "id = {$perm->id}")) $updates++; } } } else { $res = $tbResource->fetchRow("resource = '{$resource}' AND privilege IS NULL"); if (!$res) { if (!is_numeric($resource)) { $res = $tbResource->insert(array( 'resource' => $resource, 'privilege' => null, 'descricao' => ucfirst($resource), 'extra' => 1 )); } $res = $tbResource->fetchRow("resource = '{$resource}' AND privilege IS NULL"); } if( is_object($res) && $res->id > 0 ){ $perm = $tbPermissao->fetchRow("grupo_id = {$grupo->id} AND resource_id = {$res->id}"); if (!$perm) { if ($tbPermissao->insert(array( 'resource_id' => $res->id, 'grupo_id' => $grupo->id, 'allow' => $allow ))) $inserts++; } else if ($perm->allow != $allow) { if ($tbPermissao->update(array('allow' => $allow), "id = {$perm->id}")) $updates++; } } } } }elseif( $resources == '*' ) { //aplica todas as permissoes $resources = $tbResource->fetchAll(); foreach( $resources as $res ){ if( is_object($res) && $res->id > 0 ){ $perm = $tbPermissao->fetchRow("grupo_id = {$grupo->id} AND resource_id = {$res->id}"); if (!$perm) { if ($tbPermissao->insert(array( 'resource_id' => $res->id, 'grupo_id' => $grupo->id, 'allow' => $allow ))) $inserts++; } else if ($perm->allow != $allow) { if ($tbPermissao->update(array('allow' => $allow), "id = {$perm->id}")) $updates++; } } } } } } $this->_helper->flashMessenger(array('info' => "{$inserts} permissões inseridas, {$updates} atualizadas"));
💾 保存文件
← 返回文件管理器