Пример #1
0
 private function _changeIpType(Server_Account $a)
 {
     $params = array('reseller' => array('ippool-set-ip' => array('reseller-id' => $a->getId(), 'filter' => array('ip-address' => $a->getIp()), 'values' => array('ip-type' => 'shared'))));
     $response = $this->_makeRequest($params);
     if (isset($response->system->status) && $response->system->status == 'error') {
         throw new Server_Exception('Plesk error: ' . $response->system->errcode . ' - ' . $response->system->errtext);
     }
     if (isset($response->reseller->{'ippool-set-ip'}->result->status) && $response->reseller->{'ippool-set-ip'}->result->status == 'error') {
         throw new Server_Exception('Plesk error: ' . $response->reseller->{'ippool-set-ip'}->result->errcode . ' - ' . $response->reseller->{'ippool-set-ip'}->result->errtext);
     }
     if (isset($response->reseller->{'ippool-set-ip'}->result->status) && $response->reseller->{'ippool-set-ip'}->result->status == 'ok') {
         return true;
     } else {
         return false;
     }
 }
Пример #2
0
 private function dnsCreateZone(Server_Account &$a)
 {
     $client = $a->getClient();
     // ---- Setting up the DNS ZONE
     $dns_domain_params['server_id'] = $this->getServerId();
     $dns_domain_params['client_id'] = $client->getid();
     $dns_domain_params['origin'] = $a->getDomain() . '.';
     $dns_domain_params['ns'] = $a->getNs1();
     $dns_domain_params['zone'] = $client->getid();
     $dns_domain_params['name'] = $a->getDomain() . '.';
     //adding a final dot
     $dns_domain_params['type'] = 'A';
     $dns_domain_params['data'] = $a->getIp();
     $dns_domain_params['mbox'] = 'mail.' . $a->getDomain() . '.';
     //@todo
     $dns_domain_params['refresh'] = '7200';
     $dns_domain_params['retry'] = '540';
     $dns_domain_params['expire'] = '604800';
     $dns_domain_params['minimum'] = '86400';
     $dns_domain_params['ttl'] = '3600';
     $dns_domain_params['active'] = 'Y';
     $this->_request('dns_zone_add', $dns_domain_params);
     $pa['origin'] = $a->getDomain();
     $info = $this->_request('test', $pa);
     //Adding the DNS record A
     $dns_a_params['server_id'] = $this->getServerId();
     $dns_a_params['client_id'] = $client->getid();
     $dns_a_params['zone'] = $info;
     $dns_a_params['name'] = $a->getDomain() . '.';
     //adding a final dot
     $dns_a_params['type'] = 'A';
     $dns_a_params['data'] = $a->getIp();
     $dns_a_params['ttl'] = '3600';
     $dns_a_params['active'] = 'Y';
     $this->_request('dns_a_add', $dns_a_params);
     //Adding the DNS record A
     $dns_a_params['server_id'] = $this->getServerId();
     $dns_a_params['client_id'] = $client->getid();
     $dns_a_params['zone'] = $info;
     $dns_a_params['name'] = 'www';
     //adding a final dot
     $dns_a_params['type'] = 'A';
     $dns_a_params['data'] = $a->getIp();
     $dns_a_params['ttl'] = '3600';
     $dns_a_params['active'] = 'Y';
     $this->_request('dns_a_add', $dns_a_params);
     //Adding the DNS record A
     $dns_a_params['server_id'] = $this->getServerId();
     $dns_a_params['client_id'] = $client->getid();
     $dns_a_params['zone'] = $info;
     $dns_a_params['name'] = 'mail';
     //adding a final dot
     $dns_a_params['type'] = 'A';
     $dns_a_params['data'] = $a->getIp();
     $dns_a_params['ttl'] = '3600';
     $dns_a_params['active'] = 'Y';
     $this->_request('dns_a_add', $dns_a_params);
     //Adding the DNS record NS1
     $dns_ns_add = array('server_id' => $this->getServerId(), 'zone' => $info, 'name' => $a->getDomain() . '.', 'type' => 'ns', 'data' => $a->getNs1() . '.', 'aux' => '0', 'ttl' => '86400', 'active' => 'Y', 'stamp' => 'CURRENT_TIMESTAMP', 'serial' => '1', 'client_id' => $client->getId());
     $this->_request('dns_ns_add', $dns_ns_add);
     //Adding the DNS record NS2
     $dns_ns_add = array('server_id' => $this->getServerId(), 'zone' => $info, 'name' => $a->getDomain() . '.', 'type' => 'ns', 'data' => $a->getNs2() . '.', 'aux' => '0', 'ttl' => '3600', 'active' => 'Y', 'stamp' => 'CURRENT_TIMESTAMP', 'serial' => '1', 'client_id' => $client->getId());
     $this->_request('dns_ns_add', $dns_ns_add);
     /*  $dns_a_params['server_id'] = $this->getServerId();
             $dns_a_params['client_id'] = $client->getid();
     		$dns_a_params['origin']	= $a->getDomain();
     		$dns_a_params['ns']	  = $a->getNs1();
             $dns_a_params['zone'] = '90';
             $dns_a_params['name'] = $a->getDomain().'.'; //adding a final dot
             $dns_a_params['type'] = 'A';
             $dns_a_params['data'] = $a->getIp();
     		$dns_a_params['mbox'] 		= 'mail.'.$a->getDomain().'.';//@todo
             $dns_a_params['refresh'] 	= '28800';
             $dns_a_params['retry'] 	= '7200';
             $dns_a_params['expire']	= '86400';
             $dns_a_params['minimum']	= '86400';
             $dns_a_params['ttl'] = '86400';
             $dns_a_params['active'] = 'Y';
     
             $this->_request('dns_zone_add', $dns_a_params);  */
     // ---- Setting up the mail domain
     $mail_domain_params['client_id'] = $client->getId();
     $mail_domain_params['server_id'] = $this->getServerId();
     $mail_domain_params['domain'] = $a->getDomain();
     $mail_domain_params['active'] = 'y';
     $this->_request('mail_domain_add', $mail_domain_params);
     return true;
 }
