3ef995c2108fe77d22c0b556fb9717cb848bc48f
Bernd Wurst Aktualisiere Domain- und In...

Bernd Wurst authored 8 years ago

1) <?php
Hanno Böck Add newlines before comment...

Hanno Böck authored 1 year ago

2) 
Bernd Wurst Aktualisiere Domain- und In...

Bernd Wurst authored 8 years ago

3) /*
4) This file belongs to the Webinterface of schokokeks.org Hosting
5) 
Hanno Böck Change license from CC0 to...

Hanno Böck authored 3 years ago

6) Written by schokokeks.org Hosting, namely
Bernd Wurst Aktualisiere Domain- und In...

Bernd Wurst authored 8 years ago

7)   Bernd Wurst <bernd@schokokeks.org>
8)   Hanno Böck <hanno@schokokeks.org>
9) 
Hanno Böck Change license from CC0 to...

Hanno Böck authored 3 years ago

10) This code is published under a 0BSD license.
Bernd Wurst Aktualisiere Domain- und In...

Bernd Wurst authored 8 years ago

11) 
12) Nevertheless, in case you use a significant part of this code, we ask (but not require, see the license) that you keep the authors' names in place and return your changes to the public. We would be especially happy if you tell us what you're going to do with this code.
13) */
14) 
15) require_once('inc/debug.php');
16) require_once('inc/api.php');
17) use_module('contacts');
18) require_once('contacts.php');
19) require_once('contactapi.php');
20) 
Bernd Wurst Domain-Transfer und -Regist...

Bernd Wurst authored 8 years ago

21) 
22) 
Hanno Fix coding style with php-c...

Hanno authored 8 years ago

23) function api_download_domain($id)
24) {
Hanno Böck Codingstyle PSR12 + array s...

Hanno Böck authored 4 years ago

25)     $result = db_query("SELECT id, CONCAT_WS('.', domainname, tld) AS fqdn, owner, admin_c, registrierungsdatum, kuendigungsdatum FROM kundendaten.domains WHERE id=?", [$id]);
Bernd Wurst Aktualisiere Domain- und In...

Bernd Wurst authored 8 years ago

26)     if ($result->rowCount() < 1) {
27)         system_failure('Domain nicht gefunden');
28)     }
29)     $dom = $result->fetch();
Hanno remove whitespace in empty...

Hanno authored 8 years ago

30) 
Hanno Böck Codingstyle PSR12 + array s...

Hanno Böck authored 4 years ago

31)     $data = ["domainName" => $dom['fqdn']];
Bernd Wurst Aktualisiere Domain- und In...

Bernd Wurst authored 8 years ago

32)     $result = api_request('domainInfo', $data);
33)     if ($result['status'] != 'success') {
34)         system_failure("Abfrage nicht erfolgreich!");
35)     }
36)     $apidomain = $result['response'];
Hanno Fix coding style with php-c...

Hanno authored 8 years ago

37)     $apiowner = null;
38)     $apiadmin_c = null;
Bernd Wurst Aktualisiere Domain- und In...

Bernd Wurst authored 8 years ago

39)     foreach ($apidomain['contacts'] as $ac) {
40)         if ($ac['type'] == 'owner') {
41)             $apiowner = $ac['contact'];
42)         }
43)         if ($ac['type'] == 'admin') {
44)             $apiadmin_c = $ac['contact'];
45)         }
46)     }
47) 
Hanno Böck Fix not operator (!) spaces

Hanno Böck authored 2 years ago

48)     if (!$apiowner || !$apiadmin_c) {
Bernd Wurst Aktualisiere Domain- und In...

Bernd Wurst authored 8 years ago

49)         system_failure("Ungültige Daten erhalten!");
50)     }
51)     $owner = download_contact($apiowner);
52)     $admin_c = $owner;
53)     if ($apiadmin_c != $apiowner) {
54)         $admin_c = download_contact($apiadmin_c);
55)     }
56)     if ($owner != $dom['owner'] || $admin_c != $dom['admin_c']) {
Hanno Böck Codingstyle PSR12 + array s...

Hanno Böck authored 4 years ago

57)         db_query("UPDATE kundendaten.domains SET owner=?, admin_c=? WHERE id=?", [$owner, $admin_c, $id]);
Bernd Wurst Aktualisiere Domain- und In...

Bernd Wurst authored 8 years ago

58)     }
Bernd Wurst Domain-Transfer und -Regist...

Bernd Wurst authored 8 years ago

59)     return $apidomain;
Bernd Wurst Aktualisiere Domain- und In...

Bernd Wurst authored 8 years ago

60) }
61) 
62) 
Bernd Wurst Domain-Update (Ownerchange)...

