Criando o Módulo

Compreender como o modulo é organizado dentro do sistema é o primeiro passo para desenvolver.
Para tanto, tenha em mente que cada modulo deve ser representado por um diretório com nome exclusivo, escrito em minúsculo e armazenado no diretório /modulos/servidores.
Dentro do diretório são armazenados os arquivos do modulo, sendo os mais importantes moduloExemplo.php (nome do modulo) e funcoes.php (nome padrão).
*index.php é apenas uma proteção para o diretório
Junto desse material você recebeu os arquivos de exemplo para o desenvolvimento do primeiro modulo, que desmembramos abaixo.

Arquivo /modulos/servidores/moduloExemplo/moduloExemplo.php

Esse é o arquivo inicial do modulo, deve ser armazenado dentro do diretório do modulo que está sendo criado.
Seu nome deve ser o mesmo nome do diretório acrescido de .php Aqui se inicia a configuração do modulo.

Variável $modulo_servidor['moduloExemplo']

<?php
# CONFIGURAÇÃO DE IDENTIFICAÇÃO DO MÓDULO.
$modulo_servidor['moduloExemplo']=array(
'nome'=>"moduloExemplo", /* informar o nome do modulo conforme nome do arquivo (respeitando maiusculas e minúsculas).
Não usar caracteres especiais ou espaços */
'nome_visivel'=>"Modulo de Exemplo Servidor" /*Nome do seu módulo visível no painel HOSTMGR*/
);
É uma variável do tipo array que recebe informações básicas sobre o modulo.
A chave desse array e o valor da chave “nome” devem ser o nome do seu modulo, ou seja, o nome dado ao diretório do modulo e ao arquivo editado, nesse caso, “moduloExemplo”.
Quanto a chave “nome_visivel”, é o nome do modulo que será exibido ao usuário do sistema quando da utilização do modulo no hostmgr.

Variável $modulo_servidor_campos['moduloExemplo']

$modulo_servidor_campos['moduloExemplo']=array(
array('textfield', 'Login:', 'login', 300, '', true, '', ''),
array('password', 'Senha:', 'senha', 300, '', false, '', 'Para não alterar, deixe em branco'),
array('textarea', 'Access Remote Key:', 'hash', 300, 10, false, '', ''),
array('checkbox', '&nbsp;', 'ssl', 300, 10, false, array('SIM','Usar conexão segura SSL'), ''),
);
São os campos de configuração do módulo.
Neste array são gerados os campos que o administrador deverá preencher ao criar um servidor com esse modulo de integração.
Os campos comumente cadastrados são: Email, Login, Senha, Chave de Acesso, Token, dentre outros dados configuráveis que você possa precisar para se conectar ao servidor e API que serão integrados.
As configurações serão realizadas em configurações -> servidores -> servidor -> configurações do modulo, quando em uso.
Os campos são gerados na ordem cadastrada seguindo a regra de um array/campo por linha como no arquivo de exemplo.

Variável $modulo_servidor_produto['moduloExemplo']

$modulo_servidor_produto['moduloExemplo']=array(
array('textfield', 'Plano no WHM (package):', 'plano', 300, '', true, '', ''),
array('textfield', 'Feature List (ACL):', 'featurelist', 300, '', false, '', 'Se o produto for uma revenda. <strong>Deixe em branco para "Default"</strong>'),
);
Contem informações sobre os campos de configuração do modulo. Neste array são gerados os campos de configuração dos produtos que utilizarão o modulo de integração. Os campos serão preenchidos ao configurar o produto.
Os campos comumente cadastrados são: espaço, plano, ouvintes, dentre outros limites que possa ser configurado para cada conta/plano específico.
Os campos ficam localizados em configurações -> produtos e serviços -> produto -> configurações do modulo.