Can any one help me to finish this api???

opzero

Verified User
Joined
May 3, 2008
Messages
9
thanks for helping me

that is....

PHP:
<?



  function directadmin_configoptions ()

  {

    $configarray = array ('Package Name' => array ('Type' => 'text', 'Size' => '25'));

    return $configarray;

  }



  function directadmin_clientarea ($params)

  {

    $code = '<form action="http://' . $params['serverip'] . ':2222/CMD_LOGIN" method="post" target="_blank"><input type="hidden" name="username" value="' . $params['username'] . '"><input type="hidden" name="password" value="' . $params['password'] . '"><input type="submit" value="Login to DirectAdmin" class="button"></form>';

    return $code;

  }



  function directadmin_adminlink ($params)

  {

    $code = '<form action="http://' . $params['serverip'] . ':2222/CMD_LOGIN" method="post" target="_blank"><input type="hidden" name="username" value="' . $params['serverusername'] . '"><input type="hidden" name="password" value="' . $params['serverpassword'] . '"><input type="submit" value="DirectAdmin"></form>';

    return $code;

  }



  function directadmin_createaccount ($params)

  {

    $fields = array ();

    if ($params['type'] == 'hostingaccount')

    {

      $fields['action'] = 'create';

      $fields['add'] = 'Submit';

      $fields['username'] = $params['username'];

      $fields['email'] = $params['clientsdetails']['email'];

      $fields['passwd'] = $params['password'];

      $fields['passwd2'] = $params['password'];

      $fields['domain'] = $params['domain'];

      $fields['package'] = $params['configoption1'];

      $fields['ip'] = $params['serverip'];

      $fields['notify'] = 'no';

      $command = 'CMD_API_ACCOUNT_USER';

    }

    else

    {

      $fields['action'] = 'create';

      $fields['add'] = 'Submit';

      $fields['username'] = $params['username'];

      $fields['email'] = $params['clientsdetails']['email'];

      $fields['passwd'] = $params['password'];

      $fields['passwd2'] = $params['password'];

      $fields['domain'] = $params['domain'];

      $fields['package'] = $params['configoption1'];

      $fields['ip'] = 'shared';

      $fields['notify'] = 'no';

      $command = 'CMD_ACCOUNT_RESELLER';

    }



    $results = directadmin_req ($command, $fields, $params['serverip'], $params['serverusername'], $params['serverpassword'], $params['serversecure']);

    if ($results['error'])

    {

      $result = $results['details'];

    }

    else

    {

      $result = 'success';

    }



    return $result;

  }



  function directadmin_terminateaccount ($params)

  {

    $fields = array ();

    $fields['confirmed'] = 'Confirm';

    $fields['delete'] = 'yes';

    $fields['select0'] = $params['username'];

    $results = directadmin_req ('CMD_SELECT_USERS', $fields, $params['serverip'], $params['serverusername'], $params['serverpassword'], $params['serversecure']);

    $result = 'success';

    return $result;

  }



  function directadmin_suspendaccount ($params)

  {

    $fields = array ();

    $fields['action'] = 'create';

    $fields['add'] = 'Submit';

    $fields['user'] = $params['username'];

    $results = directadmin_req ('CMD_API_SHOW_USER_CONFIG', $fields, $params['serverip'], $params['serverusername'], $params['serverpassword'], $params['serversecure']);

    if ($results['suspended'] == 'yes')

    {

      $result = 'Account is already suspended';

    }

    else

    {

      $fields = array ();

      $fields['suspend'] = 'Suspend/Unsuspend';

      $fields['select0'] = $params['username'];

      $results = directadmin_req ('CMD_SELECT_USERS', $fields, $params['serverip'], $params['serverusername'], $params['serverpassword'], $params['serversecure']);

      $result = 'success';

    }



    return $result;

  }



  function directadmin_unsuspendaccount ($params)

  {

    $fields = array ();

    $fields['action'] = 'create';

    $fields['add'] = 'Submit';

    $fields['user'] = $params['username'];

    $results = directadmin_req ('CMD_API_SHOW_USER_CONFIG', $fields, $params['serverip'], $params['serverusername'], $params['serverpassword'], $params['serversecure']);

    if ($results['suspended'] == 'no')

    {

      $result = 'Account is not suspended';

    }

    else

    {

      $fields = array ();

      $fields['suspend'] = 'Suspend/Unsuspend';

      $fields['select0'] = $params['username'];

      $results = directadmin_req ('CMD_SELECT_USERS', $fields, $params['serverip'], $params['serverusername'], $params['serverpassword'], $params['serversecure']);

      $result = 'success';

    }



    return $result;

  }



  function directadmin_changepassword ($params)

  {

    $fields = array ();

    $fields['username'] = $params['username'];

    $fields['passwd'] = $params['password'];

    $fields['passwd2'] = $params['password'];

    $results = directadmin_req ('CMD_API_USER_PASSWD', $fields, $params['serverip'], $params['serverusername'], $params['serverpassword'], $params['serversecure'], true);

    if ($results['error'])

    {

      $result = $results['details'];

    }

    else

    {

      $result = 'success';

    }



    return $result;

  }



  function directadmin_changepackage ($params)

  {

    $fields = array ();

    $fields['action'] = 'package';

    $fields['user'] = $params['username'];

    $fields['package'] = $params['configoption1'];

    $results = directadmin_req ('CMD_API_MODIFY_USER', $fields, $params['serverip'], $params['serverusername'], $params['serverpassword'], $params['serversecure']);

    if ($results['error'])

    {

      $result = $results['details'];

    }

    else

    {

      $result = 'success';

    }



    return $result;

  }



  function directadmin_req ($command, $fields, $host, $user, $pass, $usessl, $post = '')

  {

    global $debug_output;

    $fieldstring = '';

    foreach ($fields as $key => $value)

    {

      $fieldstring .= '' . $key . '=' . urlencode ($value) . '&';

    }



    $authstr = $user . ':' . $pass;

    $directadminaccterr = '';

    $ch = curl_init ();

    if ($usessl)

    {

      curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);

      curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);

      $url = 'https://' . $host . ':2222/' . $command . '?' . $fieldstring;

    }

    else

    {

      $url = 'http://' . $host . ':2222/' . $command . '?' . $fieldstring;

    }



    curl_setopt ($ch, CURLOPT_URL, $url);

    if ($post)

    {

      curl_setopt ($ch, CURLOPT_POSTFIELDS, $fieldstring);

    }



    curl_setopt ($ch, CURLOPT_HEADER, 0);

    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

    $curlheaders[0] = 'Authorization: Basic ' . base64_encode ($authstr);

    curl_setopt ($ch, CURLOPT_HTTPHEADER, $curlheaders);

    curl_setopt ($ch, CURLOPT_TIMEOUT, 60);

    $data = curl_exec ($ch);

    if (curl_errno ($ch))

    {

      $data = curl_errno ($ch) . ' - ' . curl_error ($ch);

    }



    curl_close ($ch);

    if ($debug_output == 'on')

    {

      echo ('' . '<textarea rows=12 cols=120>URL: ' . $url . '

') . '

Data: ' . $data . '</textarea><br>';

    }



    if (strpos ($data, 'DirectAdmin Login') == true)

    {

      $resultsarray = array ('error' => '1', 'details' => 'Login Failed');

    }

    else

    {

      $data = explode ('&', $data);

      foreach ($data as $temp)

      {

        $temp = explode ('=', $temp);

        $resultsarray[$temp[0]] = $temp[1];

      }

    }



    return $resultsarray;

  }



?>
 
Back
Top