Bernd Wurst authored 8 years ago

63) function api_upload_domain($fqdn)
64) {
Hanno Böck Codingstyle PSR12 + array s...

Hanno Böck authored 4 years ago

65)     $result = db_query("SELECT id,CONCAT_WS('.', domainname, tld) AS fqdn, owner, admin_c FROM kundendaten.domains WHERE CONCAT_WS('.', domainname, tld)=?", [$fqdn]);
Bernd Wurst Domain-Update (Ownerchange)...

Bernd Wurst authored 8 years ago

66)     if ($result->rowCount() < 1) {
67)         system_failure("Unbekannte Domain");
68)     }
69)     $dom = $result->fetch();
70)     $owner = get_contact($dom['owner']);
Hanno Böck Fix not operator (!) spaces

Hanno Böck authored 2 years ago

71)     if (!$owner['nic_id']) {
Bernd Wurst Domain-Update (Ownerchange)...

Bernd Wurst authored 8 years ago

72)         upload_contact($owner);
73)         $owner = get_contact($dom['owner']);
74)     }
75)     $admin_c = get_contact($dom['admin_c']);
Hanno Böck Fix not operator (!) spaces

Hanno Böck authored 2 years ago

76)     if (!$admin_c['nic_id']) {
Bernd Wurst Domain-Update (Ownerchange)...

Bernd Wurst authored 8 years ago

77)         upload_contact($admin_c);
78)         $admin_c = get_contact($dom['admin_c']);
79)     }
80)     $owner = $owner['nic_id'];
81)     $admin_c = $admin_c['nic_id'];
82) 
Hanno Böck Codingstyle PSR12 + array s...

Hanno Böck authored 4 years ago

83)     $data = ["domainName" => $dom['fqdn']];
Bernd Wurst Domain-Update (Ownerchange)...

Bernd Wurst authored 8 years ago

84)     $result = api_request('domainInfo', $data);
85)     if ($result['status'] != 'success') {
86)         system_failure("Abfrage nicht erfolgreich!");
87)     }
88)     $apidomain = $result['response'];
89)     foreach ($apidomain['contacts'] as $key => $ac) {
90)         if ($ac['type'] == 'owner') {
91)             $apidomain['contacts'][$key]['contact'] = $owner;
92)         }
93)         if ($ac['type'] == 'admin') {
94)             $apidomain['contacts'][$key]['contact'] = $admin_c;
95)         }
96)     }
Hanno Böck Codingstyle PSR12 + array s...

Hanno Böck authored 4 years ago

97)     $args = ["domain" => $apidomain];
Bernd Wurst Logging eingebaut

Bernd Wurst authored 8 years ago

98)     logger(LOG_INFO, "modules/domains/include/domainapi", "domains", "uploading domain »{$fqdn}«");
Bernd Wurst Zuverlässigeres Logging bei...

Bernd Wurst authored 8 years ago

99)     $result = api_request('domainUpdate', $args);
100)     if ($result['status'] == 'error') {
101)         $msg = $result['errors'][0]['text'];
102)         logger(LOG_ERR, "modules/domains/include/domainapi", "domains", "ERROR uploading domain »{$fqdn}«: {$msg}");
103)         system_failure("Es trat ein interner Fehler auf. Bitte dem Support Bescheid geben!");
104)     }
105)     return $result;
Bernd Wurst Domain-Transfer und -Regist...

Bernd Wurst authored 8 years ago

106) }
Bernd Wurst Domain-Update (Ownerchange)...

Bernd Wurst authored 8 years ago

107) 
108) 
Hanno Böck codingstyle, spaces between...

Hanno Böck authored 2 years ago

109) function api_register_domain($domainname, $authinfo = null)
Bernd Wurst Domain-Transfer und -Regist...

Bernd Wurst authored 8 years ago

110) {
Hanno Böck Codingstyle PSR12 + array s...

Hanno Böck authored 4 years ago

111)     $result = db_query("SELECT id,status,CONCAT_WS('.', domainname, tld) AS fqdn, owner, admin_c FROM kundendaten.domains WHERE CONCAT_WS('.', domainname, tld)=?", [$domainname]);
Bernd Wurst Domain-Transfer und -Regist...

Bernd Wurst authored 8 years ago

112)     if ($result->rowCount() < 1) {
113)         system_failure("Unbekannte Domain");
114)     }
115)     $dom = $result->fetch();
116)     $owner = get_contact($dom['owner']);
Hanno Böck Fix not operator (!) spaces

Hanno Böck authored 2 years ago

