Non gli ho dedicato molto tempo, però adesso che il nic ha pubblicato le
date certe, lo farò nei prossimi giorni.
Attualmente, quello che già fa:
- Connessione SSH supportata. (Configurabile nel file di config)
- Comunicazione tramite EPP over TCP oppure tramite EPP over HTTP.
(Configurabile nel file di config)
- Caricamento comandi XML tramite caricamento files in directory simile a
/DOT-IT/XML-EPP/esempio.xml.
- Invio e ricezione dei comandi XML.
- Estrazione di valori dai parametri in un blocco XML. (Estrazione
Risultati)
- Sostituzione di valori a parametri in un blocco XML. (Preparazione
Comandi)
- E' possibile creare più istanze/connessioni, pur non essendo una Classe.
Comandi supportati, testati al momento:
- Apertura Connessione.
- Chiusura Connessione.
- Hello.
- Login. (Username e Password configurabili in file di config)
- Estrazione Credito.
Quello che manca:
Tutti gli altri comandi necessari, creazioni utenti, creazioni domini,
cancellazioni varie, modifiche, etc. etc. etc. Comandi che praticamente
necessitano di un copia incolla dal file del nic, in pratica basta prendere
il file PDF degli esempi del nic, copiare i blocchi XML e creare dei files,
tipo "crea-utente.xml", sostituendo nel file al posto dei valori di esempio,
dei parametri tipo [NOME], [COGNOME], poi basta creare delle funzioni
semplici in php per elaborare quei blocchi, sostituendo i parametri con
delle variabili passate alle varie funzioni, funzioni che sono semplici da
creare, si tratta di un lavoro pressochè manuale, che non richiede
"ingegno", grazie alle funzioni primitive che ho già creato.
Nei prossimi giorni aggiungo altre funzioni, e sabato rilascio questa
libreria, insieme di moduli che ho creato.
Sicuramente la pubblicherò sui miei nuovi forum:
http://www.programmatore.eu
http://www.trovahosting.eu
Questo è un esempio di come lavora, questa mia libreria, che non sarà una
classe per il momento:
(1) Esempio di hello, con stampa a schermo della risposta:
eppOpenConnection($eppsock);
$xml=epp_login($eppsock);
echo "$xml";
eppCloseConnection($eppsock);
(2) Esempio di login, con stampa a schermo della risposta e del credito, e
del codice di risposta:
eppOpenConnection($eppsock);
$xml=epp_login($eppsock);
echo "$xml";
eppCloseConnection($eppsock);
echo "\r\n\r\n";
echo "<br><br>";
$CRD=xml_get_value($xml,"extepp:credit");
$CODE=xml_get_resultcode($xml);
echo "Credito: $CRD <br>";
echo "Codice: $CODE <br>";
(3) Esempio di come è creato un comando grazie alle primitive che mi sono
creato:
function epp_login_ext(&$eppsock, $epp_username, $epp_password){
$xml=eppReadXMLScheme("login");
xml_set_variable($xml,"[EPPUSERNAME]",$epp_username);
xml_set_variable($xml,"[EPPPASSWORD]",$epp_password);
eppSendCommand($eppsock,$xml);
$xml=eppGetFrame($eppsock);
return $xml;
}
(4) Esempio di file di configurazione:
$epp_server="xxxx.xxx.xx";
$epp_prot="HTTP"; // Possibili valori: TCP/HTTP, il nic usa HTTP che non è
standard riconosciuto, però poco importa.
$epp_port=443;
$epp_ssl=TRUE;
$epp_username="xxxxxxx";
$epp_password="xxxxxxx";
$tld_dir="IT";
$epp_timeout=30;
$epp_clientname="EPP PIPPO Client Test";
$epp_clienthost="xxxx.xxx.xx";
Nei prossimi giorni aggiungo nuove funzioni, soprattutto i comandi EPP, e
sabato la pubblico.