Task.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <?php
  2. namespace MGModule\DNSManager2\models\custom\task;
  3. use MGModule\DNSManager2 as main;
  4. /**
  5. * Task class
  6. *
  7. * @Table(name=task)
  8. */
  9. class Task extends main\mgLibs\models\orm{
  10. /**
  11. * ID field
  12. *
  13. * @Column(id)
  14. * @var int
  15. */
  16. public $id;
  17. /**
  18. *
  19. * @Column(text)
  20. * @var string
  21. */
  22. public $name;
  23. /**
  24. *
  25. * @Column(text)
  26. * @var array
  27. */
  28. public $params;
  29. /**
  30. *
  31. * @Column(int=32,isKey=1)
  32. * @var string
  33. */
  34. public $parentid;
  35. /**
  36. *
  37. * @Column(int=32,isKey=1)
  38. * @var int
  39. */
  40. public $repeats;
  41. /**
  42. *
  43. * @Column(int=32,isKey=1)
  44. * @var string
  45. */
  46. public $clientid;
  47. /**
  48. *
  49. * @Column(varchar)
  50. * @var string
  51. */
  52. public $status;
  53. /**
  54. *
  55. * @Column(datetime)
  56. * @var string
  57. */
  58. public $nextrun;
  59. /**
  60. *
  61. * @Column(datetime)
  62. * @var string
  63. */
  64. public $lastrun;
  65. /**
  66. *
  67. * @Column(datetime)
  68. * @var string
  69. */
  70. public $date;
  71. public function __construct($id = false, array $data = array()) {
  72. parent::__construct($id, $data);
  73. $this->params = unserialize($this->params);
  74. }
  75. public function save($data = array()) {
  76. if(!TaskStatusEnum::isValidValue($this->status)) {
  77. throw new \Exception('Invalid Task Status ('. $this->status .')');
  78. }
  79. $data['params'] = serialize($this->params);
  80. parent::save($data);
  81. }
  82. public function getParent() {
  83. if($this->parentid == 0)
  84. return false;
  85. return new Task($this->parentid);
  86. }
  87. public function getResults() {
  88. return result\Repository::factory()->byTaskID($this->id)->get();
  89. }
  90. }