/class/class.install.php
http://freshdns.googlecode.com/ · PHP · 112 lines · 97 code · 15 blank · 0 comment · 1 complexity · d5b95fbb038ca723d3a3958f3903dd8b MD5 · raw file
- <?
- class install
- {
- private $database;
-
- function __construct($database)
- {
- $this->database = $database;
- }
-
- function pdns_sql ()
- {
- $query = array();
- $query[] = "CREATE TABLE IF NOT EXISTS domains (
- id INT auto_increment,
- name VARCHAR(255) NOT NULL,
- master VARCHAR(20) DEFAULT NULL,
- last_check INT DEFAULT NULL,
- type VARCHAR(6) NOT NULL,
- notified_serial INT DEFAULT NULL,
- account VARCHAR(40) DEFAULT NULL,
- primary key (id)
- )type=InnoDB;";
-
- $query[] = "CREATE UNIQUE INDEX name_index ON domains(name);";
-
- $query[] = "CREATE TABLE IF NOT EXISTS records (
- id INT auto_increment,
- domain_id INT DEFAULT NULL,
- name VARCHAR(255) DEFAULT NULL,
- type VARCHAR(6) DEFAULT NULL,
- content VARCHAR(255) DEFAULT NULL,
- ttl INT DEFAULT NULL,
- prio INT DEFAULT NULL,
- change_date INT DEFAULT NULL,
- primary key(id)
- )type=InnoDB;";
-
- $query[] = "CREATE INDEX rec_name_index ON records(name);";
- $query[] = "CREATE INDEX nametype_index ON records(name,type);";
- $query[] = "CREATE INDEX domain_id ON records(domain_id);";
-
- $query[] = "CREATE TABLE IF NOT EXISTS supermasters (
- ip VARCHAR(25) NOT NULL,
- nameserver VARCHAR(255) NOT NULL,
- account VARCHAR(40) DEFAULT NULL
- );";
-
- foreach($query AS $Q)
- {
- @$this->database->query_master($Q);
- }
- }
-
- function padmin_sql ()
- {
- $query = array();
-
- $query[] = "CREATE TABLE IF NOT EXISTS `record_owners` (
- `id` int(11) NOT NULL auto_increment,
- `user_id` int(11) NOT NULL default '0',
- `record_id` int(11) NOT NULL default '0',
- PRIMARY KEY (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=latin1;";
-
- $query[] = "CREATE TABLE IF NOT EXISTS `users` (
- `id` int(11) NOT NULL auto_increment,
- `username` varchar(16) NOT NULL default '',
- `password` varchar(34) NOT NULL default '',
- `fullname` varchar(255) NOT NULL default '',
- `email` varchar(255) NOT NULL default '',
- `description` text NOT NULL,
- `level` tinyint(3) NOT NULL default '0',
- `active` tinyint(1) NOT NULL default '0',
- PRIMARY KEY (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=latin1;";
-
- $query[] = "CREATE TABLE IF NOT EXISTS `zones` (
- `id` int(11) NOT NULL auto_increment,
- `domain_id` int(11) NOT NULL default '0',
- `owner` int(11) NOT NULL default '0',
- `comment` text,
- PRIMARY KEY (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=latin1;";
-
- foreach($query AS $Q)
- {
- $this->database->query_master($Q) or die ($this->database->error());
- }
- }
-
- function zonelessdomains ()
- {
- $query = "SELECT d.id FROM domains d
- LEFT OUTER JOIN zones z ON z.domain_id=d.id;";
- $query = $this->database->query_master($query) or die ($this->database->error());
-
- if($this->database->num_rows($query)==0)
- {
- return '';
- }else
- {
- while($record=$this->database->fetch_array($query))
- {
- $return[] = $record;
- }
-
- return $return;
- }
- }
- }
- ?>