#------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- default: return ERROR | @Trigger_Error(101); } #------------------------------------------------------------------------------- # сравниваем список от регистратора со списокм в биллинге $RegList = Array_Keys($Prices); #------------------------------------------------------------------------------- ASort($NewSchemes); #------------------------------------------------------------------------------- ASort($RegList); #------------------------------------------------------------------------------- $DomainsOdd = Array_Diff($NewSchemes, $RegList); #------------------------------------------------------------------------------- if (SizeOf($DomainsOdd)) { #------------------------------------------------------------------------------- foreach ($DomainsOdd as $Odd) { #------------------------------------------------------------------------------- # проверяем наличие заказов по этому тарифу $Count = DB_Count('DomainOrdersOwners', array('Where' => array(SPrintF('`ServerID` = %u', $Registrator['ID']), SPrintF('`Name` = "%s"', $Odd)))); if (Is_Error($Count)) { return ERROR | @Trigger_Error(500); } #------------------------------------------------------------------------------- if ($Count) { #------------------------------------------------------------------------------- $Message = SPrintF('Обнаружен тариф отсутствующий у регистратора: %s/%s, число заказов: %u', $Registrator['Params']['Name'], $Odd, $Count); #-------------------------------------------------------------------------------
Debug(SPrintF('[comp/Tasks/GC/DomainFindOddg]: Домен %s ещё не удалён у регистратора', $DomainOdd)); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- break; #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- default: return ERROR | @Trigger_Error(101); } } } } #------------------------------------------------------------------------------- # лишние в биллинге $DomainsOdd = Array_Diff($BillDomains, $RegDomains['Domains']); #------------------------------------------------------------------------------- if (SizeOf($DomainsOdd) > 0) { #------------------------------------------------------------------------------- foreach ($DomainsOdd as $DomainOdd) { #------------------------------------------------------------------------------- Debug(SPrintF('[comp/Tasks/GC/DomainFindOddg]: Найден домен %s отсутствующий у регистратора %s', $DomainOdd, $NowReg['Params']['Name'])); #------------------------------------------------------------------------------- # Ищщем параметры этого заказа на домен $Where = array('`DomainSchemes`.`ID` = `SchemeID`', SPrintF("CONCAT(`DomainOrdersOwners`.`DomainName`,'.',`DomainSchemes`.`Name`) = '%s'", $DomainOdd), SPrintF('`DomainOrdersOwners`.`ServerID` = %u', $NowReg['ID'])); $DomainOrder = DB_Select(array('DomainOrdersOwners', 'DomainSchemes'), array('StatusID', 'StatusDate', '`DomainOrdersOwners`.`ID` AS `ID`', '`DomainOrdersOwners`.`UserID` AS `UserID`'), array('UNIQ', 'Where' => $Where)); #------------------------------------------------------------------------------- switch (ValueOf($DomainOrder)) { case 'error': return ERROR | @Trigger_Error(500); case 'exception':