/[ldap]/html/vizitka.cgi
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /html/vizitka.cgi

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations)
Wed May 24 17:38:45 2000 UTC (23 years, 11 months ago) by dpavlin
Branch: MAIN
naručivanje vizitki

1 #!/usr/local/bin/perl -w
2
3 use Net::LDAP;
4 use Net::LDAP::LDIF;
5 use CGI qw/:standard/;
6 use CGI::Carp qw(fatalsToBrowser);
7
8 # ldap server host
9 $host = 'sun.lan';
10 # e-mail address to mail report to:
11 $email = 'dpavlin@sun.lan';
12 # log file
13 $log = '/tmp/vizitke.log';
14
15 $ldap = Net::LDAP->new($host,port=>389) || die "$@";
16
17 $ldap->bind; # anonymous
18
19 %labels = ('givenname'=>'ime',
20 'sn'=>'prezime',
21 'cn'=>'ime i prezime');
22
23
24 print header(-type => 'text/html;charset=UTF-8'),
25 start_html('NaruĆØivanje vizitki'),
26 start_form,
27 "UpiĀ¹ite svoje ",popup_menu(-name=>'what',
28 -values=>['givenname','sn','cn'],
29 -default=>'cn',
30 -labels=>\%labels),
31 textfield(-name=>'search',-default=>'*'),br,
32 "Broj komada koje naruĆØujete ",
33 textfield(-name=>'kom',-size=>4,-default=>10),br,
34 submit(-value=>"NaruĆØi"),p
35 end_form;
36
37 if(param()) {
38 $mesg = $ldap->search (
39 base => 'o=agrokor.hr',
40 filter => param('what').'='.param('search')
41 );
42 my $max = $mesg->count;
43 if ($max > 1) {
44 param('what','cn'); # reset what='cn'
45 print "Broj osoba koje odgovaraju upitu: ",$mesg->count,br,
46 b("Odaberite samo jednu!"),
47 start_form,
48 hidden(-name=>'what',-value=>'cn'),
49 hidden(-name=>'kom'),
50 p;
51 for($i = 0 ; $i < $max ; $i++) {
52 my $entry = $mesg->entry($i);
53 my ($mail) = $entry->get('mail'); # array, take first
54 my ($cn)=$entry->get('cn');
55 push @radio_vals,$cn;
56 $radio_labels{$cn}=$cn;
57 }
58 print radio_group(-name=>'search',
59 -values=>\@radio_vals,
60 -linebreak=>'true',
61 -default=>\$radio_vals[0],
62 -labels=>\%radio_labels),
63 submit(-value=>"Odaberi"),p
64 end_form;
65 } elsif ($max==0) {
66 print b("Nije naĆ°ena niti jedna osoba");
67 } else {
68 my $entry = $mesg->entry(0);
69 my @data = ( $entry->get('cn') );
70 sub add_opt {
71 ($label,$data) = @_;
72 if ($data) {
73 push @data,"$label $data";
74 }
75 }
76 add_opt "",$entry->get('ou');
77 add_opt "",$entry->get('postaladdress');
78 add_opt "soba: ",$entry->get('roomnumber');
79 add_opt "e-mail: ",$entry->get('mail');
80 add_opt "tel: ",$entry->get('telephonenumber');
81 add_opt "fax: ",$entry->get('facsimiletelephonenumber');
82 # add_opt ": ",$entry->get('');
83 push @data,"Narudzba za ".param("kom")." komada\n";
84 print join("<br>\n",@data);
85 open(MAIL,"|/usr/lib/sendmail $email");
86 print MAIL join("\n",@data);
87 close(MAIL);
88 open(LOG,">> $log");
89 print LOG "\nVrijeme zahtjeva: ".localtime(time)."\n";
90 print LOG join("\t\n",@data);
91 close(LOG);
92 }
93 }

  ViewVC Help
Powered by ViewVC 1.1.26