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)); }
$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);