zimbraAddressAvailable.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. $allowed_host = 'admin.seecure.ch';
  3. $host = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST);
  4. if(substr($host, 0 - strlen($allowed_host)) != $allowed_host) {
  5. die("This file cannot be accessed directly");
  6. }
  7. use WHMCS\Database\Capsule;
  8. define("CLIENTAREA", true);
  9. require_once(__DIR__ . '/../../init.php');
  10. require_once(ROOTDIR . '/includes/dbfunctions.php');
  11. require_once dirname(__FILE__) . '/zimbraSingle.inc';
  12. use WHMCS\Database\Capsule;
  13. $whmcs = App::self();
  14. $productID = $_GET['pid'];
  15. $accessData = array('zimbraServer' => '', 'adminUser' => '', 'adminPass' => '');
  16. $serverIDObj = Capsule::table('tblhosting')
  17. ->select('server')
  18. ->where('id', '=', $productID)
  19. ->get();
  20. $serverID = $serverIDObj[0]->server;
  21. $server = Capsule::table('tblservers')
  22. ->select('ipaddress', 'username', 'password')
  23. ->where('id', '=', $serverID)
  24. ->where('active', '=', 1)
  25. ->get();
  26. $accessData['zimbraServer'] = $server[0]->ipaddress;
  27. $accessData['adminUser'] = $server[0]->username;
  28. $adminPassCrypt = $server[0]->password;
  29. $adminPassDecrypt = localAPI('DecryptPassword', array('password2' => $adminPassCrypt));
  30. if ($adminPassDecrypt['result'] == 'success') {
  31. $accessData['adminPass'] = $adminPassDecrypt['password'];
  32. }
  33. $api = new Zm_Auth($accessData['zimbraServer'], $accessData['adminUser'], $accessData['adminPass'], "admin");
  34. $login = $api->login();
  35. if(is_a($login, "Exception")) {
  36. logModuleCall(
  37. 'zimbrasingle',
  38. __FUNCTION__,
  39. $accessData,
  40. "Error : cannot login to " . $accessData['zimbraServer'],
  41. $serverID
  42. );
  43. exit();
  44. } else {
  45. $apiAccountManager = new Zm_Account($api);
  46. if( $apiAccountManager->accountExists($account_name)) {
  47. echo 'no';
  48. } else {
  49. echo 'yes';
  50. }
  51. }