/[cvs]/janosch/isdnlog-scripts/isdnlog
ViewVC logotype

Annotation of /janosch/isdnlog-scripts/isdnlog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations)
Wed Oct 20 18:33:19 2010 UTC (14 years, 2 months ago) by joko
Branch: MAIN
CVS Tags: HEAD
initial commit (original from 2005-07-25)

1 joko 1.1 #!/usr/bin/perl
2    
3     use strict;
4     use warnings;
5    
6     # Zeitvariablen initialisieren
7     my $CTIME_String = localtime(time);
8    
9     my $status_datei = '/opt/own/isdnlog/scripts/isdn-web-caller.log';
10     my $cfg_AusgabeZiel = '/srv/www/htdocs/isdn.htm';
11     #$vars_datei = ' /etc/ppp/varsdatei.log';
12    
13     my $text="Anruf erfolgte am: ";
14    
15     #$action = $ARGV[5];
16    
17     #if ($action eq "ip-down.local") {
18     #$text="Abwahl erfolgte am: ";
19     #}
20    
21    
22     # Config Datei Lesen
23     open(DATEI, "<$status_datei") || die "Datei nicht gefunden";
24     my @Zeilen = <DATEI>;
25     close(DATEI);
26    
27     # Config Datei Lesen
28     #open(DATEI, "</etc/ppp/ppp-status.cfg") || die "Datei nicht gefunden";
29     #my @Zeilen = <DATEI>;
30     #close(DATEI);
31    
32    
33    
34     # -------------------------------------------
35     # Aktionen ausfuehren
36     # -------------------------------------------
37     # Auf Uebergabeparameter pruefen: Falls keine vorhanden, dann Anruf nicht verarbeiten!
38     append_call() if (scalar @ARGV);
39     generate_html();
40    
41    
42    
43     # -------------------------------------------
44     # 1. Anruf-Info an Datendatei anhaengen
45     # -------------------------------------------
46    
47     sub append_call {
48    
49     my $localport = $ARGV[1];
50     chomp $localport;
51     $localport =~ s/^\+49/0/;
52     $localport = "SomeCompany" if ($localport =~ "089123456");
53     $localport = "SomePerson" if ($localport =~ "0891234567");
54     $localport = "Fax" if ($localport =~ "08912345678");
55    
56    
57     my $ZeilenCounter = "0";
58    
59     #Zeilenausgabe
60     foreach(@Zeilen) {
61     #print "$_\n";
62     $ZeilenCounter++;
63     #print "$ZeilenCounter\n";
64     }
65     #print "$#Zeilen\n";
66    
67    
68    
69     $Zeilen[$ZeilenCounter] = $CTIME_String;
70     $Zeilen[$ZeilenCounter] = $text . $Zeilen[$ZeilenCounter] . " mit der Rufnummer: " . $ARGV[0] . " von " . $ARGV[2] . " fuer " . $localport . "\n";
71     #$Zeilen[$ZeilenCounter] .= join(";", @ARGV) . "\n";
72    
73     open(DATEI, ">$status_datei") || die "Datei nicht gefunden";
74     print DATEI @Zeilen;
75     close(DATEI);
76    
77     # open(DATEI, ">/tmp/ppp-argv.tmp") || die "Datei nicht gefunden";
78     # print DATEI @ARGV;
79     # close(DATEI);
80    
81     }
82    
83    
84     # -------------------------------------------
85     # 2. HTML-Datei generieren
86     # -------------------------------------------
87    
88     sub generate_html {
89    
90     my @dateparts = split(" ", $CTIME_String);
91     my $day = join(" ", @dateparts[0..2]);
92     my $trenner_flag = 0;
93     my $trenner = '<hr color="red" style="margin-top:2px;margin-bottom:2px;" />';
94     #print "day: '$day'", "\n";
95    
96     open (FH, '>' . $cfg_AusgabeZiel);
97    
98     print FH <<EOT;
99     <html><head><title>ISDN-Status</title></head><body>
100     EOT
101     foreach (reverse @Zeilen) {
102     my $daybreak_flag = ($_ !~ /$day/);
103     # if (not $trenner_flag and not $daybreak_flag) {
104     if (!$trenner_flag && $daybreak_flag) {
105     print FH $trenner;
106     $trenner_flag = 1;
107     }
108     print FH "$_ <br>";
109     }
110     print FH
111     "</body></html>";
112     close (FH);
113    
114     chmod(0644,$cfg_AusgabeZiel);
115    
116     }

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed