| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- namespace MGModule\DNSManager2\models\custom\zone;
- use MGModule\DNSManager2 as main;
- use MGModule\DNSManager2\mgLibs\MySQL as sql;
- use MGModule\DNSManager2\models\custom\server as server;
- /**
- * Description of repository
- *
- *
- */
- class Repository extends \MGModule\DNSManager2\mgLibs\models\repository{
- public function getModelClass() {
- return __NAMESPACE__.'\Zone';
- }
-
- public function getServersZonesUsed($server = false) {
- $serverrep = new server\Repository();
- return sql\query::query('SELECT b.name, b.module, count(a.serverid) AS c FROM ' . $this->tableName() . ' a '
- . 'INNER JOIN ' . $serverrep->tableName() . ' b ON a.serverid = b.id '
- . ($server === false?'':' WHERE b.module = :module ')
- . 'GROUP BY a.serverid', ($server === false? array() : array('module' => $server)))->fetchAll();
- }
-
- public function getZonesWith($type, $relid = false, $clientid = false) {
- $this->setFilter('type', $type);
- if($relid !== false)
- $this->setFilter('relid', $relid);
- if($clientid !== false)
- $this->setFilter('clientid', $clientid);
- return $this->get();
- }
-
- public function byServerID($serverid) {
- return $this->setFilter('serverid', $serverid);
- }
-
- public function byRelID($relid) {
- return $this->setFilter('relid', $relid);
- }
-
- public function byType($type) {
- return $this->setFilter('type', $type);
- }
-
- public function byClientID($clientid) {
- return $this->setFilter('clientid', $clientid);
- }
-
- public function byName($name) {
- return $this->setFilter('name', $name);
- }
-
- public function byId($zoneId)
- {
- return $this->setFilter('id', $zoneId);
- }
- }
|