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

  ViewVC Help
Powered by ViewVC 1.1.26