3 <TITLE>FS::svc_domain - Object methods for svc_domain records</TITLE>
4 <LINK REV="made" HREF="mailto:perl@packages.debian.org">
9 <A NAME="__index__"></A>
14 <LI><A HREF="#name">NAME</A></LI>
15 <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
16 <LI><A HREF="#description">DESCRIPTION</A></LI>
17 <LI><A HREF="#methods">METHODS</A></LI>
18 <LI><A HREF="#version">VERSION</A></LI>
19 <LI><A HREF="#bugs">BUGS</A></LI>
20 <LI><A HREF="#see also">SEE ALSO</A></LI>
26 <H1><A NAME="name">NAME</A></H1>
27 <P>FS::svc_domain - Object methods for svc_domain records</P>
30 <H1><A NAME="synopsis">SYNOPSIS</A></H1>
32 use FS::svc_domain;</PRE>
34 $record = new FS::svc_domain \%hash;
35 $record = new FS::svc_domain { 'column' => 'value' };</PRE>
37 $error = $record->insert;</PRE>
39 $error = $new_record->replace($old_record);</PRE>
41 $error = $record->delete;</PRE>
43 $error = $record->check;</PRE>
45 $error = $record->suspend;</PRE>
47 $error = $record->unsuspend;</PRE>
49 $error = $record->cancel;</PRE>
52 <H1><A NAME="description">DESCRIPTION</A></H1>
53 <P>An FS::svc_domain object represents a domain. FS::svc_domain inherits from
54 FS::svc_Common. The following fields are currently supported:</P>
56 <DT><STRONG><A NAME="item_key">svcnum - primary key (assigned automatically for new accounts)</A></STRONG><BR>
58 <DT><STRONG><A NAME="item_domain">domain</A></STRONG><BR>
63 <H1><A NAME="methods">METHODS</A></H1>
65 <DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
67 Creates a new domain. To add the domain to the database, see <A HREF="#insert">insert</A>.
69 <DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
71 Adds this domain to the database. If there is an error, returns the error,
72 otherwise returns false.
73 <P>The additional fields <EM>pkgnum</EM> and <EM>svcpart</EM> (see <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A>) should be
74 defined. An FS::cust_svc record will be created and inserted.</P>
75 <P>The additional field <EM>action</EM> should be set to <EM>N</EM> for new domains or <EM>M</EM>
77 <P>A registration or transfer email will be submitted unless
78 $FS::svc_domain::whois_hack is true.</P>
79 <P>The additional field <EM>email</EM> can be used to manually set the admin contact
80 email address on this email. Otherwise, the svc_acct records for this package
81 (see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>) are searched. If there is exactly one svc_acct record
82 in the same package, it is automatically used. Otherwise an error is returned.</P>
83 <P>If any <EM>soamachine</EM> configuration file exists, an SOA record is added to
84 the domain_record table (see <FS::domain_record>).</P>
85 <P>If any machines are defined in the <EM>nsmachines</EM> configuration file, NS
86 records are added to the domain_record table (see <A HREF=".././FS/domain_record.html">the FS::domain_record manpage</A>).</P>
87 <P>If any machines are defined in the <EM>mxmachines</EM> configuration file, MX
88 records are added to the domain_record table (see <A HREF=".././FS/domain_record.html">the FS::domain_record manpage</A>).</P>
89 <P>Any problems adding FS::domain_record records will emit warnings, but will
90 not return errors from this method. If your configuration files are correct
91 you shouln't have any problems.</P>
93 <DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
95 Deletes this domain from the database. If there is an error, returns the
96 error, otherwise returns false.
97 <P>The corresponding FS::cust_svc record will be deleted as well.</P>
99 <DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
101 Replaces OLD_RECORD with this one in the database. If there is an error,
102 returns the error, otherwise returns false.
104 <DT><STRONG><A NAME="item_suspend">suspend</A></STRONG><BR>
106 Just returns false (no error) for now.
107 <P>Called by the suspend method of FS::cust_pkg (see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>).</P>
109 <DT><STRONG><A NAME="item_unsuspend">unsuspend</A></STRONG><BR>
111 Just returns false (no error) for now.
112 <P>Called by the unsuspend method of FS::cust_pkg (see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>).</P>
114 <DT><STRONG><A NAME="item_cancel">cancel</A></STRONG><BR>
116 Just returns false (no error) for now.
117 <P>Called by the cancel method of FS::cust_pkg (see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>).</P>
119 <DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
121 Checks all fields to make sure this is a valid domain. If there is an error,
122 returns the error, otherwise returns false. Called by the insert and replace
124 <P>Sets any fixed values; see <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>.</P>
126 <DT><STRONG><A NAME="item_whois">whois</A></STRONG><BR>
128 Returns the Net::Whois::Domain object (see <A HREF="../Net/Whois.html">the Net::Whois manpage</A>) for this domain, or
129 undef if the domain is not found in whois.
130 <P>(If $FS::svc_domain::whois_hack is true, returns that in all cases instead.)</P>
132 <DT><STRONG><A NAME="item__whois">_whois</A></STRONG><BR>
136 <DT><STRONG><A NAME="item_submit_internic">submit_internic</A></STRONG><BR>
138 Submits a registration email for this domain.
142 <H1><A NAME="version">VERSION</A></H1>
143 <P>$Id: svc_domain.html,v 1.1 2001-07-30 07:36:03 ivan Exp $</P>
146 <H1><A NAME="bugs">BUGS</A></H1>
147 <P>All BIND/DNS fields should be included (and exported).</P>
148 <P>Delete doesn't send a registration template.</P>
149 <P>All registries should be supported.</P>
150 <P>Should change action to a real field.</P>
151 <P>The $recref stuff in sub check should be cleaned up.</P>
154 <H1><A NAME="see also">SEE ALSO</A></H1>
155 <P><A HREF=".././FS/svc_Common.html">the FS::svc_Common manpage</A>, <A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/Conf.html">the FS::Conf manpage</A>, <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A>,
156 <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>, <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>, <A HREF="../Net/Whois.html">the Net::Whois manpage</A>, <EM>ssh</EM>,
157 <EM>dot-qmail</EM>, schema.html from the base documentation, config.html from the
158 base documentation.</P>