117)     if (!$owner['nic_id']) {
Bernd Wurst Domain-Transfer und -Regist...

Bernd Wurst authored 8 years ago

118)         upload_contact($owner);
119)         $owner = get_contact($dom['owner']);
120)     }
121)     $admin_c = get_contact($dom['admin_c']);
Hanno Böck Fix not operator (!) spaces

Hanno Böck authored 2 years ago

122)     if (!$admin_c['nic_id']) {
Bernd Wurst Domain-Transfer und -Regist...

Bernd Wurst authored 8 years ago

123)         upload_contact($admin_c);
124)         $admin_c = get_contact($dom['admin_c']);
125)     }
126)     $owner = $owner['nic_id'];
127)     $admin_c = $admin_c['nic_id'];
128) 
129)     // Frage die Masterdomain ab, von dort übernehmen wir Nameserver und zone/tech handles
Hanno Böck Codingstyle PSR12 + array s...

Hanno Böck authored 4 years ago

130)     $data = ["domainName" => config('masterdomain')];
Bernd Wurst Domain-Transfer und -Regist...

Bernd Wurst authored 8 years ago

131)     $result = api_request('domainInfo', $data);
132)     if ($result['status'] != 'success') {
133)         system_failure("Abfrage nicht erfolgreich!");
134)     }
135)     $masterdomain = $result['response'];
Hanno Böck Codingstyle PSR12 + array s...

Hanno Böck authored 4 years ago

136)     $newdomain = [];
Bernd Wurst Domain-Transfer und -Regist...

Bernd Wurst authored 8 years ago

137)     $newdomain['name'] = $domainname;
138)     $newdomain['transferLockEnabled'] = true;
139)     $newdomain['nameservers'] = $masterdomain['nameservers'];
140)     $newdomain['contacts'] = $masterdomain['contacts'];
141) 
142)     foreach ($masterdomain['contacts'] as $key => $ac) {
143)         if ($ac['type'] == 'owner') {
144)             $newdomain['contacts'][$key]['contact'] = $owner;
145)         }
146)         if ($ac['type'] == 'admin') {
147)             $newdomain['contacts'][$key]['contact'] = $admin_c;
148)         }
149)     }
Hanno Fix coding style with php-c...

Hanno authored 8 years ago

150)     $result = null;
Bernd Wurst Domain-Transfer und -Regist...

Bernd Wurst authored 8 years ago

151)     if ($dom['status'] == 'prereg') {
Hanno Böck Codingstyle PSR12 + array s...

Hanno Böck authored 4 years ago

152)         $args = ["domain" => $newdomain];
Bernd Wurst Logging eingebaut

Bernd Wurst authored 8 years ago

153)         logger(LOG_WARNING, "modules/domains/include/domainapi", "domains", "register new domain »{$newdomain['name']}«");
Bernd Wurst Domain-Transfer und -Regist...

Bernd Wurst authored 8 years ago

154)         $result = api_request('domainCreate', $args);
155)     } else {
Hanno Böck Codingstyle PSR12 + array s...

Hanno Böck authored 4 years ago

156)         $args = ["domain" => $newdomain, "transferData" => ["authInfo" => $authinfo]];
Bernd Wurst Logging eingebaut

Bernd Wurst authored 8 years ago

157)         logger(LOG_WARNING, "modules/domains/include/domainapi", "domains", "transfer-in domain »{$newdomain['name']}« with authinfo »{$authinfo}«");
Bernd Wurst Domain-Transfer und -Regist...

Bernd Wurst authored 8 years ago

158)         $result = api_request('domainTransfer', $args);
159)     }
Bernd Wurst Gebe eine generische Fehler...

Bernd Wurst authored 8 years ago

160)     if ($result['status'] == 'error') {
Bernd Wurst Logging eingebaut

Bernd Wurst authored 8 years ago

161)         $errstr = $result['errors'][0]['text'];
Bernd Wurst Zuverlässigeres Logging bei...

Bernd Wurst authored 8 years ago

162)         logger(LOG_ERR, "modules/domains/include/domainapi", "domains", "error registering domain $domainname: {$errstr}");
Bernd Wurst Gebe eine generische Fehler...

Bernd Wurst authored 8 years ago

163)         system_failure("Es trat ein interner Fehler auf. Bitte dem Support Bescheid geben!");
164)     }
Hanno Fix coding style with php-c...

Hanno authored 8 years ago

165)     return $result;
Bernd Wurst Domain-Transfer und -Regist...

Bernd Wurst authored 8 years ago

166) }
167) 
Hanno Fix coding style with php-c...

Hanno authored 8 years ago

168) function api_domain_available($domainname)
Bernd Wurst Ermögliche das Hinzufügen e...

Bernd Wurst authored 8 years ago

