1 |
diff -Nur smeserver-ddclient-1.2.1.bz8961.old/createlinks smeserver-ddclient-1.2.1.bz8961/createlinks |
2 |
--- smeserver-ddclient-1.2.1.bz8961.old/createlinks 2015-07-07 00:04:46.528387351 +0200 |
3 |
+++ smeserver-ddclient-1.2.1.bz8961/createlinks 2015-07-10 14:39:00.481270709 +0200 |
4 |
@@ -8,15 +8,15 @@ |
5 |
|
6 |
my $event = 'ddclient'; |
7 |
safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/ddclient"); |
8 |
- templates2events("/etc/ddclient.conf", $event); |
9 |
+ templates2events("/etc/ddclient/ddclient.conf", $event); |
10 |
|
11 |
$event = 'domain-delete'; |
12 |
safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/ddclient"); |
13 |
- templates2events("/etc/ddclient.conf", $event); |
14 |
+ templates2events("/etc/ddclient/ddclient.conf", $event); |
15 |
|
16 |
$event = 'domain-modify'; |
17 |
safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/ddclient"); |
18 |
- templates2events("/etc/ddclient.conf", $event); |
19 |
+ templates2events("/etc/ddclient/ddclient.conf", $event); |
20 |
|
21 |
$event = 'post-upgrade'; |
22 |
templates2events("/etc/ddclient.conf", $event); |
23 |
diff -Nur smeserver-ddclient-1.2.1.bz8961.old/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/ddclient smeserver-ddclient-1.2.1.bz8961/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/ddclient |
24 |
--- smeserver-ddclient-1.2.1.bz8961.old/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/ddclient 2015-07-07 00:04:46.527387281 +0200 |
25 |
+++ smeserver-ddclient-1.2.1.bz8961/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/ddclient 2015-07-10 15:41:22.479300535 +0200 |
26 |
@@ -241,7 +241,68 @@ |
27 |
<trans> SPDNS (spdns.de) dynamic adresses</trans> |
28 |
</entry> |
29 |
<entry> |
30 |
+ <base>CUSTOMDNS</base> |
31 |
+ <trans>Custom Dynamic DNS Provider</trans> |
32 |
+ </entry> |
33 |
+ <entry> |
34 |
+ <base>CUSTOMDNS_LABEL</base> |
35 |
+ <trans>Custom server Address</trans> |
36 |
+ </entry> |
37 |
+ <entry> |
38 |
+ <base>CUSTOM_PROTOCOL_LABEL</base> |
39 |
+ <trans>Custom ddclient Protocol</trans> |
40 |
+ </entry> |
41 |
+ <entry> |
42 |
+ <base>CUSTOM_DESCRIPTION</base> |
43 |
+ <trans>You can use a custom dynamic dns provider if yours is not in the published list. Please fill the custom fields with the appropriate settings</trans> |
44 |
+ </entry> |
45 |
+ <entry> |
46 |
+ <base>CUSTOMDNS_VALIDATION_ERROR</base> |
47 |
+ <trans> |
48 |
+ Error: unexpected or missing characters in custom server address field of domain |
49 |
+ {$domainName}. The server address should contain one or more |
50 |
+ letters, numbers, periods and minus signs. Did not apply the change. |
51 |
+ </trans> |
52 |
+ </entry> |
53 |
+ <entry> |
54 |
<base>ddclient</base> |
55 |
<trans>Dynamic Clients</trans> |
56 |
</entry> |
57 |
+ <entry> |
58 |
+ <base>DOMAIN_NAME_ALREADY_EXIST</base> |
59 |
+ <trans>Error: this domain:"{$domainName}" already exists. Please chose another. |
60 |
+ </trans> |
61 |
+ </entry> |
62 |
+ <entry> |
63 |
+ <base>FREE_FORM_DESCRIPTION</base> |
64 |
+ <trans>Here you can create any domain name to publish over the net.</trans> |
65 |
+ </entry> |
66 |
+ <entry> |
67 |
+ <base>RETRIEVE_SSL</base> |
68 |
+ <trans>SSL update</trans> |
69 |
+ </entry> |
70 |
+ <entry> |
71 |
+ <base>RETRIEVE_DEAMONUPDATE</base> |
72 |
+ <trans>Deamon update (seconds)</trans> |
73 |
+ </entry> |
74 |
+ <entry> |
75 |
+ <base>RETRIEVE_URLCHECKIP</base> |
76 |
+ <trans>Url for the external IP</trans> |
77 |
+ </entry> |
78 |
+ <entry> |
79 |
+ <base>APPLY</base> |
80 |
+ <trans>Save</trans> |
81 |
+ </entry> |
82 |
+ <entry> |
83 |
+ <base>DOMAIN_NAME_LABEL</base> |
84 |
+ <trans>Domain Name</trans> |
85 |
+ </entry> |
86 |
+ <entry> |
87 |
+ <base>DESCRIPTION_LABEL</base> |
88 |
+ <trans>Domain description</trans> |
89 |
+ </entry> |
90 |
+ <entry> |
91 |
+ <base>SUCCESSFULLY_MODIFIED_RETRIEVE_IP</base> |
92 |
+ <trans>You have successfully modified the retrieve IP options.</trans> |
93 |
+ </entry> |
94 |
</lexicon> |
95 |
diff -Nur smeserver-ddclient-1.2.1.bz8961.old/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/10Headers smeserver-ddclient-1.2.1.bz8961/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/10Headers |
96 |
--- smeserver-ddclient-1.2.1.bz8961.old/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/10Headers 1970-01-01 01:00:00.000000000 +0100 |
97 |
+++ smeserver-ddclient-1.2.1.bz8961/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/10Headers 2015-07-10 14:59:35.674527582 +0200 |
98 |
@@ -0,0 +1,13 @@ |
99 |
+ { |
100 |
+ my $deamonupdate = ${ddclient}{DeamonUpdate} || '300'; |
101 |
+ my $ssl = ${ddclient}{SSL} || 'yes'; |
102 |
+ $OUT .= qq( |
103 |
+daemon=$deamonupdate # check every $deamonupdate seconds |
104 |
+syslog=yes # log update msgs to syslog |
105 |
+mail=admin # mail update msgs to admin |
106 |
+mail-failure=admin |
107 |
+pid=/var/run/ddclient.pid # record PID in file. |
108 |
+ssl=$ssl |
109 |
+#); |
110 |
+ } |
111 |
+ |
112 |
diff -Nur smeserver-ddclient-1.2.1.bz8961.old/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/20Declaration smeserver-ddclient-1.2.1.bz8961/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/20Declaration |
113 |
--- smeserver-ddclient-1.2.1.bz8961.old/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/20Declaration 1970-01-01 01:00:00.000000000 +0100 |
114 |
+++ smeserver-ddclient-1.2.1.bz8961/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/20Declaration 2015-07-07 00:07:17.215743624 +0200 |
115 |
@@ -0,0 +1,186 @@ |
116 |
+{ |
117 |
+ use esmith::DomainsDB; |
118 |
+ |
119 |
+ $OUT=''; |
120 |
+ |
121 |
+ my $ddb = esmith::DomainsDB->open_ro(); |
122 |
+ |
123 |
+ $OUT .="use=web, web=$ddclient{'urlcheckip'}\/, web-skip='IP Address:' \n"; |
124 |
+ |
125 |
+ for my $edom ( $ddb->domains ) |
126 |
+ { |
127 |
+ { |
128 |
+ |
129 |
+ my $dns = $edom->prop('dns') || ''; |
130 |
+ next if ($dns eq ''); |
131 |
+ $dns =~ tr/a-z/A-Z/; |
132 |
+ my $login = $edom->prop('login'); |
133 |
+ my $password = $edom->prop('password'); |
134 |
+ my $customdns = $edom->prop('customdns') || ''; |
135 |
+ my $customprotocol = $edom->prop('customprotocol') || ''; |
136 |
+ my $pubserv=''; |
137 |
+ my $static=''; |
138 |
+ my $custom=''; |
139 |
+ my $wildcard=''; |
140 |
+ my $mx=$edom->prop('mx') || ''; |
141 |
+ my $backupmx=''; |
142 |
+ my $protocol=''; |
143 |
+ my $explain=''; |
144 |
+ |
145 |
+ if( $dns eq 'DYNDNS1') |
146 |
+ { |
147 |
+ $explain='## dyndns.org dynamic addresses'; |
148 |
+ $pubserv ='members.dyndns.org'; |
149 |
+ $protocol='dyndns2'; |
150 |
+ $static='no'; |
151 |
+ $custom='no'; |
152 |
+ $wildcard='yes'; |
153 |
+ } |
154 |
+ elsif( $dns eq 'DYNDNS2') |
155 |
+ { |
156 |
+ $explain='## dyndns.org static addresses'; |
157 |
+ $pubserv ='members.dyndns.org'; |
158 |
+ $protocol='dyndns2'; |
159 |
+ $static ='yes'; |
160 |
+ $custom ='no'; |
161 |
+ $wildcard='yes'; |
162 |
+ } |
163 |
+ elsif( $dns eq 'DYNDNS3') |
164 |
+ { |
165 |
+ $explain='## dyndns.org static2 addresses'; |
166 |
+ $pubserv='members.dyndns.org'; |
167 |
+ $custom ='yes'; |
168 |
+ $protocol='dyndns2'; |
169 |
+ $static =''; |
170 |
+ $wildcard='yes'; |
171 |
+ } |
172 |
+ elsif( $dns eq 'ZONEDIT') |
173 |
+ { |
174 |
+ $explain='## zoneedit dynamic addresses'; |
175 |
+ $pubserv='www.zoneedit.com'; |
176 |
+ $protocol='zoneedit1'; |
177 |
+ } |
178 |
+ elsif( $dns eq 'EASYDNS') |
179 |
+ { |
180 |
+ $explain='## easydns.com dynamic addresses'; |
181 |
+ $pubserv='members.easydns.com'; |
182 |
+ $protocol='easydns'; |
183 |
+ } |
184 |
+ elsif( $dns eq 'HAMMER') |
185 |
+ { |
186 |
+ $explain='## hammer dup.hn.org dynamic addresses'; |
187 |
+ $pubserv='dup.hn.org'; |
188 |
+ $protocol='hammernode1'; |
189 |
+ } |
190 |
+ elsif( $dns eq 'DSLREPORTS' ) |
191 |
+ { |
192 |
+ $explain='## dslreports.org dynamic addresses'; |
193 |
+ $pubserv='members.dslreports.com'; |
194 |
+ $protocol='dslreports1'; |
195 |
+ } |
196 |
+ elsif( $dns eq 'EURODYNDNS' ) |
197 |
+ { |
198 |
+ $explain='## euroddyndns.org dynamic addresses'; |
199 |
+ $pubserv='eurodyndns.org'; |
200 |
+ $protocol='namecheap'; |
201 |
+ } |
202 |
+ elsif( $dns eq 'DTDNS' ) |
203 |
+ { |
204 |
+ $explain='## DtDNS (www.dtdns.com) dynamic addresses'; |
205 |
+ $pubserv='www.dtdns.com'; |
206 |
+ $protocol='dtdns'; |
207 |
+ } |
208 |
+ elsif( $dns eq 'LOOPIA' ) |
209 |
+ { |
210 |
+ $explain='## Loopia (loopia.se) dynamic addresses'; |
211 |
+ $pubserv='dns.loopia.se'; |
212 |
+ $protocol='dyndns2'; |
213 |
+ } |
214 |
+ elsif( $dns eq 'DNSPARK' ) |
215 |
+ { |
216 |
+ $explain='## dnspark.com dynamic addresses'; |
217 |
+ $pubserv='www.dnspark.com'; |
218 |
+ $protocol='dnspark'; |
219 |
+ } |
220 |
+ elsif( $dns eq 'DYNHOST' ) |
221 |
+ { |
222 |
+ $explain='## DynHost (ovh.com) dynamic addresses'; |
223 |
+ $pubserv='www.ovh.com'; |
224 |
+ $protocol='dyndns2'; |
225 |
+ } |
226 |
+ elsif( $dns eq 'NOIP' ) |
227 |
+ { |
228 |
+ $explain='## Noip (noip.com) dynamic addresses'; |
229 |
+ $pubserv='dynupdate.no-ip.com'; |
230 |
+ $protocol='noip'; |
231 |
+ } |
232 |
+ elsif( $dns eq 'CHANGEIP' ) |
233 |
+ { |
234 |
+ $explain='## ChangeIP (changeip.com) dynamic addresses'; |
235 |
+ $pubserv='nic.changeip.com'; |
236 |
+ $protocol='dyndns2'; |
237 |
+ } |
238 |
+ |
239 |
+ elsif( $dns eq 'NAMECHEAP' ) |
240 |
+ { |
241 |
+ $explain='## NAMECHEAP (namecheap.com) dynamic addresses'; |
242 |
+ $pubserv='dynamicdns.park-your-domain.com'; |
243 |
+ $protocol='namecheap'; |
244 |
+ } |
245 |
+ |
246 |
+ elsif( $dns eq 'SPDNS' ) |
247 |
+ { |
248 |
+ $explain='## SPDNS (spdns.de) dynamic addresses'; |
249 |
+ $pubserv='update.spdns.de'; |
250 |
+ $protocol='dyndns2'; |
251 |
+ } |
252 |
+ elsif( $dns eq 'CUSTOMDNS' ) |
253 |
+ { |
254 |
+ $explain='## CUSTOMDNS PROVIDER dynamic addresses'; |
255 |
+ $pubserv= $customdns; |
256 |
+ $protocol= $customprotocol; |
257 |
+ } |
258 |
+ |
259 |
+ if($pubserv ne '') |
260 |
+ { |
261 |
+ $OUT .="##\n"; |
262 |
+ $OUT .=$explain."\n"; |
263 |
+ $OUT .="##\n"; |
264 |
+ $OUT .="server=".$pubserv.", \\\n"; |
265 |
+ $OUT .="protocol=".$protocol.", \\\n"; |
266 |
+ if( $dns eq 'DTDNS' ) { |
267 |
+ $OUT .="client=ddclient, \\\n"; |
268 |
+ } |
269 |
+ if( $dns eq 'LOOPIA' ) { |
270 |
+ $OUT .="use=web, \\\n"; |
271 |
+ $OUT .="web=loopia, \\\n"; |
272 |
+ $OUT .="script=/XDynDNSServer/XDynDNS.php, \\\n"; |
273 |
+ } |
274 |
+ if($static ne '') { |
275 |
+ $OUT .="static=".$static.", \\\n"; |
276 |
+ } |
277 |
+ |
278 |
+ if($wildcard ne '') { |
279 |
+ $OUT .="wildcard=".$wildcard.", \\\n"; |
280 |
+ } |
281 |
+ |
282 |
+ if($custom ne '') { |
283 |
+ $OUT .="custom=".$custom.", \\\n"; |
284 |
+ } |
285 |
+ |
286 |
+ if ($mx ne '') { |
287 |
+ $OUT .="mx=".$mx.", \\\n"; |
288 |
+ } |
289 |
+ |
290 |
+ $OUT .="login=".$login.", \\\n"; |
291 |
+ $OUT .="password=".$password." \\\n"; |
292 |
+ $OUT .="\@\n" if ( $dns eq 'NAMECHEAP' ); |
293 |
+ |
294 |
+ $OUT .=$edom->key()."\n" if ( $dns ne 'NAMECHEAP' ); |
295 |
+ $OUT .="##\n"; |
296 |
+ $OUT .="##\n"; |
297 |
+ } |
298 |
+ } |
299 |
+ } |
300 |
+} |
301 |
+ |
302 |
diff -Nur smeserver-ddclient-1.2.1.bz8961.old/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/30FreeHosts smeserver-ddclient-1.2.1.bz8961/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/30FreeHosts |
303 |
--- smeserver-ddclient-1.2.1.bz8961.old/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/30FreeHosts 1970-01-01 01:00:00.000000000 +0100 |
304 |
+++ smeserver-ddclient-1.2.1.bz8961/root/etc/e-smith/templates/etc/ddclient/ddclient.conf/30FreeHosts 2015-07-10 15:01:50.685735873 +0200 |
305 |
@@ -0,0 +1,210 @@ |
306 |
+{ |
307 |
+ use strict; |
308 |
+ use esmith::util; |
309 |
+ use esmith::ConfigDB; |
310 |
+ use esmith::AccountsDB; |
311 |
+ |
312 |
+ $OUT=''; |
313 |
+ |
314 |
+ my $conf = esmith::ConfigDB->open() |
315 |
+ or die "Unable to open configuration db"; |
316 |
+ |
317 |
+ my $edb; |
318 |
+ |
319 |
+ $edb = esmith::ConfigDB->open('/home/e-smith/db/ddclient') |
320 |
+ or $edb = esmith::ConfigDB->create('/home/e-smith/db/ddclient'); |
321 |
+ |
322 |
+ #------------------------------------------------------------ |
323 |
+ # Look up domains and domain descriptions |
324 |
+ #------------------------------------------------------------ |
325 |
+ |
326 |
+ my $key; |
327 |
+ my @virtualDomains = (); |
328 |
+ foreach my $domain ($edb->get_all_by_prop(type=>'ddhost')) |
329 |
+ { |
330 |
+ $key = $domain->key; |
331 |
+ push (@virtualDomains, $key); |
332 |
+ } |
333 |
+ |
334 |
+ my $numDomains = @virtualDomains; |
335 |
+ if ($numDomains > 0) { |
336 |
+ foreach my $dom (sort @virtualDomains) |
337 |
+ { |
338 |
+ my $edom=$edb->get($dom); |
339 |
+ |
340 |
+ if( defined $edom ) |
341 |
+ { |
342 |
+ my $dns = $edom->prop('dns'); |
343 |
+ $dns =~ tr/a-z/A-Z/; |
344 |
+ my $login = $edom->prop('login'); |
345 |
+ my $password = $edom->prop('password'); |
346 |
+ my $customdns = $edom->prop('customdns') || ''; |
347 |
+ my $customprotocol = $edom->prop('customprotocol') || ''; |
348 |
+ my $pubserv=''; |
349 |
+ my $static=''; |
350 |
+ my $custom=''; |
351 |
+ my $wildcard=''; |
352 |
+ my $mx=$edom->prop('mx') || ''; |
353 |
+ my $backupmx=''; |
354 |
+ my $protocol=''; |
355 |
+ my $explain=''; |
356 |
+ |
357 |
+ if( $dns eq 'DYNDNS1') |
358 |
+ { |
359 |
+ $explain='## dyndns.org dynamic addresses'; |
360 |
+ $pubserv ='members.dyndns.org'; |
361 |
+ $protocol='dyndns2'; |
362 |
+ $static='no'; |
363 |
+ $custom='no'; |
364 |
+ $wildcard='yes'; |
365 |
+ } |
366 |
+ elsif( $dns eq 'DYNDNS2') |
367 |
+ { |
368 |
+ $explain='## dyndns.org static addresses'; |
369 |
+ $pubserv ='members.dyndns.org'; |
370 |
+ $protocol='dyndns2'; |
371 |
+ $static ='yes'; |
372 |
+ $custom ='no'; |
373 |
+ $wildcard='yes'; |
374 |
+ } |
375 |
+ elsif( $dns eq 'DYNDNS3') |
376 |
+ { |
377 |
+ $explain='## dyndns.org static2 addresses'; |
378 |
+ $pubserv='members.dyndns.org'; |
379 |
+ $custom ='yes'; |
380 |
+ $protocol='dyndns2'; |
381 |
+ $static =''; |
382 |
+ $wildcard='yes'; |
383 |
+ } |
384 |
+ elsif( $dns eq 'ZONEDIT') |
385 |
+ { |
386 |
+ $explain='## zoneedit dynamic addresses'; |
387 |
+ $pubserv='www.zoneedit.com'; |
388 |
+ $protocol='zoneedit1'; |
389 |
+ } |
390 |
+ elsif( $dns eq 'EASYDNS') |
391 |
+ { |
392 |
+ $explain='## easydns.com dynamic addresses'; |
393 |
+ $pubserv='members.easydns.com'; |
394 |
+ $protocol='easydns'; |
395 |
+ } |
396 |
+ elsif( $dns eq 'HAMMER') |
397 |
+ { |
398 |
+ $explain='## hammer dup.hn.org dynamic addresses'; |
399 |
+ $pubserv='dup.hn.org'; |
400 |
+ $protocol='hammernode1'; |
401 |
+ } |
402 |
+ elsif( $dns eq 'DSLREPORTS' ) |
403 |
+ { |
404 |
+ $explain='## dslreports.org dynamic addresses'; |
405 |
+ $pubserv='members.dslreports.com'; |
406 |
+ $protocol='dslreports1'; |
407 |
+ } |
408 |
+ elsif( $dns eq 'EURODYNDNS' ) |
409 |
+ { |
410 |
+ $explain='## euroddyndns.org dynamic addresses'; |
411 |
+ $pubserv='eurodyndns.org'; |
412 |
+ $protocol='namecheap'; |
413 |
+ } |
414 |
+ elsif( $dns eq 'DTDNS' ) |
415 |
+ { |
416 |
+ $explain='## DtDNS (www.dtdns.com) dynamic addresses'; |
417 |
+ $pubserv='www.dtdns.com'; |
418 |
+ $protocol='dtdns'; |
419 |
+ } |
420 |
+ elsif( $dns eq 'LOOPIA' ) |
421 |
+ { |
422 |
+ $explain='## Loopia (loopia.se) dynamic addresses'; |
423 |
+ $pubserv='dns.loopia.se'; |
424 |
+ $protocol='dyndns2'; |
425 |
+ } |
426 |
+ elsif( $dns eq 'DNSPARK' ) |
427 |
+ { |
428 |
+ $explain='## dnspark.com dynamic addresses'; |
429 |
+ $pubserv='www.dnspark.com'; |
430 |
+ $protocol='dnspark'; |
431 |
+ } |
432 |
+ elsif( $dns eq 'DYNHOST' ) |
433 |
+ { |
434 |
+ $explain='## DynHost (ovh.com) dynamic addresses'; |
435 |
+ $pubserv='www.ovh.com'; |
436 |
+ $protocol='dyndns2'; |
437 |
+ } |
438 |
+ elsif( $dns eq 'NOIP' ) |
439 |
+ { |
440 |
+ $explain='## Noip (noip.com) dynamic addresses'; |
441 |
+ $pubserv='dynupdate.no-ip.com'; |
442 |
+ $protocol='noip'; |
443 |
+ } |
444 |
+ elsif( $dns eq 'CHANGEIP' ) |
445 |
+ { |
446 |
+ $explain='## ChangeIP (changeip.com) dynamic addresses'; |
447 |
+ $pubserv='nic.changeip.com'; |
448 |
+ $protocol='dyndns2'; |
449 |
+ } |
450 |
+ |
451 |
+ elsif( $dns eq 'NAMECHEAP' ) |
452 |
+ { |
453 |
+ $explain='## NAMECHEAP (namecheap.com) dynamic addresses'; |
454 |
+ $pubserv='dynamicdns.park-your-domain.com'; |
455 |
+ $protocol='namecheap'; |
456 |
+ } |
457 |
+ |
458 |
+ elsif( $dns eq 'SPDNS' ) |
459 |
+ { |
460 |
+ $explain='## SPDNS (spdns.de) dynamic addresses'; |
461 |
+ $pubserv='update.spdns.de'; |
462 |
+ $protocol='dyndns2'; |
463 |
+ } |
464 |
+ |
465 |
+ elsif( $dns eq 'CUSTOMDNS' ) |
466 |
+ { |
467 |
+ $explain='## CUSTOMDNS PROVIDER dynamic addresses'; |
468 |
+ $pubserv= $customdns; |
469 |
+ $protocol= $customprotocol; |
470 |
+ } |
471 |
+ |
472 |
+ if($pubserv ne '') |
473 |
+ { |
474 |
+ $OUT .="##\n"; |
475 |
+ $OUT .=$explain."\n"; |
476 |
+ $OUT .="##\n"; |
477 |
+ $OUT .="server=".$pubserv.", \\\n"; |
478 |
+ $OUT .="protocol=".$protocol.", \\\n"; |
479 |
+ if( $dns eq 'DTDNS' ) { |
480 |
+ $OUT .="client=ddclient, \\\n"; |
481 |
+ } |
482 |
+ if( $dns eq 'LOOPIA' ) { |
483 |
+ $OUT .="use=web, \\\n"; |
484 |
+ $OUT .="web=loopia, \\\n"; |
485 |
+ $OUT .="script=/XDynDNSServer/XDynDNS.php, \\\n"; |
486 |
+ } |
487 |
+ if($static ne '') { |
488 |
+ $OUT .="static=".$static.", \\\n"; |
489 |
+ } |
490 |
+ |
491 |
+ if($wildcard ne '') { |
492 |
+ $OUT .="wildcard=".$wildcard.", \\\n"; |
493 |
+ } |
494 |
+ |
495 |
+ if($custom ne '') { |
496 |
+ $OUT .="custom=".$custom.", \\\n"; |
497 |
+ } |
498 |
+ |
499 |
+ if ($mx ne '') { |
500 |
+ $OUT .="mx=".$mx.", \\\n"; |
501 |
+ } |
502 |
+ |
503 |
+ $OUT .="login=".$login.", \\\n"; |
504 |
+ $OUT .="password=".$password." \\\n"; |
505 |
+ $OUT .="\@\n" if ( $dns eq 'NAMECHEAP' ); |
506 |
+ |
507 |
+ $OUT .=$edom->key()."\n" if ( $dns ne 'NAMECHEAP' ); |
508 |
+ $OUT .="##\n"; |
509 |
+ $OUT .="##\n"; |
510 |
+ } |
511 |
+ } |
512 |
+ } |
513 |
+ } |
514 |
+} |
515 |
+ |
516 |
diff -Nur smeserver-ddclient-1.2.1.bz8961.old/root/etc/e-smith/templates/etc/ddclient.conf/10Headers smeserver-ddclient-1.2.1.bz8961/root/etc/e-smith/templates/etc/ddclient.conf/10Headers |
517 |
--- smeserver-ddclient-1.2.1.bz8961.old/root/etc/e-smith/templates/etc/ddclient.conf/10Headers 2015-07-07 00:04:46.528387351 +0200 |
518 |
+++ smeserver-ddclient-1.2.1.bz8961/root/etc/e-smith/templates/etc/ddclient.conf/10Headers 1970-01-01 01:00:00.000000000 +0100 |
519 |
@@ -1,13 +0,0 @@ |
520 |
- { |
521 |
- my $deamonupdate = ${ddclient}{DeamonUpdate} || '300'; |
522 |
- my $ssl = ${ddclient}{SSL} || 'yes'; |
523 |
- $OUT .= qq( |
524 |
-daemon=$deamonupdate # check every $deamonupdate seconds |
525 |
-syslog=yes # log update msgs to syslog |
526 |
-mail=admin # mail update msgs to admin |
527 |
-mail-failure=admin |
528 |
-pid=/var/run/ddclient/ddclient.pid # record PID in file. |
529 |
-ssl=$ssl |
530 |
-#); |
531 |
- } |
532 |
- |
533 |
diff -Nur smeserver-ddclient-1.2.1.bz8961.old/root/etc/e-smith/templates/etc/ddclient.conf/20Declaration smeserver-ddclient-1.2.1.bz8961/root/etc/e-smith/templates/etc/ddclient.conf/20Declaration |
534 |
--- smeserver-ddclient-1.2.1.bz8961.old/root/etc/e-smith/templates/etc/ddclient.conf/20Declaration 2015-07-07 00:04:46.528387351 +0200 |
535 |
+++ smeserver-ddclient-1.2.1.bz8961/root/etc/e-smith/templates/etc/ddclient.conf/20Declaration 1970-01-01 01:00:00.000000000 +0100 |
536 |
@@ -1,178 +0,0 @@ |
537 |
-{ |
538 |
- use esmith::DomainsDB; |
539 |
- |
540 |
- $OUT=''; |
541 |
- |
542 |
- my $ddb = esmith::DomainsDB->open_ro(); |
543 |
- |
544 |
- $OUT .="use=web, web=$ddclient{'urlcheckip'}\/, web-skip='IP Address:' \n"; |
545 |
- |
546 |
- for my $edom ( $ddb->domains ) |
547 |
- { |
548 |
- { |
549 |
- |
550 |
- my $dns = $edom->prop('dns') || ''; |
551 |
- next if ($dns eq ''); |
552 |
- $dns =~ tr/a-z/A-Z/; |
553 |
- my $login = $edom->prop('login'); |
554 |
- my $password = $edom->prop('password'); |
555 |
- my $pubserv=''; |
556 |
- my $static=''; |
557 |
- my $custom=''; |
558 |
- my $wildcard=''; |
559 |
- my $mx=$edom->prop('mx') || ''; |
560 |
- my $backupmx=''; |
561 |
- my $protocol=''; |
562 |
- my $explain=''; |
563 |
- |
564 |
- if( $dns eq 'DYNDNS1') |
565 |
- { |
566 |
- $explain='## dyndns.org dynamic addresses'; |
567 |
- $pubserv ='members.dyndns.org'; |
568 |
- $protocol='dyndns2'; |
569 |
- $static='no'; |
570 |
- $custom='no'; |
571 |
- $wildcard='yes'; |
572 |
- } |
573 |
- elsif( $dns eq 'DYNDNS2') |
574 |
- { |
575 |
- $explain='## dyndns.org static addresses'; |
576 |
- $pubserv ='members.dyndns.org'; |
577 |
- $protocol='dyndns2'; |
578 |
- $static ='yes'; |
579 |
- $custom ='no'; |
580 |
- $wildcard='yes'; |
581 |
- } |
582 |
- elsif( $dns eq 'DYNDNS3') |
583 |
- { |
584 |
- $explain='## dyndns.org static2 addresses'; |
585 |
- $pubserv='members.dyndns.org'; |
586 |
- $custom ='yes'; |
587 |
- $protocol='dyndns2'; |
588 |
- $static =''; |
589 |
- $wildcard='yes'; |
590 |
- } |
591 |
- elsif( $dns eq 'ZONEDIT') |
592 |
- { |
593 |
- $explain='## zoneedit dynamic addresses'; |
594 |
- $pubserv='www.zoneedit.com'; |
595 |
- $protocol='zoneedit1'; |
596 |
- } |
597 |
- elsif( $dns eq 'EASYDNS') |
598 |
- { |
599 |
- $explain='## easydns.com dynamic addresses'; |
600 |
- $pubserv='members.easydns.com'; |
601 |
- $protocol='easydns'; |
602 |
- } |
603 |
- elsif( $dns eq 'HAMMER') |
604 |
- { |
605 |
- $explain='## hammer dup.hn.org dynamic addresses'; |
606 |
- $pubserv='dup.hn.org'; |
607 |
- $protocol='hammernode1'; |
608 |
- } |
609 |
- elsif( $dns eq 'DSLREPORTS' ) |
610 |
- { |
611 |
- $explain='## dslreports.org dynamic addresses'; |
612 |
- $pubserv='members.dslreports.com'; |
613 |
- $protocol='dslreports1'; |
614 |
- } |
615 |
- elsif( $dns eq 'EURODYNDNS' ) |
616 |
- { |
617 |
- $explain='## euroddyndns.org dynamic addresses'; |
618 |
- $pubserv='eurodyndns.org'; |
619 |
- $protocol='namecheap'; |
620 |
- } |
621 |
- elsif( $dns eq 'DTDNS' ) |
622 |
- { |
623 |
- $explain='## DtDNS (www.dtdns.com) dynamic addresses'; |
624 |
- $pubserv='www.dtdns.com'; |
625 |
- $protocol='dtdns'; |
626 |
- } |
627 |
- elsif( $dns eq 'LOOPIA' ) |
628 |
- { |
629 |
- $explain='## Loopia (loopia.se) dynamic addresses'; |
630 |
- $pubserv='dns.loopia.se'; |
631 |
- $protocol='dyndns2'; |
632 |
- } |
633 |
- elsif( $dns eq 'DNSPARK' ) |
634 |
- { |
635 |
- $explain='## dnspark.com dynamic addresses'; |
636 |
- $pubserv='www.dnspark.com'; |
637 |
- $protocol='dnspark'; |
638 |
- } |
639 |
- elsif( $dns eq 'DYNHOST' ) |
640 |
- { |
641 |
- $explain='## DynHost (ovh.com) dynamic addresses'; |
642 |
- $pubserv='www.ovh.com'; |
643 |
- $protocol='dyndns2'; |
644 |
- } |
645 |
- elsif( $dns eq 'NOIP' ) |
646 |
- { |
647 |
- $explain='## Noip (noip.com) dynamic addresses'; |
648 |
- $pubserv='dynupdate.no-ip.com'; |
649 |
- $protocol='noip'; |
650 |
- } |
651 |
- elsif( $dns eq 'CHANGEIP' ) |
652 |
- { |
653 |
- $explain='## ChangeIP (changeip.com) dynamic addresses'; |
654 |
- $pubserv='nic.changeip.com'; |
655 |
- $protocol='dyndns2'; |
656 |
- } |
657 |
- |
658 |
- elsif( $dns eq 'NAMECHEAP' ) |
659 |
- { |
660 |
- $explain='## NAMECHEAP (namecheap.com) dynamic addresses'; |
661 |
- $pubserv='dynamicdns.park-your-domain.com'; |
662 |
- $protocol='namecheap'; |
663 |
- } |
664 |
- |
665 |
- elsif( $dns eq 'SPDNS' ) |
666 |
- { |
667 |
- $explain='## SPDNS (spdns.de) dynamic addresses'; |
668 |
- $pubserv='update.spdns.de'; |
669 |
- $protocol='dyndns2'; |
670 |
- } |
671 |
- |
672 |
- if($pubserv ne '') |
673 |
- { |
674 |
- $OUT .="##\n"; |
675 |
- $OUT .=$explain."\n"; |
676 |
- $OUT .="##\n"; |
677 |
- $OUT .="server=".$pubserv.", \\\n"; |
678 |
- $OUT .="protocol=".$protocol.", \\\n"; |
679 |
- if( $dns eq 'DTDNS' ) { |
680 |
- $OUT .="client=ddclient, \\\n"; |
681 |
- } |
682 |
- if( $dns eq 'LOOPIA' ) { |
683 |
- $OUT .="use=web, \\\n"; |
684 |
- $OUT .="web=loopia, \\\n"; |
685 |
- $OUT .="script=/XDynDNSServer/XDynDNS.php, \\\n"; |
686 |
- } |
687 |
- if($static ne '') { |
688 |
- $OUT .="static=".$static.", \\\n"; |
689 |
- } |
690 |
- |
691 |
- if($wildcard ne '') { |
692 |
- $OUT .="wildcard=".$wildcard.", \\\n"; |
693 |
- } |
694 |
- |
695 |
- if($custom ne '') { |
696 |
- $OUT .="custom=".$custom.", \\\n"; |
697 |
- } |
698 |
- |
699 |
- if ($mx ne '') { |
700 |
- $OUT .="mx=".$mx.", \\\n"; |
701 |
- } |
702 |
- |
703 |
- $OUT .="login=".$login.", \\\n"; |
704 |
- $OUT .="password=".$password." \\\n"; |
705 |
- $OUT .="\@\n" if ( $dns eq 'NAMECHEAP' ); |
706 |
- |
707 |
- $OUT .=$edom->key()."\n" if ( $dns ne 'NAMECHEAP' ); |
708 |
- $OUT .="##\n"; |
709 |
- $OUT .="##\n"; |
710 |
- } |
711 |
- } |
712 |
- } |
713 |
-} |
714 |
- |
715 |
diff -Nur smeserver-ddclient-1.2.1.bz8961.old/root/etc/e-smith/templates.metadata/etc/ddclient/ddclient.conf smeserver-ddclient-1.2.1.bz8961/root/etc/e-smith/templates.metadata/etc/ddclient/ddclient.conf |
716 |
--- smeserver-ddclient-1.2.1.bz8961.old/root/etc/e-smith/templates.metadata/etc/ddclient/ddclient.conf 1970-01-01 01:00:00.000000000 +0100 |
717 |
+++ smeserver-ddclient-1.2.1.bz8961/root/etc/e-smith/templates.metadata/etc/ddclient/ddclient.conf 2015-07-10 14:10:14.014570889 +0200 |
718 |
@@ -0,0 +1,3 @@ |
719 |
+UID="root" |
720 |
+GID="root" |
721 |
+PERMS=0600 |
722 |
diff -Nur smeserver-ddclient-1.2.1.bz8961.old/root/etc/e-smith/templates.metadata/etc/ddclient.conf smeserver-ddclient-1.2.1.bz8961/root/etc/e-smith/templates.metadata/etc/ddclient.conf |
723 |
--- smeserver-ddclient-1.2.1.bz8961.old/root/etc/e-smith/templates.metadata/etc/ddclient.conf 2015-07-07 00:04:46.528387351 +0200 |
724 |
+++ smeserver-ddclient-1.2.1.bz8961/root/etc/e-smith/templates.metadata/etc/ddclient.conf 1970-01-01 01:00:00.000000000 +0100 |
725 |
@@ -1,3 +0,0 @@ |
726 |
-UID="ddclient" |
727 |
-GID="ddclient" |
728 |
-PERMS=0600 |
729 |
diff -Nur smeserver-ddclient-1.2.1.bz8961.old/root/etc/e-smith/web/functions/ddclient smeserver-ddclient-1.2.1.bz8961/root/etc/e-smith/web/functions/ddclient |
730 |
--- smeserver-ddclient-1.2.1.bz8961.old/root/etc/e-smith/web/functions/ddclient 2015-07-07 00:04:46.528387351 +0200 |
731 |
+++ smeserver-ddclient-1.2.1.bz8961/root/etc/e-smith/web/functions/ddclient 2015-07-10 15:02:32.360861723 +0200 |
732 |
@@ -49,8 +49,18 @@ |
733 |
sub performModifyDomain ($); |
734 |
sub deleteDomain ($); |
735 |
sub performDeleteDomain ($); |
736 |
+sub ddcreateDomain ($); |
737 |
+sub ddperformCreateDomain ($); |
738 |
+sub ddmodifyDomain ($); |
739 |
+sub ddperformModifyDomain ($); |
740 |
+sub dddeleteDomain ($); |
741 |
+sub ddperformDeleteDomain ($); |
742 |
sub genServer ($$); |
743 |
|
744 |
+sub genRetrieve($$); |
745 |
+sub performRetrieve($); |
746 |
+ |
747 |
+################################################################################################################" |
748 |
BEGIN |
749 |
{ |
750 |
# Clear PATH and related environment variables so that calls to |
751 |
@@ -73,13 +83,12 @@ |
752 |
tie %conf, 'esmith::config', '/home/e-smith/configuration'; |
753 |
} |
754 |
|
755 |
-my $domaindb = esmith::ConfigDB->open('/home/e-smith/db/domains'); |
756 |
- if ( not defined $domaindb ) { |
757 |
- $domaindb = esmith::ConfigDB->open('/home/e-smith/domains'); |
758 |
- if ( not defined $domaindb ) { |
759 |
- die "Unable to open domains db"; |
760 |
- } |
761 |
- } |
762 |
+my $domaindb = esmith::ConfigDB->open('/home/e-smith/db/domains') |
763 |
+ or die "Unable to open domains db"; |
764 |
+my $edb; |
765 |
+ |
766 |
+$edb = esmith::ConfigDB->open('/home/e-smith/db/ddclient') |
767 |
+ or $edb = esmith::ConfigDB->create('/home/e-smith/db/ddclient'); |
768 |
#------------------------------------------------------------ |
769 |
# examine state parameter and display the appropriate form |
770 |
#------------------------------------------------------------ |
771 |
@@ -121,6 +130,29 @@ |
772 |
performDeleteDomain ($q); |
773 |
} |
774 |
|
775 |
+elsif ($q->param ('state') eq "ddcreate") { |
776 |
+ ddcreateDomain ($q); |
777 |
+} |
778 |
+elsif ($q->param ('state') eq "ddperformCreate") { |
779 |
+ ddperformCreateDomain ($q); |
780 |
+} |
781 |
+elsif ($q->param ('state') eq "ddmodify") { |
782 |
+ ddmodifyDomain ($q); |
783 |
+} |
784 |
+elsif ($q->param ('state') eq "ddperformModify") { |
785 |
+ ddperformModifyDomain ($q); |
786 |
+} |
787 |
+elsif ($q->param ('state') eq "dddelete") { |
788 |
+ dddeleteDomain ($q); |
789 |
+} |
790 |
+elsif ($q->param ('state') eq "ddperformDelete") { |
791 |
+ ddperformDeleteDomain ($q); |
792 |
+} |
793 |
+ |
794 |
+elsif ($q->param ('state') eq "performRetrieve") { |
795 |
+ performRetrieve($q); |
796 |
+} |
797 |
+ |
798 |
else |
799 |
{ |
800 |
esmith::cgi::genStateError ($q, \%conf); |
801 |
@@ -142,6 +174,7 @@ |
802 |
} |
803 |
|
804 |
my %Labels = ( |
805 |
+ 'CUSTOMDNS' => $fm->localise('CUSTOMDNS'), |
806 |
'DYNDNS1' => $fm->localise('DYNDNS1'), |
807 |
'DYNDNS2' => $fm->localise('DYNDNS2'), |
808 |
'DYNDNS3' => $fm->localise('DYNDNS3'), |
809 |
@@ -162,7 +195,7 @@ |
810 |
|
811 |
return esmith::cgi::genCell ($q, $q->popup_menu (-name => 'dns', |
812 |
-values => [ |
813 |
- 'DYNDNS1','DYNDNS2','DYNDNS3','ZONEDIT', |
814 |
+ 'CUSTOMDNS', 'DYNDNS1','DYNDNS2','DYNDNS3','ZONEDIT', |
815 |
'EASYDNS','HAMMER','DSLREPORTS', 'EURODYNDNS', |
816 |
'DTDNS','LOOPIA','DNSPARK','DYNHOST','NOIP','CHANGEIP', |
817 |
'NAMECHEAP','SPDNS' |
818 |
@@ -170,6 +203,28 @@ |
819 |
-default => $curSetting, |
820 |
-labels => \%Labels)); |
821 |
} |
822 |
+ |
823 |
+#----------------------------------------------------------------------------------------------------- |
824 |
+sub genRetrieve($$) { |
825 |
+ my ($q, $curSetting) = @_; |
826 |
+ |
827 |
+ if ((! defined $curSetting) || ($curSetting eq '')) |
828 |
+ { |
829 |
+ $curSetting = 'yes'; |
830 |
+ } |
831 |
+ |
832 |
+ my %Labels = ( |
833 |
+ 'yes' => $fm->localise('yes'), |
834 |
+ 'no' => $fm->localise('no'), |
835 |
+ ); |
836 |
+ |
837 |
+ return esmith::cgi::genCell ($q, $q->popup_menu (-name => 'retrievessl', |
838 |
+ -values => [ |
839 |
+ 'yes','no' |
840 |
+ ], |
841 |
+ -default => $curSetting, |
842 |
+ -labels => \%Labels)); |
843 |
+} |
844 |
#------------------------------------------------------------ |
845 |
|
846 |
sub showInitial ($$) |
847 |
@@ -192,6 +247,44 @@ |
848 |
print $q->hr; |
849 |
} |
850 |
|
851 |
+ print $q->p ($fm->localise('FORM_DESCRIPTION')); |
852 |
+ |
853 |
+ #------------------------------------------------------------ |
854 |
+ # get the ip retrieve method |
855 |
+ #------------------------------------------------------------ |
856 |
+ my $ddretrieve=$conf->get('ddclient'); |
857 |
+ my $DeamonUpdate=$ddretrieve->prop('DeamonUpdate')|| '300'; |
858 |
+ my $urlcheckip=$ddretrieve->prop('urlcheckip')|| 'checkip.dyndns.org'; |
859 |
+ my $ssl=$ddretrieve->prop('SSL')|| 'yes'; |
860 |
+ |
861 |
+ print $q->startform (-method => 'POST', |
862 |
+ -action => $q->url (-absolute => 1)); |
863 |
+ |
864 |
+ print $q->table ({border => 0, cellspacing => 0, cellpadding => 4}, |
865 |
+ $q->Tr (esmith::cgi::genCell ($q,$fm->localise('RETRIEVE_SSL')), |
866 |
+ genRetrieve($q,$ssl)), |
867 |
+# esmith::cgi::genWidgetRow ($q, $fm->localise('RETRIEVE_SSL')), |
868 |
+# $q->popup_menu (-name => 'SSL', |
869 |
+# -values => ['yes', 'no'], |
870 |
+# -default => $ssl), |
871 |
+# -labels => \%status)) , |
872 |
+ |
873 |
+ |
874 |
+ $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('RETRIEVE_DEAMONUPDATE'), |
875 |
+ "retrievedeamonupdate",$DeamonUpdate)), |
876 |
+ $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('RETRIEVE_URLCHECKIP'), |
877 |
+ "retrieveurlcheckip",$urlcheckip)), |
878 |
+ esmith::cgi::genButtonRow ( $q, |
879 |
+ $q->submit (-name => 'action', |
880 |
+ -value => $fm->localise('APPLY'))) |
881 |
+ ); |
882 |
+ |
883 |
+ print $q->hidden (-name => 'state', |
884 |
+ -override => 1, |
885 |
+ -default => 'performRetrieve'); |
886 |
+ |
887 |
+ print $q->endform; |
888 |
+ print $q->hr; |
889 |
|
890 |
#------------------------------------------------------------ |
891 |
# Look up domains and domain descriptions |
892 |
@@ -256,6 +349,7 @@ |
893 |
esmith::cgi::genSmallCell ($q, $properties{'Description'}), |
894 |
esmith::cgi::genSmallCell ($q, $content), |
895 |
esmith::cgi::genSmallCell ($q, ' '), |
896 |
+ esmith::cgi::genSmallCell ($q, ' '), |
897 |
esmith::cgi::genSmallCell ($q, |
898 |
$q->a ({href => $q->url (-absolute => 1) |
899 |
. "?state=create&domain=" |
900 |
@@ -284,6 +378,61 @@ |
901 |
|
902 |
print '</table>'; |
903 |
} |
904 |
+ print $q->hr; |
905 |
+######################################################################################################################################### |
906 |
+# now the free form part |
907 |
+# |
908 |
+ my @FreeDomains = (); |
909 |
+ foreach my $domain ($edb->get_all_by_prop(type=>'ddhost')) |
910 |
+ { |
911 |
+ my $key = $domain->key; |
912 |
+ push (@FreeDomains, $key); |
913 |
+ } |
914 |
+ |
915 |
+ print $q->p ($fm->localise('FREE_FORM_DESCRIPTION')); |
916 |
+ |
917 |
+ $numDomains = @FreeDomains; |
918 |
+ |
919 |
+ print $q->p ($q->b ($fm->localise('CURRENT_LIST_OF_DOMAINS'))); |
920 |
+ |
921 |
+ print $q->table ({border => 1, cellspacing => 1, cellpadding => 4}); |
922 |
+ |
923 |
+ print $q->Tr (esmith::cgi::genSmallCell ($q, $q->b ($fm->localise('DOMAIN'))), |
924 |
+ esmith::cgi::genSmallCell ($q, $q->b ($fm->localise('DESCRIPTION'))), |
925 |
+ esmith::cgi::genSmallCell ($q, $q->b ($fm->localise('PUBLICATION'))), |
926 |
+ $q->td (' '), |
927 |
+ $q->td (' ') |
928 |
+ ); |
929 |
+ |
930 |
+ if ( $numDomains > 0 ) { |
931 |
+ foreach my $domain (sort @FreeDomains) { |
932 |
+ my $vals = $edb->get($domain); |
933 |
+ my $content = $vals->prop('desc'); |
934 |
+ my $publish = $vals->prop('dns'); |
935 |
+ print $q->Tr (esmith::cgi::genSmallCell ($q, $domain), |
936 |
+ esmith::cgi::genSmallCell ($q, $content), |
937 |
+ esmith::cgi::genSmallCell ($q, $publish), |
938 |
+ esmith::cgi::genSmallCell ($q, |
939 |
+ $q->a ({href => $q->url (-absolute => 1) |
940 |
+ . "?state=ddmodify&domain=" |
941 |
+ . $domain}, $fm->localise('MODIFY', ))), |
942 |
+ esmith::cgi::genSmallCell ($q, |
943 |
+ $q->a ({href => $q->url (-absolute => 1) |
944 |
+ . "?state=dddelete&domain=" |
945 |
+ . $domain}, $fm->localise('DELETE', ))) |
946 |
+ ); |
947 |
+ } |
948 |
+ } |
949 |
+ |
950 |
+ print $q->Tr (($q->td(' ')), |
951 |
+ ($q->td(' ')), |
952 |
+ ($q->td(' ')), |
953 |
+ ($q->td(' ')), |
954 |
+ esmith::cgi::genSmallCell ($q, |
955 |
+ $q->a ({href => $q->url (-absolute => 1) |
956 |
+ . "?state=ddcreate"}, $fm->localise('CREATE', ))) |
957 |
+ ); |
958 |
+ print '</table>'; |
959 |
|
960 |
esmith::cgi::genFooter ($q); |
961 |
} |
962 |
@@ -324,7 +473,27 @@ |
963 |
-labels => \%labels)); |
964 |
} |
965 |
#------------------------------------------------------------ |
966 |
+# |
967 |
+#------------------------------------------------------------ |
968 |
+sub performRetrieve($) { |
969 |
+ my ($q) = @_; |
970 |
+ my $deamonupdate =$q->param('retrievedeamonupdate'); |
971 |
+ my $urlcheckip =$q->param('retrieveurlcheckip'); |
972 |
+ my $ssl = $q->param('retrievessl'); |
973 |
+ |
974 |
+ my $ddclient=$conf->get('ddclient'); |
975 |
+ $ddclient->set_prop('urlcheckip' => $urlcheckip); |
976 |
+ $ddclient->set_prop('DeamonUpdate' => $deamonupdate); |
977 |
+ $ddclient->set_prop('SSL' => $ssl); |
978 |
|
979 |
+ $domaindb->reload(); |
980 |
+ |
981 |
+ system ("/sbin/e-smith/signal-event", "ddclient"); |
982 |
+ |
983 |
+ showInitial ($q, $fm->localise('SUCCESSFULLY_MODIFIED_RETRIEVE_IP')); |
984 |
+} |
985 |
+ |
986 |
+#------------------------------------------------------------ |
987 |
sub createDomain ($) |
988 |
{ |
989 |
my ($q) = @_; |
990 |
@@ -502,6 +671,9 @@ |
991 |
{content => $properties{'Content'}}); |
992 |
} |
993 |
|
994 |
+ print $q->h3 ($fm->localise('CUSTOM_DESCRIPTION')); |
995 |
+ print $q->p; |
996 |
+ |
997 |
print $q->table ({border => 0, cellspacing => 0, cellpadding => 4}, |
998 |
$q->Tr (esmith::cgi::genCell ($q, |
999 |
$fm->localise('DOMAIN_NAME')), |
1000 |
@@ -518,6 +690,14 @@ |
1001 |
$q->Tr (esmith::cgi::genCell ($q, $fm->localise('SERVERS_LABEL')), |
1002 |
genServer($q, $eprops{'dns'})), |
1003 |
|
1004 |
+ $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('CUSTOMDNS_LABEL'), |
1005 |
+ "customdns", |
1006 |
+ $eprops{'customdns'})), |
1007 |
+ |
1008 |
+ $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('CUSTOM_PROTOCOL_LABEL'), |
1009 |
+ "customprotocol", |
1010 |
+ $eprops{'customprotocol'})), |
1011 |
+ |
1012 |
$q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('NAME_LABEL'), |
1013 |
"login", |
1014 |
$eprops{'login'})), |
1015 |
@@ -597,12 +777,30 @@ |
1016 |
} |
1017 |
|
1018 |
my $domainMX = $q->param ('mx'); |
1019 |
+ my $customDNS = $q->param('customdns'); |
1020 |
+ my $customPROTOCOL = $q->param('customprotocol'); |
1021 |
+ |
1022 |
+ my $dns = $q->param ('dns'); |
1023 |
+ if ($dns eq 'CUSTOMDNS') |
1024 |
+ { |
1025 |
+ if ($customDNS =~ /^([a-zA-Z0-9\-\.]+)$/) |
1026 |
+ { |
1027 |
+ $customDNS = $1; |
1028 |
+ } |
1029 |
+ else |
1030 |
+ |
1031 |
+ { |
1032 |
+ showInitial ($q, $fm->localise('CUSTOMDNS_VALIDATION_ERROR', |
1033 |
+ {domainName => $domainName})); |
1034 |
+ return; |
1035 |
+ } |
1036 |
+ } |
1037 |
#------------------------------------------------------------ |
1038 |
# Looks good. Find out if this domain has been taken |
1039 |
# or if the domain is a reserved to provide a secured webserver |
1040 |
# for a previous domain |
1041 |
#------------------------------------------------------------ |
1042 |
- my $dns = $q->param ('dns'); |
1043 |
+# my $dns = $q->param ('dns'); |
1044 |
|
1045 |
my $dom=$domaindb->get($domainName); |
1046 |
|
1047 |
@@ -610,6 +808,8 @@ |
1048 |
$dom->set_prop('login' => $domainLogin); |
1049 |
$dom->set_prop('password' => $domainPassword); |
1050 |
$dom->set_prop('mx' => $domainMX); |
1051 |
+ $dom->set_prop('customdns' => $customDNS); |
1052 |
+ $dom->set_prop('customprotocol' => $customPROTOCOL); |
1053 |
|
1054 |
$domaindb->reload(); |
1055 |
|
1056 |
@@ -708,6 +908,11 @@ |
1057 |
my $dns = $fm->localise($props{'dns'}); |
1058 |
|
1059 |
$evalue->set_prop('dns' => ''); |
1060 |
+ $evalue->set_prop('login' => ''); |
1061 |
+ $evalue->set_prop('password' => ''); |
1062 |
+ $evalue->set_prop('customdns' => ''); |
1063 |
+ $evalue->set_prop('customprotocol' => ''); |
1064 |
+ |
1065 |
$domaindb->reload(); |
1066 |
|
1067 |
system ("/sbin/e-smith/signal-event", "ddclient"); |
1068 |
@@ -716,6 +921,422 @@ |
1069 |
{domain => $domain, dns => $dns})); |
1070 |
} |
1071 |
|
1072 |
+################################################################################################################################################## |
1073 |
+# create a free publish |
1074 |
+# |
1075 |
+sub ddcreateDomain ($) |
1076 |
+{ |
1077 |
+ my ($q) = @_; |
1078 |
+ |
1079 |
+ esmith::cgi::genHeaderNonCacheable |
1080 |
+ ($q, \%conf, $fm->localise('CREATE_TITLE')); |
1081 |
+ |
1082 |
+ print $q->startform (-method => 'POST', |
1083 |
+ -action => $q->url (-absolute => 1)); |
1084 |
+ print $q->h3 ($fm->localise('CUSTOM_DESCRIPTION')); |
1085 |
+ print $q->p; |
1086 |
+ print $q->table ({border => 0, cellspacing => 0, cellpadding => 4}, |
1087 |
+ |
1088 |
+ $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('DOMAIN_NAME_LABEL'), |
1089 |
+ "domainName","")), |
1090 |
+ |
1091 |
+ $q->Tr (esmith::cgi::genNameValueRow($q,$fm->localise('DESCRIPTION_LABEL'), |
1092 |
+ "desc","")), |
1093 |
+ |
1094 |
+ $q->Tr (esmith::cgi::genCell ($q, $fm->localise('SERVERS_LABEL')), |
1095 |
+ genServer($q, '')), |
1096 |
+ |
1097 |
+ $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('CUSTOMDNS_LABEL'), |
1098 |
+ "customdns",'')), |
1099 |
+ |
1100 |
+ $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('CUSTOM_PROTOCOL_LABEL'), |
1101 |
+ "customprotocol",'')), |
1102 |
+ |
1103 |
+ $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('NAME_LABEL'), |
1104 |
+ "login","")), |
1105 |
+ |
1106 |
+ $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('PASSWORD_LABEL'), |
1107 |
+ "password","")), |
1108 |
+ |
1109 |
+ $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('MX'), |
1110 |
+ "mx","")), |
1111 |
+ |
1112 |
+ esmith::cgi::genButtonRow ( $q, |
1113 |
+ $q->submit (-name => 'action', |
1114 |
+ -value => $fm->localise('CREATE')))); |
1115 |
+ |
1116 |
+ print $q->hidden (-name => 'state', |
1117 |
+ -override => 1, |
1118 |
+ -default => 'ddperformCreate'); |
1119 |
+ |
1120 |
+ print $q->endform; |
1121 |
+ |
1122 |
+ esmith::cgi::genFooter ($q); |
1123 |
+ return; |
1124 |
+} |
1125 |
+ |
1126 |
+#------------------------------------------------------------ |
1127 |
+# |
1128 |
+#------------------------------------------------------------ |
1129 |
+ |
1130 |
+sub ddperformCreateDomain ($) |
1131 |
+{ |
1132 |
+ my ($q) = @_; |
1133 |
+ |
1134 |
+ #------------------------------------------------------------ |
1135 |
+ # Validate parameters and untaint them |
1136 |
+ #------------------------------------------------------------ |
1137 |
+ |
1138 |
+ my $domainName = $q->param ('domainName'); |
1139 |
+ if ($domainName =~ /^([a-zA-Z0-9\-\.]+)$/) { |
1140 |
+ $domainName = $1; |
1141 |
+ } else { |
1142 |
+ showInitial ($q, $fm->localise('DOMAIN_NAME_VALIDATION_ERROR', |
1143 |
+ {domainName => $domainName})); |
1144 |
+ return; |
1145 |
+ } |
1146 |
+############################################### |
1147 |
+ foreach my $domain ($domaindb->get_all_by_prop(type=>'domain')) |
1148 |
+ { |
1149 |
+ my $key = $domain->key; |
1150 |
+ if ( $key eq $domainName ) { |
1151 |
+ showInitial ($q, $fm->localise('DOMAIN_NAME_ALREADY_EXIST', |
1152 |
+ {domainName => $domainName})); |
1153 |
+ return; |
1154 |
+ } |
1155 |
+ } |
1156 |
+ |
1157 |
+ foreach my $domain ($edb->get_all_by_prop(type=>'ddhost')) |
1158 |
+ { |
1159 |
+ my $key = $domain->key; |
1160 |
+ if ( $key eq $domainName ) { |
1161 |
+ showInitial ($q, $fm->localise('DOMAIN_NAME_ALREADY_EXIST', |
1162 |
+ {domainName => $domainName})); |
1163 |
+ return; |
1164 |
+ } |
1165 |
+ } |
1166 |
+ |
1167 |
+############################################# |
1168 |
+ |
1169 |
+ my $domainDesc = $q->param ('desc'); |
1170 |
+ my $domainLogin = $q->param ('login'); |
1171 |
+ if ($domainLogin =~ /^([\-\'\w][\-\'\w\s\.]*)$/) { |
1172 |
+ $domainLogin = $1; |
1173 |
+ } else { |
1174 |
+ showInitial ($q, $fm->localise('DOMAIN_LOGIN_VALIDATION_ERROR', |
1175 |
+ {domainLogin => $domainLogin})); |
1176 |
+ return; |
1177 |
+ } |
1178 |
+ |
1179 |
+ my $domainPassword = $q->param ('password'); |
1180 |
+ if ($domainPassword =~ /^(.*)$/) { |
1181 |
+ $domainPassword = $1; |
1182 |
+ } else { |
1183 |
+ showInitial ($q, $fm->localise('DOMAIN_PASSWORD_VALIDATION_ERROR', |
1184 |
+ {domainPassword => $domainPassword})); |
1185 |
+ return; |
1186 |
+ } |
1187 |
+ |
1188 |
+ my $domainMX = $q->param ('mx'); |
1189 |
+##Custom dns retrieve |
1190 |
+ my $customDNS = $q->param('customdns'); |
1191 |
+ my $customPROTOCOL = $q->param('customprotocol'); |
1192 |
+ |
1193 |
+ my $dns = $q->param ('dns'); |
1194 |
+ if ($dns eq 'CUSTOMDNS') |
1195 |
+ { |
1196 |
+ if ($customDNS =~ /^([a-zA-Z0-9\-\.]+)$/) |
1197 |
+ { |
1198 |
+ $customDNS = $1; |
1199 |
+ } |
1200 |
+ else |
1201 |
+ |
1202 |
+ { |
1203 |
+ showInitial ($q, $fm->localise('CUSTOMDNS_VALIDATION_ERROR', |
1204 |
+ {domainName => $domainName})); |
1205 |
+ return; |
1206 |
+ } |
1207 |
+ } |
1208 |
+ #------------------------------------------------------------ |
1209 |
+ # Looks good. Find out if this domain has been taken |
1210 |
+ # or if the domain is a reserved to provide a secured webserver |
1211 |
+ # for a previous domain |
1212 |
+ #------------------------------------------------------------ |
1213 |
+# my $dns = $q->param ('dns'); |
1214 |
+ |
1215 |
+ my %properties = (); |
1216 |
+ $properties{'type'} = 'ddhost'; |
1217 |
+ $properties{'dns'} = $dns; |
1218 |
+ $properties{'login'} = $domainLogin; |
1219 |
+ $properties{'password'} = $domainPassword; |
1220 |
+ $properties{'mx'} = $domainMX; |
1221 |
+ $properties{'desc'} = $domainDesc; |
1222 |
+ $properties{'customdns'} = $customDNS; |
1223 |
+ $properties{'customprotocol'} = $customPROTOCOL; |
1224 |
+ $edb->new_record($domainName, \%properties); |
1225 |
+ |
1226 |
+ system ("/sbin/e-smith/signal-event", "ddclient"); |
1227 |
+ |
1228 |
+ showInitial ($q, $fm->localise('SUCCESSFULLY_CREATED', |
1229 |
+ {domainName => $domainName,dns => $fm->localise($dns) })); |
1230 |
+} |
1231 |
+ |
1232 |
+#------------------------------------------------------------ |
1233 |
+# |
1234 |
+#------------------------------------------------------------ |
1235 |
+ |
1236 |
+sub ddmodifyDomain ($) |
1237 |
+{ |
1238 |
+ my ($q) = @_; |
1239 |
+ |
1240 |
+ esmith::cgi::genHeaderNonCacheable ($q, \%conf, |
1241 |
+ $fm->localise('MODIFY_TITLE')); |
1242 |
+ |
1243 |
+ print $q->startform (-method => 'POST', -action => $q->url (-absolute => 1)); |
1244 |
+ |
1245 |
+ my $domain = $q->param ('domain'); |
1246 |
+ my $evalue = $edb->get($domain); |
1247 |
+ |
1248 |
+ if (defined $evalue) |
1249 |
+ { |
1250 |
+ my %eprops = $evalue->props; |
1251 |
+ |
1252 |
+ print $q->h3 ($fm->localise('CUSTOM_DESCRIPTION')); |
1253 |
+ print $q->p; |
1254 |
+ |
1255 |
+ print $q->table ({border => 0, cellspacing => 0, cellpadding => 4}, |
1256 |
+ $q->Tr (esmith::cgi::genCell ($q, $fm->localise('DOMAIN_NAME_LABEL')), |
1257 |
+ esmith::cgi::genCell ($q, $domain)), |
1258 |
+ |
1259 |
+ $q->Tr (esmith::cgi::genNameValueRow ($q, $fm->localise('DESCRIPTION_LABEL'), |
1260 |
+ "desc", |
1261 |
+ $eprops{'desc'})), |
1262 |
+ |
1263 |
+ $q->Tr (esmith::cgi::genCell ($q, $fm->localise('SERVERS_LABEL')), |
1264 |
+ genServer($q, $eprops{'dns'})), |
1265 |
+ |
1266 |
+ $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('CUSTOMDNS_LABEL'), |
1267 |
+ "customdns", |
1268 |
+ $eprops{'customdns'})), |
1269 |
+ |
1270 |
+ $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('CUSTOM_PROTOCOL_LABEL'), |
1271 |
+ "customprotocol", |
1272 |
+ $eprops{'customprotocol'})), |
1273 |
+ |
1274 |
+ $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('NAME_LABEL'), |
1275 |
+ "login", |
1276 |
+ $eprops{'login'})), |
1277 |
+ |
1278 |
+ $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('PASSWORD_LABEL'), |
1279 |
+ "password", |
1280 |
+ $eprops{'password'})), |
1281 |
+ |
1282 |
+ $q->Tr (esmith::cgi::genNameValueRow ($q,$fm->localise('MX'), |
1283 |
+ "mx",$eprops{'mx'})), |
1284 |
+ |
1285 |
+ esmith::cgi::genButtonRow ($q, |
1286 |
+ $q->submit (-name => 'action', |
1287 |
+ -value => $fm->localise('MODIFY'))) |
1288 |
+ ); |
1289 |
+ |
1290 |
+ print $q->hidden (-name => 'domainName', |
1291 |
+ -override => 1, |
1292 |
+ -default => $domain); |
1293 |
+ |
1294 |
+ print $q->hidden (-name => 'state', |
1295 |
+ -override => 1, |
1296 |
+ -default => 'ddperformModify'); |
1297 |
+ |
1298 |
+ } else { |
1299 |
+ showInitial ($q, $fm->localise('ERROR_ON_EXTRA_DATABASE', |
1300 |
+ {domainName => $domain })); |
1301 |
+ return; |
1302 |
+ } |
1303 |
+ |
1304 |
+ print $q->endform; |
1305 |
+ esmith::cgi::genFooter ($q); |
1306 |
+ return; |
1307 |
+} |
1308 |
+ |
1309 |
+#------------------------------------------------------------ |
1310 |
+# |
1311 |
+#------------------------------------------------------------ |
1312 |
+ |
1313 |
+sub ddperformModifyDomain ($) |
1314 |
+{ |
1315 |
+ my ($q) = @_; |
1316 |
+ |
1317 |
+ #------------------------------------------------------------ |
1318 |
+ # Validate parameters and untaint them |
1319 |
+ #------------------------------------------------------------ |
1320 |
+ |
1321 |
+ my $domainName = $q->param ('domainName'); |
1322 |
+ if ($domainName =~ /^([a-zA-Z0-9\-\.]+)$/) { |
1323 |
+ $domainName = $1; |
1324 |
+ } else { |
1325 |
+ showInitial ($q, $fm->localise('DOMAIN_NAME_VALIDATION_ERROR', |
1326 |
+ {domainName => $domainName})); |
1327 |
+ return; |
1328 |
+ } |
1329 |
+ |
1330 |
+ my $domainLogin = $q->param ('login'); |
1331 |
+ if ($domainLogin =~ /^([\-\'\w][\-\'\w\s\.]*)$/) { |
1332 |
+ $domainLogin = $1; |
1333 |
+ } else { |
1334 |
+ showInitial ($q, $fm->localise('DOMAIN_LOGIN_VALIDATION_ERROR', |
1335 |
+ {domainLogin => $domainLogin})); |
1336 |
+ return; |
1337 |
+ } |
1338 |
+ |
1339 |
+ my $domainPassword = $q->param ('password'); |
1340 |
+ if ($domainPassword =~ /^(.*)$/) { |
1341 |
+ $domainPassword = $1; |
1342 |
+ } else { |
1343 |
+ showInitial ($q, $fm->localise('DOMAIN_PASSWORD_VALIDATION_ERROR', |
1344 |
+ {domainPassword => $domainPassword})); |
1345 |
+ return; |
1346 |
+ } |
1347 |
+ |
1348 |
+ my $domainMX = $q->param ('mx'); |
1349 |
+ my $desc = $q->param ('desc'); |
1350 |
+ my $customDNS = $q->param('customdns'); |
1351 |
+ my $customPROTOCOL = $q->param('customprotocol'); |
1352 |
+ |
1353 |
+ my $dns = $q->param ('dns'); |
1354 |
+ |
1355 |
+ if ($dns eq 'CUSTOMDNS') |
1356 |
+ { |
1357 |
+ if ($customDNS =~ /^([a-zA-Z0-9\-\.]+)$/) |
1358 |
+ { |
1359 |
+ $customDNS = $1; |
1360 |
+ } |
1361 |
+ else |
1362 |
+ |
1363 |
+ { |
1364 |
+ showInitial ($q, $fm->localise('CUSTOMDNS_VALIDATION_ERROR', |
1365 |
+ {domainName => $domainName})); |
1366 |
+ return; |
1367 |
+ } |
1368 |
+ } |
1369 |
+ #------------------------------------------------------------ |
1370 |
+ # Looks good. Find out if this domain has been taken |
1371 |
+ # or if the domain is a reserved to provide a secured webserver |
1372 |
+ # for a previous domain |
1373 |
+ #------------------------------------------------------------ |
1374 |
+# my $dns = $q->param ('dns'); |
1375 |
+ |
1376 |
+ my $dom=$edb->get($domainName); |
1377 |
+ |
1378 |
+ $dom->set_prop('desc' => $desc); |
1379 |
+ $dom->set_prop('dns' => $dns); |
1380 |
+ $dom->set_prop('login' => $domainLogin); |
1381 |
+ $dom->set_prop('password' => $domainPassword); |
1382 |
+ $dom->set_prop('mx' => $domainMX); |
1383 |
+ $dom->set_prop('customdns' => $customDNS); |
1384 |
+ $dom->set_prop('customprotocol' => $customPROTOCOL); |
1385 |
+ |
1386 |
+ $edb->reload(); |
1387 |
+ |
1388 |
+ system ("/sbin/e-smith/signal-event", "ddclient"); |
1389 |
+ |
1390 |
+ showInitial ($q, $fm->localise('SUCCESSFULLY_MODIFIED', |
1391 |
+ {domainName => $domainName,dns => $fm->localise($dns)})); |
1392 |
+} |
1393 |
+ |
1394 |
+#------------------------------------------------------------ |
1395 |
+# |
1396 |
+#------------------------------------------------------------ |
1397 |
+ |
1398 |
+sub dddeleteDomain ($) |
1399 |
+{ |
1400 |
+ my ($q) = @_; |
1401 |
+ |
1402 |
+ esmith::cgi::genHeaderNonCacheable ($q, \%conf, $fm->localise('REMOVE_TITLE')); |
1403 |
+ |
1404 |
+ print $q->startform (-method => 'POST', -action => $q->url (-absolute => 1)); |
1405 |
+ |
1406 |
+ my $domain = $q->param ('domain'); |
1407 |
+ my $evalue = $edb->get($domain); |
1408 |
+ |
1409 |
+ if (defined $evalue) |
1410 |
+ { |
1411 |
+ my %eprops = $evalue->props; |
1412 |
+ my $domainDesc = $eprops{'desc'}; |
1413 |
+ my $dns = $fm->localise($eprops{'dns'}); |
1414 |
+ |
1415 |
+ print $q->p($fm->localise('REMOVE_DESCRIPTION', |
1416 |
+ {domain => $domain, |
1417 |
+ domainDesc => $domainDesc, |
1418 |
+ dns => $dns } )); |
1419 |
+ |
1420 |
+ print $q->submit (-name => 'action', -value => $fm->localise('REMOVE')); |
1421 |
+ print $q->hidden (-name => 'domain', -override => 1, -default => $domain); |
1422 |
+ |
1423 |
+ print $q->hidden (-name => 'state', |
1424 |
+ -override => 1, |
1425 |
+ -default => 'ddperformDelete'); |
1426 |
+ } else { |
1427 |
+ showInitial ($q, $fm->localise('ERROR_ON_EXTRA_DATABASE', |
1428 |
+ {domainName => $domain })); |
1429 |
+ return; |
1430 |
+ } |
1431 |
+ |
1432 |
+ print $q->endform; |
1433 |
+ esmith::cgi::genFooter ($q); |
1434 |
+ return; |
1435 |
+} |
1436 |
+ |
1437 |
+#------------------------------------------------------------ |
1438 |
+# |
1439 |
+#------------------------------------------------------------ |
1440 |
+ |
1441 |
+sub ddperformDeleteDomain ($) |
1442 |
+{ |
1443 |
+ my ($q) = @_; |
1444 |
+ |
1445 |
+ #------------------------------------------------------------ |
1446 |
+ # Attempt to delete domain |
1447 |
+ #------------------------------------------------------------ |
1448 |
+ |
1449 |
+ my $domain = $q->param ('domain'); |
1450 |
+ |
1451 |
+ if ($domain =~ /^([a-zA-Z0-9\-\.]+)$/) { |
1452 |
+ $domain = $1; |
1453 |
+ } else { |
1454 |
+ showInitial ($q, $fm->localise('ERROR_WHILE_REMOVING_DOMAIN', |
1455 |
+ {domain => $domain})); |
1456 |
+ return; |
1457 |
+ } |
1458 |
+ |
1459 |
+ my $evalue = $edb->get($domain); |
1460 |
+ unless ($evalue) |
1461 |
+ { |
1462 |
+ showInitial ($q, $fm->localise('NONEXISTENT_DOMAIN_ERROR', |
1463 |
+ {domainName => $domain})); |
1464 |
+ return; |
1465 |
+ } |
1466 |
+ |
1467 |
+ my %properties = $evalue->props; |
1468 |
+ my $type = $properties{'type'}; |
1469 |
+ my $dns = $fm->localise($properties{'dns'}); |
1470 |
+ |
1471 |
+ if ($type ne 'ddhost') |
1472 |
+ { |
1473 |
+ showInitial ($q, $fm->localise('NONEXISTENT_DOMAIN_ERROR', |
1474 |
+ {domainName => $domain})); |
1475 |
+ return; |
1476 |
+ } |
1477 |
+ |
1478 |
+# $evalue = $edb->get($domain); |
1479 |
+ $evalue->delete; |
1480 |
+ $edb->reload(); |
1481 |
+ |
1482 |
+ system ("/sbin/e-smith/signal-event", "ddclient"); |
1483 |
+ |
1484 |
+ showInitial ($q, $fm->localise('SUCCESSFULLY_DELETED', |
1485 |
+ {domain => $domain, dns => $dns})); |
1486 |
+} |
1487 |
+ |
1488 |
################################################################################################# |
1489 |
|
1490 |
__DATA__ |