Funções do módulo

Arquivo funcoes.php
Esse arquivo armazena as funções e principais comandos do modulo, seu nome é padrão e deve ser sempre armazenado dentro do diretório do modulo
Diversas funções podem ser executadas a partir desse arquivo, sendo algumas definidas como padrão e outras customizáveis que podem ser incluídas no próprio sistema. Vejamos:
Todas as funções devem iniciar com o nome do modulo. Ex. moduloExemplo_acao_criar

Funções internas do modulo

As funções internas ou auxiliares são criadas por você para manuseio interno do seu modulo, sendo, portanto, funções que serão criadas de acordo com sua necessidade, e utilizadas dentro dos módulos de comando, por exemplo, uma função de POST ou autenticação API para comunicação com sua plataforma externa.
function moduloExemplo_funcao_auxiliar($parametros){ //conectar à sua API por exemplo
//seu código aqui
$sucesso=true;
if($sucesso){
$retorno='xxxxxxxx';
}else{
$retorno='erro';
}
return $retorno;
}
Seu uso não é obrigatório.
Seu nome deve ser sempre precedido pelo nome do modulo acrescido de , No nosso exemplo, moduloExemplo seguido pelo nome da função.
Nota: nunca crie funções interna no modulo sem adicionar o prefixo com seu nome a fim de se evitar conflitos com outras funções do sistema ou de outros módulos.

Função moduloExemplo_acao_criar($parametros)

function moduloExemplo_acao_criar($parametros){
echo'<pre>';
print_r($parametros);
echo'</pre>';
//exit();
//Seu código para criar contas aqui
$sucesso=true;
if($sucesso){
$resultado=array('status'=>'sucesso');
}else{
$resultado=array('status'=>'erro','msg'=>'Mensagem de erro');
}
return $resultado;
}
Essa função tem por finalidade ativar novas contas por meio da integração externa.
A função recebe todos os dados necessários para você conectar-se junto a sua API de integração, ativando a conta.
Essa função possui um nome padrão e também deve ser precedida por NOMEDOMODULO_, para seu perfeito funcionamento.
A função é executada toda vez que o operador, na tela da conta/produto, clica no botão criar, ou quando o pagamento é confirmado (caso o produto esteja configurado para tanto)
As principais informações estão armazenadas na variável $parametros onde estão organizados os dados distribuídos em arrays.
$parametros['conta'] – Array que contem os dados da conta que está sofrendo a intervenção, como id_conta, domínio, login, senha, data de cadastro, entre outras. Confira o anexo com a relação de variáveis.
$parametros['cliente'] – Array que contem os dados do cliente como (nome, empresa, telefone, email, endereço, numero, bairro, cidade, estado, cpf_cnpj)
$parametros['produto'] – Array que contem os dados referentes ao produto e ao seu modulo. São os valores dos produtos e dos campos que você criou. No nosso exemplo, plano e featurelist.
$parametros['servidor'] – Array que contem os dados do servidor em que o produto está sendo criado. Dentre os valores estão os campos criados pela variável $modulo_servidor_campos. No nosso exemplo, login, senha, hash e ssl.
Caso haja alguma dúvida quanto ao correto nome do campo a ser utilizado você pode listar todos os campos por meio da função print_r conforme o exemplo a seguir:
<?php echo‟<pre>‟;
print_r($parametros); //lista todos os parametros disponíveis
echo‟</pre>‟;
exit(); ?>
Retorno da função
IMPORTANTE: quando a função é executada com sucesso o status do produto é alterado de pendente para ativo. Para que isso ocorra, é necessário que você forneça retorno adequado da função em caso de sucesso.
$sucesso=true;
if($sucesso){
$resultado=array('status'=>'sucesso');
}else{
$resultado=array('status'=>'erro','msg'=>'Mensagem de erro');
}
return $resultado;
O retorno é sempre um array, sendo array('status'=>'sucesso') em caso de sucesso, ou array('status'=>'erro','msg'=>'Mensagem de erro') caso haja algum erro, sendo “Mensagem de erro”, qualquer informação que identifique o erro ocorrido.
Esse procedimento deve se repetir para todas as funções de comando do modulo.

Função moduloExemplo_acao_suspender($parametros)

