3 # Save welcome and other messages
5 require './jabber-lib.pl';
7 &error_setup($text{'messages_err'});
9 $conf = &get_jabber_config();
10 $session = &find_by_tag("service", "id", "sessions", $conf);
11 $jsm = &find("jsm", $session);
12 $welcome = &find("welcome", $jsm);
13 $register = &find("register", $jsm);
14 $vcard = &find("vcard", $jsm);
16 # Validate and store inputs
17 &save_directive($welcome, "subject",
18 [ [ "subject", [ { }, 0, $in{'wsubject'} ] ] ] );
19 &save_directive($welcome, "body",
20 [ [ "body", [ { }, 0, $in{'wbody'} ] ] ] );
22 $xml = new XML::Parser('Style' => 'Tree');
23 $in{'vcard'} =~ s/\r//g;
24 $vcxml = $xml->parse($in{'vcard'});
26 $register->[1]->[0]->{'notify'} = $in{'rnotify'} ? 'yes' : 'no';
27 &save_directive($register, "instructions",
28 [ [ "instructions", [ { }, 0, $in{'rinstr'} ] ] ] );
29 foreach $f (@register_fields) {
30 if ($in{"rfield_$f"}) {
31 &save_directive($register, $f, [ [ $f, [ { } ] ] ] );
34 &save_directive($register, $f);
37 &error(&text('messages_evcard', $@)) if ($@);
38 &error($text{'messages_etag'}) if (lc($vcxml->[0]) ne 'vcard');
39 &save_directive($jsm, [ $vcard ], [ $vcxml ]);
40 &save_directive($jsm, "vcard2jud",
41 $in{'vcard2jud'} ? [ [ 'vcard2jud', [ { } ] ] ] : [ ] );
43 &save_jabber_config($conf);