/[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

Annotation of /html/vizitka.cgi

Parent Directory Parent Directory | Revision Log Revision Log


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

1 dpavlin 1.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