Пример #3
0
 /**
  *
  * Creates user's account
  * @param Server_Account $a
  * @throws Server_Exception
  * @returns boolean
  */
 private function _createUser(Server_Account $a)
 {
     $p = $a->getPackage();
     $client = $a->getClient();
     $params = array('domain' => $a->getDomain(), 'pass' => $a->getPassword(), 'email' => $client->getEmail(), 'user' => $a->getUsername(), 'dns' => '', 'web' => '', 'webmin' => '', 'max-doms' => (int) $p->getMaxDomains() ? $p->getMaxDomains() : 1, 'max-aliasdoms' => (int) $p->getMaxDomains() ? $p->getMaxDomains() : 1, 'max-realdoms' => (int) $p->getMaxDomains() ? $p->getMaxDomains() : 1, 'max-mailboxes' => (int) $p->getMaxPop() ? $p->getMaxPop() : 1, 'unix' => '', 'dir' => '', 'quota' => $p->getQuota() == 'unlimited' ? 'UNLIMITED' : (int) $p->getMaxQuota(), 'uquota' => $p->getQuota() == 'unlimited' ? 'UNLIMITED' : (int) $p->getMaxQuota(), 'bandwidth' => $p->getBandwidth() == 'unlimited' ? 'UNLIMITED' : (int) $p->getBandwidth() * 1024 * 1024, 'mysql-pass' => $a->getPassword());
     if ($p->getMaxPop()) {
         $params['mail'] = '';
     }
     if ($p->getHasSsl()) {
         $params['ssl'] = '';
     }
     if ($p->getMaxFtp() > 0) {
         $params['ftp'] = '';
     }
     if ($p->getHasSpamFilter()) {
         $params['spam'] = '';
     }
     if ($p->getMaxSql() > 0) {
         $params['mysql'] = '';
     }
     if (!$a->getIp()) {
         $params['alocate-ip'] = '';
     } else {
         $params['ip'] = $a->getIp();
         $params['ip-already'] = '';
     }
     $response = $this->_makeRequest('create-domain', $params);
     if (isset($response['status']) && $response['status'] == 'success') {
         return true;
     } else {
         throw new Server_Exception('Failed to create account');
     }
     return false;
 }
Пример #4
0
 private function dnsCreateZone(Server_Account &$a)
 {
     $client = $a->getClient();
     //Adding the DNS record A
     $dns_a_params['server_id'] = $this->getServerId();
     $dns_a_params['client_id'] = $client->getAid();
     $dns_a_params['zone'] = '90';
     $dns_a_params['name'] = $a->getDomain() . '.';
     //adding a final dot
     $dns_a_params['type'] = 'A';
     $dns_a_params['data'] = $a->getIp();
     $dns_a_params['ttl'] = '86400';
     $dns_a_params['active'] = 'Y';
     $this->_request('dns_a_add', $dns_a_params);
     /*
     // ---- Setting up the mail domain
     $mail_domain_params['client_id'] 	= $client->getAId();
     $mail_domain_params['server_id']  	= $this->getServerId();
     $mail_domain_params['domain']	 	= $a->getDomain();
     $mail_domain_params['active'] 	 	= 'y';
     
     $domain_id = $this->_request('mail_domain_add', $mail_domain_params);
     
     // ---- Setting up the DNS ZONE
     $dns_domain_params['client_id'] = $client->getAId();
     $dns_domain_params['server_id'] = $this->getServerId();
     $dns_domain_params['origin']	= $a->getDomain();
     
     $dns_domain_params['ns']		= '8.8.8.8';
     $dns_domain_params['mbox'] 		= 'mbox.beeznest.com.';//@todo
     $dns_domain_params['refresh'] 	= 28800;
     $dns_domain_params['retry'] 	= 7200;
     $dns_domain_params['expire']	= 604800;
     $dns_domain_params['minimum']	= 604800;
     $dns_domain_params['ttl']		= 604800;
     $dns_domain_params['active'] 	= 'y';
     $result = $this->remote('dns_zone_add', $dns_domain_params);
     */
     return true;
 }