Skip to main content

Finding account username from parked domain

Comments

2 comments

  • cPanelMichael
    Hello :) This thread is older but it still might be helpful: Find User of Addon Domain The updated documentation URL is: WHM API 1 - domainuserdata Thank you.
    0
  • tdl
    Thank you Michael That's exactly what I needed. Final code here for reference. I'll pass onto the original author / roundcube for consideration [PHP] /** * cPanel Password Driver * * 3.0 * Driver that adds functionality to change the users cPanel password. * Originally written by Fulvio Venturelli * * Completely rewritten using the cPanel API2 call Email::passwdpop * as opposed to the original coding against the UI, which is a fragile method that * makes the driver to always return a failure message for any language other than English * see http://trac.roundcube.net/ticket/1487015 * * This driver has been tested with o2switch hosting and seems to work fine. * * 3.1 * I've made changes to the 3.1 code to work for multiple accounts. Previously the cPanel username & password were stored * For this version, the WHM username & password should be stored. Then any user from any domain accessing this webmail can modify their passwords. * * * @version 3.1 * @author Christian Chech * @author Matt Moore */ class rcube_cpanel_password { public function save($curpas, $newpass) { require_once 'xmlapi.php'; $rcmail = rcmail::get_instance(); // Setup the xmlapi connection $this->xmlapi = new xmlapi($rcmail->config->get('password_cpanel_host')); $this->xmlapi->set_port($rcmail->config->get('password_cpanel_port')); $this->xmlapi->password_auth($rcmail->config->get('password_cpanel_username'), $rcmail->config->get('password_cpanel_password')); $this->xmlapi->set_output('json'); $this->xmlapi->set_debug(1); if ($this->setPassword($_SESSION['username">, $newpass)) { return PASSWORD_SUCCESS; } else { return PASSWORD_ERROR; } } /** * Change email account password * * Returns true on success or false on failure. * @param string $password email account password * @return bool */ function setPassword($address, $password) { if (strpos($address, '@')) { list($data['email">, $data['domain">) = explode('@', $address); } else { list($data['email">, $data['domain">) = array($address, ''); } $data['password"> = $password; $current_account = $this->xmlapi->domainuserdata($data['domain">); $current_account = json_decode($current_account, true); $this->cuser = $current_account['userdata">['user">; $query = $this->xmlapi->api2_query($this->cuser, 'Email', 'passwdpop', $data); $query = json_decode($query, true); if ($query['cpanelresult">['data">[0]['result"> == 1) { return true; } return false; } } [/PHP]
    0

Please sign in to leave a comment.