Direct admin api

Gestart doorWouterp13 reacties31 weergaven

14 berichten · pagina 1 van 1

Wouterp

Lid · Topicstarter

Berichten
1.631
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Heey,

Ik probeer met de direct admin api dingen op me reseller te doen. Het probleem is dat ik het niet helemaal begrijp. Ik heb deze link gebruikt:
http://www.directadmin.com/forum/showthread.php?t=258
Voor de verbinding maar ik begrijp er niks van.

Hoe kan ik een command versturen en die gebruiken op me DA reseller?

M.v.g. Wouter
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Heb je de examples al eens bekeken?

Ik wil je graag helpen, maar wat wil je precies? De API kent talloze mogelijkheden.
0
Wouterp

Lid · Topicstarter

Berichten
1.631
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik wil:
- Pakketten aanmaken
- users aanmaken
- Instellingen aanpassen.

Etc. De basis dingen.

Maar waar zie jij die examples?
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
in de download op de genoemde site?
0
Wouterp

Lid · Topicstarter

Berichten
1.631
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ah ik zie het ik klikte eerst op die php-source en daar kwam ik niet uit.
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Maar nu kom je er wel uit?
0
Wouterp

Lid · Topicstarter

Berichten
1.631
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Nee, Ik heb nu dan die socket en ik kan verbinden met de reseller maar het probleem is nu dat ik geen idee hebt hoe je nou dat script schrijft:
Als ik bijv. Deze wil:
http://directadmin.com/api.html#create_user

Hoe steekt het script dan in elkaar?
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Wat heb je al geprobeerd? Laat je code eens zien?

Even op weg helpen:
$sock->query bestaat uit twee parameters, de commando, en een array met de instellingen.
Als we dit hebben (en de rest even buiten beschouwing laten)

$sock->query(/CMD_SUBDOMAIN,
    array(
        action => create,
        domain => ditismijndomein.nl,
        subdomain => test
    ));
$result = $sock->fetch_body();


Hiermee kan je dus voor de domein: ditismijndomein.nl de subdomein test aanmaken.
De $sock->fetch_body(); functie voert de opdracht uit, en geeft een waarde terug, die kan je echoen.
Deze waarde kan een normale string zijn, maar ook een array.
0
Wouterp

Lid · Topicstarter

Berichten
1.631
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik heb nu dit:
http://letsweb.nl/host/?p=domein

$sock = new HTTPSocket;
$sock->connect(159.253.0.111,2222);

$sock->set_login("reseller|{***}","{***}");

$sock->set_method(POST);

$sock->query(/CMD_API_ACCOUNT_USER,
    array(
        action => create,
        username => piet,
        email => piet@piet.nl,
        passwd => ***,
        passwd2 => ***,
        domain => piet.nl,
        package => basic,
        ip => 127.0.0.1,
        notify => yes        
    ));
$result = $sock->fetch_body();

echo $result;

?>


Het enige resultaat is een direct admin paneeltje?
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Strange confused
Gebruik eens GET?
Inloggegevens wel goed?
0
Wouterp

Lid · Topicstarter

Berichten
1.631
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Geen verschil... Denk het? Hij was eerst:

$sock->set_login("admin|{username}","{admin_password}");

Dus denk het?
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
waarom die admin ervoor?

Gebruik eens je gewone inlog, zonder pipes ervoor.
0
Wouterp

Lid · Topicstarter

Berichten
1.631
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Die admin stond er in het begin bij?

//even proberen

toevoeging op 19 maart 2012, 22:21:42:
Jippie hij werkt biggrin
Hij weergeeft wel raar een melding:

error=0&text=User piet created&details=Unix User created successfully<br> <br> Users System Quotas set<br> Users data directory created successfully<br> Domains directory created successfully<br> Domains directory created successfully in users home<br> <br> Domain Created Successfully<br> <br>


Waarschijnlijk omdat die in php staat ofso?
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Niks raars aan, je moet zelf met wat preg_matches() of andere string-gerelateerde functies even de boel netjes maken.

error=0, geeft al aan dat het gelukt is.
Ik heb ergens nog een script liggen die zon url_encoded() string netjes in een array plaatst, die je dan makkelijk uit elkaar kan halen.

function parseQueryString($str) {
            $op = array();
            $pairs = explode("&", $str);
            foreach ($pairs as $pair) {
                list($k, $v) = array_map("urldecode", explode("=", $pair));
                $op[$k] = $v;
            }
            return $op;
        }
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren