getParams('recordId'); $this->getStatus(); $this->setStatus(task\TaskStatusEnum::IN_PROGRESS); foreach ($zones as $id => $checked) { if($checked != 'on') { continue; } $child = $this->addChild('changeRecordSet',array('recordSetId' => $dnsRecordId, 'zoneId' => $id,'wipe' => $this->getParams('wipe'))); $child->run(); } $error = false; foreach($this->getChilds() as $child) { if($child->obj()->status == 'error') { $error = true; } } if(!$error) { LogHelper::addSuccessLog('Set DNS Record', 'End Of Set DNS Record Run'); $this->setStatus(task\TaskStatusEnum::FINISHED); } else { $this->setStatus(task\TaskStatusEnum::ERROR); } } public function changeRecordSet($params) { try { $recordSetId= $params['recordSetId']; $zoneId = $params['zoneId']; $wipeOption = (boolean)$params['wipe']; $wipe = array(); $zone = new zone\Zone($zoneId); $module = $zone->getModule(); $setHelper = new main\mgLibs\custom\helpers\RecordSetHelper($zone, new main\mgLibs\custom\helpers\ZoneLogger\Manager()); if($wipeOption) { $wipe = $module->wipeRecords(); $setHelper->addRecordSet($recordSetId,true); } else { $setHelper->addRecordSet($recordSetId,true,true); } if($wipe) { $module->wipeRecordsArray($wipe); } $zone->status = 1; $zone->save(); $this->setStatus(task\TaskStatusEnum::FINISHED); } catch(\Exception $ex) { $this->setStatus(task\TaskStatusEnum::ERROR); LogHelper::addFailLogUsingZoneID('Set DNS Record', $ex->getMessage(), $this->getParams('zoneId')); } } }