function moduloExemplo_acao_suspender($parametros){
//Seu código para suspender contas aqui
$sucesso=true;
if($sucesso){
$resultado=array('status'=>'sucesso');
}else{
$resultado=array('status'=>'erro','msg'=>'Mensagem de erro');
}
return $resultado;
}
Essa função tem por finalidade suspender/bloquear contas no servidor externo por meio da integração.
A função recebe todos os dados necessários para você conectar-se junto a sua API de integração e suspender a conta do cliente.
Essa função possui um nome padrão e também deve ser precedida por NOMEDOMODULO_, para seu perfeito funcionamento.
A função é executada toda vez que o operador, na tela da conta/produto, clica no botão Suspender, ou quando da execução do cron, quando identificado que o cliente está inadimplente.
Os dados são recebidos pela variável $parametros, que trás todas as informações necessárias por meio de array.
Todas as informações estão disponíveis em chaves do array $parametros (conta, cliente, produto e servidor), tudo conforme demonstrado no item Funcao moduloExemplo_acao_criar, que você pode conferir acima.
Retorno da função
IMPORTANTE: quando a função é executada com sucesso o status do produto é alterado de ativo para suspenso.
Para que isso ocorra, é necessário que você forneça o retorno adequado da função em caso de sucesso.
$sucesso=true;
if($sucesso){
$resultado=array('status'=>'sucesso');
}else{
$resultado=array('status'=>'erro','msg'=>'Mensagem de erro');
}
return $resultado;

Função moduloExemplo_acao_reativar($parametros)

function moduloExemplo_acao_reativar($parametros){
//Seu código para reativar contas aqui
$sucesso=true;
if($sucesso){
$resultado=array('status'=>'sucesso');
}else{
$resultado=array('status'=>'erro','msg'=>'Mensagem de erro');
}
return $resultado;
}
Essa função tem por finalidade reativar/desbloquear contas por meio da integração externa.
A função recebe todos os dados necessários para você conectar-se junto a sua API de integração e reativar a conta do cliente.
Essa função possui um nome padrão e também deve ser precedida por NOMEDOMODULO_, para seu perfeito funcionamento.
A função é executada toda vez que o operador, na tela da conta/produto, clica no botão Reativar, ou quando o pagamento de uma fatura é confirmado.
Os dados são recebidos pela variável $parametros, que trás todas as informações necessárias por meio de array.
Todas as informações estão disponíveis em chaves do array $parametros (conta, cliente, produto e servidor), tudo conforme demonstrado no item Funcao moduloExemplo_acao_criar, que você pode conferir acima.
Retorno da Função
IMPORTANTE: quando a função é executada com sucesso o status do produto é alterado de suspenso para ativo. Para que isso ocorra, é necessário que você forneça o retorno adequado da função em caso de sucesso.
$sucesso=true;
if($sucesso){
$resultado=array('status'=>'sucesso');
}else{
$resultado=array('status'=>'erro','msg'=>'Mensagem de erro');
}
return $resultado;
O retorno é sempre um array, sendo array('status'=>'sucesso'); em caso de sucesso, ou array('status'=>'erro','msg'=>'Mensagem de erro'); caso haja algum erro, sendo “Mensagem de erro”, qualquer informação que identifique o erro ocorrido.

Função moduloExemplo_acao_finalizar($parametros)

function moduloExemplo_acao_finalizar($parametros){
//Seu código para finalizar/excluir contas aqui
$sucesso=true;
if($sucesso){
$resultado=array('status'=>'sucesso');
}else{
$resultado=array('status'=>'erro','msg'=>'Mensagem de erro');
}
return $resultado;
}
Essa função tem por finalidade finalizar / excluir contas do servidor externo por meio da integração.
A função recebe todos os dados necessários para você conectar-se junto a sua API de integração e finalizar a conta do cliente.
Essa função possui um nome padrão e também deve ser precedida por NOMEDOMODULO_, para seu perfeito funcionamento.
A função é executada toda vez que o operador, na tela da conta/produto, clica no botão Finalizar.
Os dados são recebidos pela variável $parametros, que trás todas as informações necessárias por meio de array.
Todas as informações estão disponíveis em chaves do array $parametros (conta, cliente, produto e servidor), tudo conforme demonstrado no item Funcao moduloExemplo_acao_criar, que você pode conferir acima
Retorno da Função
IMPORTANTE: quando a função é executada com sucesso o status do produto é alterado de ativo ou suspenso para encerrado. Para que isso ocorra, é necessário que você forneça o retorno adequado da função em caso de sucesso.
$sucesso=true;
if($sucesso){
$resultado=array('status'=>'sucesso');
}else{
$resultado=array('status'=>'erro','msg'=>'Mensagem de erro');
}
return $resultado;
O retorno é sempre um array, sendo array('status'=>'sucesso'); em caso de sucesso, ou array('status'=>'erro','msg'=>'Mensagem de erro'); caso haja algum erro, sendo “Mensagem de erro”, qualquer informação que identifique o erro ocorrido.

Funções adicionais (comandos extras)

