Esempio n. 1
0
 public function ConvertActiveDomains()
 {
     $this->Log('Import delegated domains');
     $this->FailedActiveDomains = array();
     // Import delegated domains
     $domains = $this->DbOld->GetAll("\r\n\t\t\t\tSELECT * FROM domains \r\n\t\t\t\tWHERE status='Delegated' \r\n\t\t\t\tORDER BY id ASC\r\n\t\t\t");
     $ok = $fail = 0;
     foreach ($domains as $i => $dmn) {
         // This is long time loop, DbOld connection may be lost due timeout,
         // so we need to ping it
         $this->PingDatabase($this->DbOld);
         // Check for duplicate domains
         $imported = (int) $this->DbNew->GetOne('SELECT COUNT(*) FROM domains WHERE name = ? AND TLD = ?', array($dmn['name'], $dmn['TLD']));
         if ($imported) {
             // Skip duplicate domain
             continue;
         }
         try {
             $Registry = $this->RegistryFactory->GetRegistryByExtension($dmn['TLD'], $db_check = false);
             $Domain = $Registry->NewDomainInstance();
             $Domain->Name = $dmn['name'];
             $this->Log("Import {$Domain->GetHostName()}");
             if (!DBDomain::ActiveDomainExists($Domain)) {
                 try {
                     $Domain = $Registry->GetRemoteDomain($Domain);
                 } catch (Exception $e) {
                     $err[] = sprintf("%s: %s", $Domain->GetHostName(), $e->getMessage());
                 }
                 if ($Domain->RemoteCLID) {
                     if ($Domain->RemoteCLID == $Registry->GetRegistrarID() || $Domain->AuthCode != '') {
                         $contacts_list = $Domain->GetContactList();
                         // Apply contacts to domain owner
                         foreach ($contacts_list as $Contact) {
                             $Contact->UserID = $dmn['userid'];
                         }
                         if (count($err) == 0) {
                             $period = date("Y", $Domain->ExpireDate) - date("Y", $Domain->CreateDate);
                             $Domain->Status = DOMAIN_STATUS::DELEGATED;
                             $Domain->Period = $period;
                             $Domain->UserID = $dmn['userid'];
                             $Domain->ID = $dmn['id'];
                             try {
                                 $this->DbNew->Execute('INSERT INTO domains SET id = ?', array($dmn['id']));
                                 $this->DBDomain->Save($Domain);
                                 $ok++;
                             } catch (Exception $e) {
                                 $err[] = sprintf("%s: %s", $Domain->GetHostName(), $e->getMessage());
                             }
                         }
                     } else {
                         $err[] = sprintf(_("'%s' cannot be imported because it does not belong to the current registar."), $Domain->GetHostName());
                     }
                 }
             } else {
                 $err[] = sprintf(_("Domain '%s' already exists in our database."), $Domain->GetHostName());
             }
             foreach ($err as $errmsg) {
                 $this->Log($errmsg, E_USER_ERROR);
                 $err = array();
                 $fail++;
             }
         } catch (Exception $e) {
             $this->Log($e->getMessage(), E_USER_ERROR);
             $fail++;
             if ($this->SaveFailedAsPending) {
                 $this->FailedActiveDomains[] = $dmn;
             }
         }
     }
     $this->Log(sprintf("Imported: %s; Failed: %s", $ok, $fail));
 }
Esempio n. 2
0
     $Registry = $RegistryModuleFactory->GetRegistryByExtension($TLD);
 } catch (Exception $e) {
     $err[] = $e->getMessage();
     continue;
 }
 if ($Registry) {
     $Domain = $Registry->NewDomainInstance();
     $Domain->Name = $domain_name;
     foreach ($domain_params as $k => $v) {
         if ($k == "pw") {
             $Domain->AuthCode = $v;
         } else {
             $Domain->SetExtraField($k, $v);
         }
     }
     if (!DBDomain::ActiveDomainExists($Domain)) {
         try {
             $Domain = $Registry->GetRemoteDomain($Domain);
             $RegistryContacts = UI::GetContactsListForSmarty($Registry->GetManifest()->GetSectionConfig());
         } catch (Exception $e) {
             $err[] = sprintf("%s: %s", $Domain->GetHostName(), $e->getMessage());
         }
         if ($Domain->RemoteCLID) {
             if ($Domain->RemoteCLID == $Registry->GetRegistrarID() || $Domain->AuthCode != '') {
                 $contacts_list = $Domain->GetContactList();
                 // Apply contacts to domain owner
                 foreach ($contacts_list as $Contact) {
                     $Contact->UserID = $post_userid;
                 }
                 if (count($err) == $num_errors_old) {
                     $period = date("Y", $Domain->ExpireDate) - date("Y", $Domain->CreateDate);