예제 #1
0
 private function FixTransferLonelyFlag(Domain $Domain, Changelist $Changes)
 {
     $added = $Changes->GetAdded();
     $removed = $Changes->GetRemoved();
     if (count($added) + count($removed) < 2 && in_array('clientTransferProhibited', array_merge($added, $removed))) {
         // Add flag that is presented in domain and not will be removed at this time
         $candidates = array_diff($Domain->GetFlagList(), $removed);
         if ($candidates) {
             $added[] = array_shift($candidates);
         } else {
             // Remove flag that not presented in domain and not will be added at this time
             $candidates = array_diff($this->epp_flags, $Domain->GetFlagList(), $added);
             if ($candidates) {
                 $removed[] = array_shift($candidates);
             }
         }
     }
     return array($added, $removed);
 }
예제 #2
0
파일: ns.php 프로젝트: rchicoria/epp-drs
		require_once("src/get_managed_domain_object.php");
	
	if ($Domain->Status != DOMAIN_STATUS::DELEGATED)
	{
		$errmsg = _("Domain status prohibits operation");
		CoreUtils::Redirect("domains_view.php");
	}
		
	if ($_POST)
	{
		if ($post_task == "mdns")
		{
			if ($post_enable_managed_dns == 1 && $Domain->IsManagedDNSEnabled == 0)
			{
				$list = $Domain->GetNameserverList();
				$chlist = new Changelist($list);
				
				// Set new Nameserver
				$chlist->Add(new Nameserver(CONFIG::$NS1));
				$chlist->Add(new Nameserver(CONFIG::$NS2));
				
				$deletens = array();
				foreach ($list as $ns)
					if ($ns->HostName != CONFIG::$NS1 && $ns->HostName != CONFIG::$NS2)
						$chlist->Remove($ns);

				if (!$chlist->GetAdded() && !$chlist->GetRemoved())
					$upd = true;
				else
				{
					try
예제 #3
0
				
			$changeList = new Changelist($o_ns, $n_ns);
			
			if (count($changeList->GetAdded()) != 0 || count($changeList->GetRemoved()) != 0)
			{
				foreach ($changeList->GetAdded() as $added)
					$changes[] = sprintf("Added new nameserver %s", $added);
					
				foreach ($changeList->GetRemoved() as $rem)
					$changes[] = sprintf("Nameserver %s removed", $rem);
			}
			
			$oFlags = $oDomain->GetFlagList();
			$nFlags = $nDomain->GetFlagList();
			
			$changeList = new Changelist($oFlags, $nFlags);
			if (count($changeList->GetAdded()) != 0 || count($changeList->GetRemoved()) != 0)
			{
				foreach ($changeList->GetAdded() as $added)
					$changes[] = sprintf("Added new flag %s", $added);
					
				foreach ($changeList->GetRemoved() as $rem)
					$changes[] = sprintf("Flag %s removed", $rem);
			}
			
			break;
	}
	
	$display["changes"] = $changes;
	
	require("src/append.inc.php");
예제 #4
0
파일: tests.php 프로젝트: rchicoria/epp-drs
 function updateDomainStatus()
 {
     $Domain = $this->Registry->NewDomainInstance();
     $Domain->Name = 'eppinfodomain';
     $Changes = new Changelist(array());
     $Changes->Add('clientUpdateProhibited');
     $Resp = $this->Module->UpdateDomainFlags($Domain, $Changes);
     $this->assertTrue($Resp->Code == RFC3730_RESULT_CODE::OK, "Change Domain Status");
 }