Foram demonstradas acima as principais funções dos modulos para servidores (criar, suspender, reativar e finalizar), contudo, por vezes será necessário adicionar outras funções/comandos em seu modulo, oque pode ser feito por meio de funções de comando adicionais conforme abaixo.
function moduloExemplo_acao_alterar_senha($parametros){
//Seu código para alterar senha aqui
$sucesso=true;
if($sucesso){
$resultado=array('status'=>'sucesso');
}else{
$resultado=array('status'=>'erro','msg'=>'Mensagem de erro');
}
return $resultado;
}
As ações adicionais não possuem um nome padrão, contudo, assim como as funções padrão do modulo, seu nome deve ser precedido de moduloExemplo_acao_ (onde moduloExemplo é o nome do modulo). Isso tem por escopo evitar conflitos com outras funções ou módulos do sistema.
Você definirá livremente qual a finalidade da função, seja alterar um plano, senha, ligar um VPS, obter informações e etc.
A função recebe todos os dados necessários para você conectar-se junto a sua API de integração e executar o comando.
A função é executada toda vez que o operador, na tela da conta/produto, clica no botão correspondente que será definido por você logo abaixo.
Os dados necessários são recebidos pela variável $parametros, que trás todas as informações necessárias por meio de array
Todas as informações estão disponíveis em chaves do array $parametros (conta, cliente, produto e servidor), tudo conforme demonstrado no item Funcao moduloExemplo_acao_criar, que você pode conferir acima.
Retorno da Função
IMPORTANTE: ao ser executado, você precisa informar ao operador do sistema o status do comando (sucesso ou erro). Para que isso ocorra, é necessário que você forneça o retorno adequado da função em caso de sucesso.
$sucesso=true;
if($sucesso){
$resultado=array('status'=>'sucesso');
}else{
$resultado=array('status'=>'erro','msg'=>'Mensagem de erro');
}
return $resultado;
O retorno é sempre um array, sendo array('status'=>'sucesso'); em caso de sucesso, ou array('status'=>'erro','msg'=>'Mensagem de erro'); caso haja algum erro, sendo “Mensagem de erro”, qualquer informação que identifique o erro ocorrido.

Função moduloExemplo_comandos_adicionais()

function moduloExemplo_comandos_adicionais() {
//adicionar outros comandos (criar, suspender, reativar e finalizar são definidos automaticamente)
$comandosAdmin=array(
array("comando"=>"Alterar Senha", "funcao"=>"acao_alterar_senha"),
array("comando"=>"Alterar Plano", "funcao"=>"acao_alterar_plano"),
);
return $comandosAdmin;
}
Essa função tem por finalidade adicionar ao painel admin (na tela da conta/produto) os botões necessários para executar as funções adicionais.
No caso do nosso exemplo, são adicionados dois botões “Alterar Senha” e “Alterar Plano”, que respectivamente chamam as funções moduloExemplo_acao_alterar_senha($parametros) e moduloExemplo_acao_alterar_plano($parametros)
O retorno da função deve ser o array que contem a relação dos botões que serão criados

Função moduloExemplo_comandos_cliente()

function moduloExemplo_comandos_cliente() {
//adicionar outros comandos
$comandosCliente=array(
array("comando"=>"Resetar Senha", "funcao"=>"acao_alterar_senha"),
/*comandos criar, suspender, reativar e finalizar não são permitidos*/
);
return $comandosCliente;
}
Essa função funciona de forma semelhante a função anterior, contudo, tem por finalidade adicionar ao painel do cliente (detalhes do serviço) os botões necessários ao gerenciamento de seu produto.
NOTA: não é permitido adicionar as funções, criar, suspender, reativar e/ou finalizar.
No caso do nosso exemplo, é adicionado o botão “Resetar Senha” que chama a função moduloExemplo_acao_alterar_senha.
O retorno da função deve ser o array que contem as características dos botões.

Função moduloExemplo_informacoes_admin

Essa função tem por finalidade imprimir códigos HTML na tela da conta/produto no admin. Pode ser utilizada para agregar painéis e comandos adicionais ou expor informações relacionadas aquela conta/serviço.
function moduloExemplo_informacoes_admin($parametros){
$code='<p>meu código aqui</p>';
return $code;
}
Os dados são exibidos no admin (na tela da conta/produto de seu cliente), ao final da página.
O retorno da função é o código HTML que será exibido.

Função moduloExemplo_informacoes_cliente

Essa função funciona de forma idêntica a anterior, contudo, tem por finalidade imprimir códigos HTML na central do cliente (detalhes do produto/serviço).
Pode ser utilizada para agregar painéis e comandos adicionais ou expor informações relacionadas àquela conta obtidas por meio de API da sua plataforma.
function moduloExemplo_informacoes_cliente($parametros){
$code='<p>meu código aqui</p>';
return $code;
}
Os dados são exibidos central do cliente (na tela de detalhes do produto/serviço), ao final da página. O retorno da função é o código HTML a ser exibido