| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- <?php
- namespace MGModule\DNSManager2\mgLibs\custom\task;
- use \MGModule\DNSManager2 as main;
- use \MGModule\DNSManager2\models\custom\zone;
- use \MGModule\DNSManager2\models\custom\task;
- use \MGModule\DNSManager2\mgLibs\custom\manager\LogHelper;
- class DnsRecord extends TaskAbstract {
-
- public function mainDescription()
- {
- return 'Set DNS Record';
- }
-
- public function main($params)
- {
- $zones = $params['zones'];
- $dnsRecordId= $this->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'));
- }
-
- }
-
- }
|