diff options
Diffstat (limited to 'kioslave/finger/kio_finger.pl')
-rw-r--r-- | kioslave/finger/kio_finger.pl | 175 |
1 files changed, 0 insertions, 175 deletions
diff --git a/kioslave/finger/kio_finger.pl b/kioslave/finger/kio_finger.pl deleted file mode 100644 index 8965ea523..000000000 --- a/kioslave/finger/kio_finger.pl +++ /dev/null @@ -1,175 +0,0 @@ -##!/usr/bin/perl -# -# Copyright Andreas Schlapbach, [email protected], 2001 -# http://iamexwiwww.unibe.ch/studenten/kfinger -# -# Touch at your own risk. - - -# Highlight mail addresses or url - -$mails = '<A HREF="mailto:'; -$urls = '<A HREF="'; -$urlspace = '">'; -$urlend = '</A>'; - -# Highlight various information, configurable via the CSS file, - -$finger = '<CODE class="finger">'; -$domainName = '<CODE class="domainName">'; -$ipNumber = '<CODE class="ipNumber">'; -$os = '<CODE class="os">'; -$username = '<CODE class="username">'; -$directory = '<CODE class="directory">'; -$shell = '<CODE class="shell">'; -$notLoggedIn = '<CODE class="Login">'; -$loggedIn = '<CODE class="noLogin">'; -$newMail = '<CODE class="newMail">'; -$plan = '<CODE class="plan">'; -$noNewMail = '<CODE class="noNewMail">'; -$noPlan = '<CODE class="noPlan">'; -$close = '</CODE>'; - -# Those names get skipped, so if there's a user with such a name, bad luck. - -@keywords=('Welcome','Login','finger','No'); -$keywordlist = join '|', @keywords; - -$FINGERCMD = "$ARGV[0]"; # The complete path to the finger cmd -$CSSFILE = "$ARGV[1]"; # The complete path to the CSS file -$REFRESHRATE = "$ARGV[2]"; # The intervals in seconds until the page gets updated -$HOST = "$ARGV[3]"; # host name -$USER = "$ARGV[4]"; # user name - -$HOST =~ s/&/&/g; -$HOST =~ s/</</g; -$HOST =~ s/>/>/g; - -$USER =~ s/&/&/g; -$USER =~ s/</</g; -$USER =~ s/>/>/g; - -# HTML Header - -print <<HTMLHeader; -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> -<HTML> -<HEAD> - <meta http-equiv="refresh" content="$REFRESHRATE"> - <TITLE>finger $USER\@$HOST</TITLE> - <LINK type="text/css" rel="stylesheet" href="file:$CSSFILE"> -</HEAD> -<BODY> - <TABLE class="mainTable" cellspacing="0"> - <TR> - <TH colspan="1"> - <H1>finger $USER\@$HOST</H1> - </TH> - </TR> - <TR> - <TH> - <TABLE class="courierText" cellpadding="0" cellspacing="2"> -HTMLHeader - -# Run finger command and save it into a buffer - -open(F, "-|") || exec $FINGERCMD, "$USER\@$HOST"; -@lines = <F>; -close(F); - -# Do highlighting using perl regular expressions on every line received. -# Order is important here. - -foreach $output (@lines) - { - $output =~ s/((\w)+\@((\w)+(.))*(\w)+)/$mails$1$urlspace$1$urlend/gi; # Highlight email address - $output =~ s/((http|ftp)(:\/\/)(\S)+)/$urls$1$urlspace$1$urlend/gi; # Highlight urls - $output =~ s/((\d)+\.(\d)+\.(\d)+\.(\d)+)/$ipNumber$1$close/gi; # Highlight IP number - $output =~ s/((\w)+\.(\w)+\.(\w|-)+\s)/$domainName$1$close/gi; # Highlight domain name (\s is important) - $output =~ s/(finger:)/$finger$1$close/gim; # Highlight finger - $output =~ s/(Linux)/$os$1$close/gim; # Highlight Linux - if ($USER) # is $USER nil ? - { - $output =~ s/^Login:\s*(\w*)/Login: $mails$1\@$HOST$urlspace$1$urlend/gi; - $output =~ s/^Login Name:\s*(\w*)/Login Name:$mails$1\@$HOST$urlspace$1$urlend/gi; - $output =~ s/Name:(((\s*)(\w+))+\n)/Name:$username$1$close\n/gi; # Linux - $output =~ s/In real life:(((\s*)(\w+))+\n)/In real life:$username$1$close\n/gi; # Solaris - $output =~ s/^Directory:((\s*)(\/(\w)+)+)/Directory:$directory$1$close/gi; # Highlight Directory - $output =~ s/Shell:((\s*)(\/(\w)+)+)/Shell:$shell$1$close/gi; # Highlight Shell - $output =~ s/(not presently logged)/$notLoggedIn$1$close/gi; - $output =~ s/con (\w*)/con $loggedIn$1$close/gi; - $output =~ s/^(New mail)/$newMail$1$close/gi; - $output =~ s/^(No mail.)/$noNewMail$1$close/gim; - $output =~ s/^(Plan:)/$plan$1$close/gi; - $output =~ s/^(No plan.)/$noPlan$1$close/gim; - } - else - { - $output =~ s/^(\w+)/$mails$1\@$HOST$urlspace$1$urlend/m unless ($output =~ m/$keywordlist/m); - } - # line consists of white space only? - if ($output =~ m/\S/gi) - { - print " <TR><TD><PRE>$output</PRE></TD></TR>\n"; - } - else - { - print " <TR><TD><PRE> </PRE></TD></TR>\n"; - } -} - -print " </TABLE>\n"; -print " </TH>\n"; - -# Finger-Talk options - -if ($USER) # is $USER nil ? -{ -print <<UserQuery; - </TR> - <TR> - <TH class="commandText" colspan="2"> - <A HREF='finger://$USER\@$HOST'>finger</A> - </TH> - </TR> -UserQuery -} -else -{ -print <<HostQueryHead; - <TH> - <TABLE class="courierText" cellpadding="0" cellspacing="2"> -HostQueryHead - - @lines = split /^/m, $buffer; - foreach $output2 (@lines) - { - if ($output2 =~ m/^(\w+)/gi and not ($output2 =~ m/$keywordlist/m)) - { - $USER = $&; - print " <TR><TD><PRE><A HREF='finger://$USER\@$HOST'>finger</A>\n</PRE></TD></TR>\n"; - # - <A HREF='talk://$USER\@$HOST'>talk</A>\n</PRE></TD></TR>\n"; - } - else - { - print " <TR><TD><PRE> </PRE></TD></TR>\n"; - } - } - -print <<HostQueryTail; - </TABLE> - </TH> - </TR> -HostQueryTail -} - -# HTMLTail - -print <<HTMLTail; - <TR> - <TH class="niceText">refresh rate: $REFRESHRATE seconds.</TH> - </TR> -</TABLE> -</BODY> -</HTML> -HTMLTail |