DnsRecord.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. namespace MGModule\DNSManager2\mgLibs\custom\task;
  3. use \MGModule\DNSManager2 as main;
  4. use \MGModule\DNSManager2\models\custom\zone;
  5. use \MGModule\DNSManager2\models\custom\task;
  6. use \MGModule\DNSManager2\mgLibs\custom\manager\LogHelper;
  7. class DnsRecord extends TaskAbstract {
  8. public function mainDescription()
  9. {
  10. return 'Set DNS Record';
  11. }
  12. public function main($params)
  13. {
  14. $zones = $params['zones'];
  15. $dnsRecordId= $this->getParams('recordId');
  16. $this->getStatus();
  17. $this->setStatus(task\TaskStatusEnum::IN_PROGRESS);
  18. foreach ($zones as $id => $checked)
  19. {
  20. if($checked != 'on')
  21. {
  22. continue;
  23. }
  24. $child = $this->addChild('changeRecordSet',array('recordSetId' => $dnsRecordId, 'zoneId' => $id,'wipe' => $this->getParams('wipe')));
  25. $child->run();
  26. }
  27. $error = false;
  28. foreach($this->getChilds() as $child)
  29. {
  30. if($child->obj()->status == 'error')
  31. {
  32. $error = true;
  33. }
  34. }
  35. if(!$error)
  36. {
  37. LogHelper::addSuccessLog('Set DNS Record', 'End Of Set DNS Record Run');
  38. $this->setStatus(task\TaskStatusEnum::FINISHED);
  39. }
  40. else
  41. {
  42. $this->setStatus(task\TaskStatusEnum::ERROR);
  43. }
  44. }
  45. public function changeRecordSet($params)
  46. {
  47. try
  48. {
  49. $recordSetId= $params['recordSetId'];
  50. $zoneId = $params['zoneId'];
  51. $wipeOption = (boolean)$params['wipe'];
  52. $wipe = array();
  53. $zone = new zone\Zone($zoneId);
  54. $module = $zone->getModule();
  55. $setHelper = new main\mgLibs\custom\helpers\RecordSetHelper($zone, new main\mgLibs\custom\helpers\ZoneLogger\Manager());
  56. if($wipeOption)
  57. {
  58. $wipe = $module->wipeRecords();
  59. $setHelper->addRecordSet($recordSetId,true);
  60. }
  61. else
  62. {
  63. $setHelper->addRecordSet($recordSetId,true,true);
  64. }
  65. if($wipe)
  66. {
  67. $module->wipeRecordsArray($wipe);
  68. }
  69. $zone->status = 1;
  70. $zone->save();
  71. $this->setStatus(task\TaskStatusEnum::FINISHED);
  72. }
  73. catch(\Exception $ex)
  74. {
  75. $this->setStatus(task\TaskStatusEnum::ERROR);
  76. LogHelper::addFailLogUsingZoneID('Set DNS Record', $ex->getMessage(), $this->getParams('zoneId'));
  77. }
  78. }
  79. }