169) {
Hanno Böck Codingstyle PSR12 + array s...

Hanno Böck authored 4 years ago

170)     $args = ["domainNames" => [$domainname]];
Bernd Wurst Ermögliche das Hinzufügen e...

Bernd Wurst authored 8 years ago

171)     $result = api_request('domainStatus', $args);
172)     $resp = $result["responses"][0];
Bernd Wurst Domain-Transfer und -Regist...

Bernd Wurst authored 8 years ago

173)     return $resp;
Bernd Wurst Ermögliche das Hinzufügen e...

Bernd Wurst authored 8 years ago

174) }
175) 
176) 
Bernd Wurst Transfer-Freigabe und Kündi...

Bernd Wurst authored 8 years ago

177) function api_cancel_domain($domainname)
178) {
Hanno Böck Codingstyle PSR12 + array s...

Hanno Böck authored 4 years ago

179)     $data = ["domainName" => $domainname];
Bernd Wurst Transfer-Freigabe und Kündi...

Bernd Wurst authored 8 years ago

180)     $result = api_request('domainInfo', $data);
181)     if ($result['status'] != 'success') {
182)         system_failure("Abfrage nicht erfolgreich!");
183)     }
184)     $apidomain = $result['response'];
Hanno Böck Fix not operator (!) spaces

Hanno Böck authored 2 years ago

185)     if (!$apidomain['latestDeletionDateWithoutRenew']) {
Bernd Wurst Transfer-Freigabe und Kündi...

Bernd Wurst authored 8 years ago

186)         system_failure("Konnte Vertragsende nicht herausfinden.");
187)     }
Hanno Böck Codingstyle PSR12 + array s...

Hanno Böck authored 4 years ago

188)     $args = ["domainName" => $domainname, "execDate" => $apidomain['latestDeletionDateWithoutRenew']];
Bernd Wurst fixed logfile string

Bernd Wurst authored 8 years ago

189)     logger(LOG_WARNING, "modules/domains/include/domainapi", "domains", "cancel domain »{$domainname}« at time {$apidomain['latestDeletionDateWithoutRenew']}");
Bernd Wurst Transfer-Freigabe und Kündi...

Bernd Wurst authored 8 years ago

190)     $result = api_request('domainDelete', $args);
191)     if ($result['status'] == 'error') {
Bernd Wurst Zuverlässigeres Logging bei...

Bernd Wurst authored 8 years ago

192)         $errstr = $result['errors'][0]['text'];
193)         logger(LOG_ERR, "modules/domains/include/domainapi", "domains", "error canceling domain $domainname: {$errstr}");
194)         system_failure("Es trat ein interner Fehler auf. Bitte dem Support Bescheid geben!");
Bernd Wurst Transfer-Freigabe und Kündi...

Bernd Wurst authored 8 years ago

195)     }
Bernd Wurst Zuverlässigeres Logging bei...

Bernd Wurst authored 8 years ago

196)     return $result;
Hanno Fix coding style with php-c...

Hanno authored 8 years ago

197) }
Bernd Wurst Transfer-Freigabe und Kündi...

Bernd Wurst authored 8 years ago

198) 
199) 
Hanno Fix coding style with php-c...

Hanno authored 8 years ago

200) function api_unlock_domain($domainname)
Bernd Wurst Transfer-Freigabe und Kündi...

Bernd Wurst authored 8 years ago

201) {
Hanno Böck Codingstyle PSR12 + array s...

Hanno Böck authored 4 years ago

202)     $data = ["domainName" => $domainname];
Bernd Wurst Transfer-Freigabe und Kündi...

Bernd Wurst authored 8 years ago

203)     $result = api_request('domainInfo', $data);
204)     if ($result['status'] != 'success') {
205)         system_failure("Abfrage nicht erfolgreich!");
206)     }
207)     $apidomain = $result['response'];
208)     $apidomain['transferLockEnabled'] = false;
Hanno Böck Codingstyle PSR12 + array s...

Hanno Böck authored 4 years ago

209)     $args = ["domain" => $apidomain];
Bernd Wurst Logging eingebaut

Bernd Wurst authored 8 years ago

210)     logger(LOG_WARNING, "modules/domains/include/domainapi", "domains", "allow transfer for domain »{$domainname}«");
Bernd Wurst Zuverlässigeres Logging bei...

Bernd Wurst authored 8 years ago

211)     $result = api_request('domainUpdate', $args);
212)     if ($result['status'] == 'error') {
213)         $errstr = $result['errors'][0]['text'];
214)         logger(LOG_ERR, "modules/domains/include/domainapi", "domains", "error unlocking domain $domainname: {$errstr}");
215)         system_failure("Es trat ein interner Fehler auf. Bitte dem Support Bescheid geben!");
216)     }
217)     return $result;