Repository.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace MGModule\DNSManager2\models\custom\reverse;
  3. use \MGModule\DNSManager2\mgLibs\models\repository as repo;
  4. use \MGModule\DNSManager2\models\custom\zone\Zone;
  5. /**
  6. * Description of repository
  7. *
  8. *
  9. */
  10. class Repository extends repo {
  11. public function getModelClass() {
  12. return __NAMESPACE__.'\Reverse';
  13. }
  14. public function from($serverid, $name) {
  15. return $this->byServerID($serverid)->byFrom($name);
  16. }
  17. public function fromIP($serverid, $ip) {
  18. return $this->byServerID($serverid)->byIP($ip);
  19. }
  20. public function fromServerAndClient($serverid, $clientId) {
  21. return $this->byServerID($serverid)->byClientID($clientId);
  22. }
  23. public function byServiceTypeAndRelidAndClient($type, $relid, $client) {
  24. return $this->byType($type)->byRelid($relid)->byClientID($client);
  25. }
  26. public function byServerID($serverid) {
  27. return $this->setFilter('serverid', $serverid);
  28. }
  29. public function byType($type) {
  30. return $this->setFilter('type', $type);
  31. }
  32. public function byRelid($relid) {
  33. return $this->setFilter('relid', $relid);
  34. }
  35. public function byIP($ip) {
  36. return $this->setFilter('ip', $ip);
  37. }
  38. public function byFrom($name) {
  39. return $this->setFilter('from', $name);
  40. }
  41. public function byClientID($clientid) {
  42. return $this->setFilter('clientid', $clientid);
  43. }
  44. public function byName($name) {
  45. return $this->setFilter('name', $name);
  46. }
  47. public function byZone(Zone $zone) {
  48. return $this->byServerID($zone->serverid)->byFrom($zone->name);
  49. }
  50. }