]> jspc29.x-matter.uni-frankfurt.de Git - xmatterweb.git/commitdiff
first page
authorJan Michel <j.michel@gsi.de>
Thu, 13 Feb 2014 15:47:58 +0000 (16:47 +0100)
committerJan Michel <j.michel@gsi.de>
Thu, 13 Feb 2014 15:47:58 +0000 (16:47 +0100)
WebConfig.pm [new file with mode: 0644]
documents.htm [new file with mode: 0644]
frame.pm [new file with mode: 0755]
httpi [new file with mode: 0755]
index.htm [new file with mode: 0644]
index.pl [new file with mode: 0755]
logo.png [new file with mode: 0644]
main.htm [new file with mode: 0644]
meetings.htm [new file with mode: 0644]
styleold.css [new file with mode: 0644]

diff --git a/WebConfig.pm b/WebConfig.pm
new file mode 100644 (file)
index 0000000..b50e840
--- /dev/null
@@ -0,0 +1,37 @@
+#!/usr/bin/perl
+
+
+
+###################################
+##Content Menu Setup
+###################################
+
+#Entries for top menu
+our @toplink = (["main","Home"],
+               );
+
+               
+               
+            
+#Entries for sidebar menu
+our $menues = {
+
+  main  => [
+                ["main", "Home"],
+                ["meetings","Meetings & Conferences"],
+                ["documents","Documents"],
+                ],
+         
+};
+
+
+#Assign a menu to each file that shall not show the main menu
+#file name => menue name
+our $menuselect = {
+  "default" => "main",
+  };
+  
+           
+           
+1;
+
diff --git a/documents.htm b/documents.htm
new file mode 100644 (file)
index 0000000..ae65ba0
--- /dev/null
@@ -0,0 +1,17 @@
+<div id="content">
+<h3>NOTE !!!</h3>
+Dear Colleagues, <br>
+<br>
+this &nbsp;page is to store links to the most improtant documens in
+PDF !!!, XLS, DOC format.
+Please do not edit too &nbsp;much the HTML code since we will have
+the same
+&nbsp;problem as we had with Wiki: we had everything but impossible
+to find.
+<br>
+<br>
+All the best,
+<br>
+Michal
+</div>
+
diff --git a/frame.pm b/frame.pm
new file mode 100755 (executable)
index 0000000..d9cf715
--- /dev/null
+++ b/frame.pm
@@ -0,0 +1,76 @@
+#!/usr/bin/perl -w\r
+\r
+\r
+use WebConfig;\r
+\r
+           \r
+           \r
+           \r
+           \r
+           \r
+###################################\r
+##Functions\r
+###################################\r
+\r
+\r
+sub makeframe {\r
+my ($select) = @_;\r
+my $menu = $menuselect->{"default"};\r
+$menu = $menuselect->{$select} if exists $menuselect->{$select};\r
+\r
+\r
+print <<HDOC;\r
+<!DOCTYPE html>\r
+<html lang="en">\r
+\r
+<head>\r
+ <title>CBM-MVD</title>\r
+ <link rel="stylesheet" type="text/css" href="styleold.css">\r
+ <link rel="shortcut icon" href="favicon_IKF.ico">\r
+ <meta  charset="UTF-8"/>\r
+</head>\r
+\r
+<body>\r
+\r
+<div id="head">\r
+<h1 class="header">X-Matter</h1>\r
+\r
+<ul id="menu">\r
+HDOC\r
+\r
+while (my ($k) = each @toplink) {\r
+  print "<li><a href=\"index.pl?$toplink[$k]->[0]\">$toplink[$k]->[1]</a>\n";\r
+  }\r
+\r
+\r
+print <<HDOC;\r
+</ul>\r
+\r
+\r
+<h2 class="header">A collection of links and information</h2>\r
+</div>\r
+<div id="main">\r
+HDOC\r
+\r
+print "<dl id=\"navigation\"><dt>\n";\r
+print "\n<dd><ul>\n";\r
+while (my ($k) = each $menues->{$menu})  {\r
+  print "<li><a href=\"index.pl?$menues->{$menu}->[$k]->[0]\">$menues->{$menu}->[$k]->[1]</a>\n";\r
+  }\r
+print "</ul></dl>\r\n";\r
+}\r
+\r
+\r
+\r
+sub makefoot() {\r
+print <<HDOC;\r
+</div>\r
+<!--<div id="footer"></div>-->\r
+\r
+\r
+</body>\r
+</html>\r
+HDOC\r
+}\r
+\r
+1;\r
diff --git a/httpi b/httpi
new file mode 100755 (executable)
index 0000000..6461d10
--- /dev/null
+++ b/httpi
@@ -0,0 +1,502 @@
+#!/usr/bin/perl
+use POSIX qw(SIGALRM SIGTERM sigaction);
+$VERSION = "1.7 (Demonic/Linux)";
+
+# HTTPi Hypertext Tiny Truncated Process Implementation
+# Copyright 1999-2010 Cameron Kaiser and Contributors # All rights reserved
+# Please read LICENSE # Do not strip this copyright message.
+
+###############################################################
+# WHITE HATS ONLY BELOW THIS POINT -- SEE DOCUMENTATION FIRST #
+###############################################################
+
+%system_content_types =
+       ("html" => "text/html",
+        "htm" => "text/html",
+         "pl" => "text/html",
+        "txt" => "text/plain",
+        "xml" => "text/xml",
+        "xsl" => "text/xml",
+        "xhtml" => "application/xhtml+xml",
+        "css" => "text/css",
+        "gif" => "image/gif",
+        "jpeg" => "image/jpeg",
+        "jpg" => "image/jpeg",
+        "bmp" => "image/bmp",
+        "png" => "image/png",
+        "tif" => "image/tiff",
+        "tiff" => "image/tiff",
+        "ico" => "image/x-icon",
+        "svg" => "image/svg+xml",
+        "svgz" => "image/svg+xml",
+        "wbmp" => "image/vnd.wap.wbmp",
+        "wbm" => "image/vnd.wap.wbmp",
+        "xbm" => "image/x-xbitmap",
+        "mp3" => "audio/x-mpeg",
+        "wma" => "audio/x-ms-wma",
+        "wav" => "audio/x-wav",
+        "au" => "audio/basic",
+        "aif" => "audio/x-aiff",
+        "aiff" => "audio/x-aiff",
+        "ogg" => "audio/x-ogg", 
+        "oga" => "audio/x-ogg",
+        "mid" => "audio/midi",
+        "wma" => "audio/x-ms-wma",
+        "mpeg" => "video/mpeg",
+        "mpg" => "video/mpeg",
+        "aac" => "audio/aac",
+        "ogv" => "video/x-ogg",
+        "ogx" => "application/x-ogg",
+        "avi" => "video/x-msvideo",
+        "wmv" => "video/x-ms-wmv",
+        "asf" => "video/x-ms-asf",
+        "mov" => "video/quicktime",
+        "mp4" => "video/mp4",
+        "rv" => "video/vnd.m-realvideo",
+        "rm" => "application/vnd.m-realmedia",
+        "ra" => "audio/vnd.m-realaudio",
+        "ram" => "audio/vnd.m-realaudio",
+        "pdf" => "application/pdf",
+        "fdf" => "application/vnd.fdf",
+        "class" => "application/octet-stream",
+        "jar" => "application/octet-stream",
+        "js" => "application/x-javascript",
+        "lnk" => "application/x-hyperlink",
+        "prg" => "application/x-c64-prg-binary",
+        "d64" => "application/x-c64-disk-image",
+        "tar" => "application/x-tar",
+        "sit" => "application/x-stuffit",
+        "Z" => "application/x-compress",
+        "gz"  => "application/x-gzip",
+        "dmg" => "application/octet-stream",
+        "img" => "application/octet-stream",
+        "lzh" => "application/octet-stream",
+        "lha" => "application/octet-stream",
+        "exe" => "application/octet-stream",
+        "com" => "application/octet-stream",
+        "zip" => "application/x-zip-compressed",
+        "hqx" => "application/x-binhex",
+        "swf" => "x-shockwave-flash",
+        "flv" => "video/x-flv",
+
+        "bin" => "application/octet-stream");
+
+# comment in to enable logs
+#$logfile = "./htdocs/access.log";
+$path = ".";
+$sockaddr = 'S n a4 x8';
+
+$server_host = $ARGV[0] || 'localhost';
+$server_port = $ARGV[1] || 1234;
+
+die("$0 [host] [port] required. got >$server_host< >$server_port<") unless ($server_host and $server_port); 
+   
+%content_types =
+       ("html" => "text/html",
+        "htm" => "text/html",
+         "pl"  => "text/html",
+    "shtml" => "text/html"
+        );
+%restrictions = (
+        "/nw" => "^10\.##^Mozilla#MSIE",
+        "/status" => "####voyeur:daNrZR3TcSwD2",
+        "/" => "###(NPBot|WebZIP|HTTrack|eCatch|Offline Explorer|UdmSearch|WebCopier|internetseer|MSIECrawler|SuperBot|LinkWalker|Tutorial Crawler|WebReaper)",
+       );
+               # See documentation for interpreting this string.
+
+$headers = <<"EOF";
+Server: HTTPi/$VERSION
+MIME-Version: 1.0
+EOF
+
+
+%content_types = (%system_content_types, %content_types);
+undef %system_content_types;
+
+#if ($pid = fork()) { exit; }
+$0 = "dhttpi: binding port ...";
+$bindthis = pack($sockaddr, 2, $server_port, pack('C4', 0, 0, 0, 0));
+socket(S, 2, 1, 6);
+setsockopt(S, 1, 2, 1);
+bind(S, $bindthis) || die("$0: while binding port $server_port:\n\"$!\"\n");
+listen(S, 128);
+$0 = "dhttpi: connected and waiting ANY:$server_port";
+
+$statiosuptime = time();
+
+sub sock_to_host {
+       return ($cache_hn, $cache_port, $cache_ip)
+               if (length($cache_ip));
+
+       return (undef, undef, undef) if (!$sock);
+       my($AFC, $cache_port, $thataddr, $zero) = unpack($sockaddr, $sock);
+       $cache_ip = join('.', unpack("C4", $thataddr));
+       $cache_hn =
+               gethostbyaddr($thataddr, 2) ||
+               $cache_ip;
+       return ($cache_hn, $cache_port, $cache_ip);
+}
+
+
+sub htsponse {
+       ($currentcode, $currentstring) = (@_);
+       return if (0+$httpver < 1);
+       my($what) = <<"EOF";
+HTTP/$httpver $currentcode $currentstring
+${headers}Date: $rfcdate
+EOF
+       $what =~ s/\n/\r\n/g;
+       print STDOUT $what;
+       &hthead("Connection: close") if (0+$httpver > 1);
+}
+
+sub hthead {
+       my($header, $term) = (@_);
+       return if (0+$httpver < 1);
+       print STDOUT "$header\r\n" , ($term) ? "\r\n" : "";
+}
+
+sub htcontent {
+       my($what, $ctype, $mode) = (@_);
+       ($contentlength) = $mode || length($what);
+       &hthead("Content-Length: $contentlength");
+       &hthead("Content-Type: $ctype", 1);
+       return if ($method eq 'HEAD' || $mode);
+       print STDOUT $what;
+}
+
+sub log {
+       if ($logfile && open(J, ">>$logfile")) {
+               my $q = $address . (($variables) ? "?$variables" : "");
+               $contentlength += 0;
+               $contentlength = 0 if ($method eq 'HEAD');
+               my ($hostname, $port, $ip) = &sock_to_host();
+               $hostname ||= "-";
+               $httpuser ||= "-";
+               print J <<"EOF";
+$hostname - $httpuser [$date] "$method $q HTTP/$httpver" $currentcode $contentlength "$httpref" "$httpua"
+EOF
+               close(J);
+       }
+}
+
+
+sub bye { exit; }
+sub byebye { kill(9,$secondary_pid) if ($secondary_pid); exit; }
+
+sub dead {
+       &htsponse(500, "Server Error");
+       &hterror("Server Error", <<"EOF");
+The server cannot comply with your request for resource <tt>$::address</tt>.
+Please attempt to notify the administrators.
+<p>Useful(?) debugging information:
+<pre>
+@_
+</pre>
+EOF
+       &log; exit;
+}
+
+sub defaultsignals {
+       $SIG{'__DIE__'} = \&dead;
+       sigaction SIGALRM, new POSIX::SigAction \&bye
+               or die "sigalrm failed: $!\n";
+       sigaction SIGTERM, new POSIX::SigAction \&byebye
+               or die "sigterm failed: $!\n";
+}
+&defaultsignals;
+
+sub alarmsignals {
+       undef $SIG{'__DIE__'};
+       sigaction SIGALRM, new POSIX::SigAction sub { die; }
+               or die "sigalrm failed: $!\n";
+}
+
+sub master {
+       $0 = "dhttpi: handling request";
+$sock = getpeername(STDIN);
+$rfcdate = &rfctime(scalar gmtime, 1);
+$date = scalar localtime;
+($dow, $mon, $dt, $tm, $yr) = ($date =~
+       m/(...) (...) (..) (..:..:..) (....)/);
+$dt += 0;
+$dt = substr("0$dt", length("0$dt") - 2, 2);
+$date = "$dt/$mon/$yr:$tm +0000"; 
+
+select(STDOUT); $|=1; $address = 0; 
+alarm 5;
+while (<STDIN>) {
+       if(/^([A-Z]+)\s+([^\s]+)\s+([^\s\r\l\n]*)/) {
+               $method = $1;
+               $address = $2; 
+               $httpver = $3;
+               $httpref = '';
+               $httpua = '';
+               $httpver = ($httpver =~ m#HTTP/([0-9]\.[0-9]+)#) ?
+                       ($1) : (0.9);
+               $address =~ s#^http://[^/]+/#/#;
+               $0 = $execstring = "dhttpi: $method $address $httpver";
+               next unless ($httpver < 1);
+       } else {
+               s/[\r\l\n\s]+$//;
+               (/^Host:\s+(.+)/i) && ($httphost = substr($1, 0, 255))
+                       && ($httphost =~ s/:\d+$//);
+               (/^Referer:\s+(.+)/i) && ($httpref = substr($1, 0, 1024));
+               (/^User-agent:\s+(.+)/i) && ($httpua = substr($1, 0, 1024));
+               (/^Content-length:\s+(\d+)/i) &&
+                       ($ENV{'CONTENT_LENGTH'} = $httpcl = 0+$1);
+               (/^Content-type:\s+(.+)/i) &&
+                       ($ENV{'CONTENT_TYPE'} = $httpct = substr($1, 0, 255));
+               (/^Expect:\s+/) && ($expect = 1);
+               (/^Cookie:\s+(.+)/i) &&
+                       ($ENV{'HTTP_COOKIE'} = substr($1, 0, 16384));
+               (/^Authorization:\s+Basic (.+)/i) &&
+                       ($httprawu = substr($1, 0, 1024));
+               (/^Range:\s+(.+)/i) &&
+                       ($ENV{'CONTENT_RANGE'} = substr($1, 0, 255));
+               (/^If-Modified-Since:\s+(.+)/i) &&
+                       ($modsince = $ENV{'HTTP_IF_MODIFIED_SINCE'} =
+                               substr($1, 0, 255));
+               (/^Accept:\s+(.+)/i) &&
+                       ($ENV{'HTTP_ACCEPT'} = substr($1, 0, 255));
+               (/^Accept-([a-zA-Z0-9]+):\s+(.+)/i) &&
+                       ($ENV{'HTTP_ACCEPT_'.uc(substr($1, 0, 16))} =
+                               substr($2, 0, 255));
+               (/^X-Requested-With:\s+(.+)/i) &&
+                       ($ENV{'HTTP_X_REQUESTED_WITH'} = substr($1, 0, 1024));
+               next unless (/^$/);
+       }
+       if ($expect) {
+               &htsponse(417, "Expectation Failed");
+               &hterror("Expectation Failed",
+                       "The server does not support this method.");
+               &log; exit;
+       }
+       if (!length($address) || (0+$httpver > 1 && !$httphost)) {
+               &htsponse(400, "Bad Request");
+               &hterror("Bad Request",
+                       "The server cannot understand your request.");
+               &log; exit;
+       }
+       if ($method !~ /^(GET|HEAD|POST)$/) {
+               &htsponse(501, "Not Implemented");
+               &hterror("Not Implemented",
+                       "Only GET, HEAD and POST are supported.");
+               &log; exit;
+       }
+       ($address, $variables) = split(/\?/, $address);
+       $address =~ s/%([0-9a-fA-F]{2})/pack("H2", $1)/eg;
+       $address=~ s#^/?#/#;
+       1 while $address =~ s#/\.(/|$)#\1#;
+        1 while $address =~ s#/[^/]*/\.\.(/|$)#\1#;
+       1 while $address =~ s#^/\.\.(/|$)#\1#;
+       $fail = 0;
+       J: foreach(sort { length $a <=> length $b }
+                       keys %restrictions) {
+               next if ($address !~ /^$_/);
+               ($allowip, $denyip, $allowua, $denyua, $auser) =
+                       split(/#/, $restrictions{$_});
+               if ($allowip || $denyip) {
+                       ($hostname, $port, $ip) = &sock_to_host();
+                       ($allowip && $ip !~ /$allowip/) && ($fail = 1,
+                               last J);
+                       ($denyip && $ip =~ /$denyip/) && ($fail = 1,
+                               last J);
+               }
+               ($allowua && $httpua !~ /$allowua/) &&
+                       ($fail = 2, last J);
+               ($denyua && $httpua =~ /$denyua/) &&
+                       ($fail = 2, last J);
+       }
+       if ($fail) {
+               &htsponse(403, "Forbidden");
+               if ($fail == 1) {
+                       &hterror("Forbidden (Client Disallowed)", <<"EOF");
+Your network address (<i>$ip</i>) is not allowed to access this resource.
+EOF
+                       &log; exit;
+               } else {
+                       &hterror("Forbidden (Browser Disallowed)", <<"EOF");
+The browser you are using (<i>$httpua</i>) is not capable of or
+is not allowed access to this resource.
+EOF
+                       &log; exit;
+               }
+       }
+       if ($auser) {
+               $httprawu =~ tr#A-Za-z0-9+/##cd;
+               $httprawu =~ tr#A-Za-z0-9+/# -_#;
+               $httprawu = unpack("u", pack("c", 32+0.75*length($httprawu))
+                       . $httprawu);
+               ($httpuser, $httppw) = split(/:/, $httprawu);
+               $fail = 1;
+               foreach $user (split(/,/, $auser)) {
+                       ($user, $pw) = split(/:/, $user);
+                       ($fail = 0, last) if ($user eq $httpuser &&
+                               crypt($httppw, substr($pw, 0, 2)) eq $pw);
+               }
+               if ($fail) {
+                       $httpuser = '';
+                       &htsponse(401, "Authorization Required");
+                       &hthead("WWW-Authenticate: Basic realm=\"$address\"");
+                       &hterror("Authorization Required", <<"EOF");
+You must provide a username and password to use this resource. Either you
+entered this information incorrectly, or your browser does not know how to
+present the credentials required.
+EOF
+                       &log; exit;
+               }
+       }
+
+       alarm 0;
+
+
+
+
+       $raddress = "$path$address"
+       ;
+       1 while ($raddress =~ s#//#/#);
+       &hterror301("http://$server_host:$server_port$address/")
+               if ($address !~ m#/$# && -d $raddress);
+       $raddress = (-r "${raddress}index.shtml") ?
+               "${raddress}index.shtml" : "${raddress}index.html"
+                       if (-d $raddress);
+       IRED: ($hostname, $port, $ip) = &sock_to_host();
+       if(!sysopen(S, $raddress, 0)) { &hterror404; } else {
+               if ((-x $raddress) 
+                       ) {
+                       $currentcode = 100; &nsecmodel;
+                       $ENV{'REQUEST_METHOD'} = $method;
+                       $ENV{'SERVER_NAME'} = $server_host;
+                       $ENV{'SERVER_PROTOCOL'} = "HTTP/$httpver";
+                       $ENV{'SERVER_SOFTWARE'} = "HTTPi/$VERSION";
+                       $ENV{'SERVER_PORT'} = "$server_port";
+                       $ENV{'SERVER_URL'} = "http://$server_host:$server_port/";
+                       $ENV{'SCRIPT_FILENAME'} = $raddress;
+                       $ENV{'SCRIPT_NAME'} = $address;
+                       $ENV{'REMOTE_HOST'} = $hostname;
+                       $ENV{'REMOTE_ADDR'} = $ip;
+                       $ENV{'REMOTE_PORT'} = $port;
+                       $ENV{'QUERY_STRING'} = $variables;
+                       $ENV{'HTTP_USER_AGENT'} = $httpua;
+                       $ENV{'HTTP_REFERER'} = $httpref;
+                       undef $pid;
+                       if ($pid = fork()) { kill 15, $$; exit; }
+                       elsif (!defined($pid)) {
+                               die
+                       "temporary(?) fork error, please retry request: $!\n";
+                       } else {
+                               require $raddress;
+                               exit;
+                       }
+               }
+               ($x,$x,$x,$x,$x,$x,$x,$length,$x,$mtime) = stat(S);
+               $ctype = 0;
+               foreach(keys %content_types) {
+                       if ($raddress =~ /\.$_$/i) {
+                               $ctype = $content_types{$_};
+                       }
+               }
+               $mtime = &rfctime($mtime);
+SERVEIT:       
+               if ($mtime eq $modsince) {
+                       &htsponse(304, "Not Modified");
+                       &hthead("Last-Modified: $mtime", 1);
+                       &log; exit;
+               }
+               $ctype ||= 'text/plain';
+               if ($pid = fork()) { kill 15, $$; exit; }
+               $contentlength ||= $length;
+                       &htsponse(200, "OK");
+                       &hthead("Last-Modified: $mtime");
+                       &htcontent("", $ctype, $length);
+                       &nsecmodel;
+                       $bytecount = 0;
+                       unless ($method eq 'HEAD') {
+                               while(!eof(S)) {
+                                       read(S, $q, 32768);
+                                       print STDOUT $q;
+                                       $bytecount += 32768;
+                                       $0 = $execstring .
+                                               " ($bytecount bytes sent)";
+                               }
+                       }
+               alarm 0;
+       }
+       exit;
+}
+
+exit;
+}
+
+
+sub nsecmodel {
+       &log;
+       ($x,$x,$x,$x,$uid,$gid) = stat(S);
+       (!$uid || !$gid || $uid < 2 ) &&
+               die "resource is root-owned, secured or not stat-able\n";
+       if (!$<) {
+               ($) = "$gid $gid") || die "can't set egid to $gid";
+               ($> = $uid) || die "can't set euid to $uid";
+               ($( = "$gid $gid") || die "can't set rgid to $gid";
+               ($< = $uid) || die "can't set ruid to $uid";
+       }
+}
+
+sub rfctime {
+       my $mtime = shift;
+       $mtime = (scalar gmtime $mtime) if (!(shift));
+       my ($dow, $mon, $dt, $tm, $yr) =
+               ($mtime =~ m/(...) (...) (..) (..:..:..) (....)/);
+       $dt += 0; $yr += 0;
+       return "$dow, $dt $mon $yr $tm GMT";
+}
+
+sub hterror {
+       my($errstr, @expl) = (@_);
+       &htcontent(<<"EOF", "text/html");
+<html>
+<body>
+<h1>$errstr</h1>
+@expl
+<hr>
+<address><a href = "http://httpi.floodgap.com/">httpi/$VERSION</a>
+by Cameron Kaiser</address>
+</body>
+</html>
+EOF
+       }
+
+sub hterror404 {
+       &htsponse(404, "Not Found");
+       &hterror("Not Found",
+               "The resource <tt>$address</tt> was not found on this system.");
+       &log; exit;
+}
+
+sub hterror301 {
+       &htsponse(301, "Moved Permanently");
+       &hthead("Location: @_");
+       &hterror("Resource Moved Permanently",
+               "This resource has moved <a href = \"@_\">here</a>.");
+       &log; exit;
+}
+
+
+$0 = "dhttpi: on ANY:$server_port, ready!";
+$master_pid = $$;
+for (;;) {
+       if ($secondary_pid = fork()) {
+               waitpid($secondary_pid, 0);
+               $0 = "dhttpi: on ANY:$server_port, last request " .
+                       scalar localtime;
+       } else {
+               $0 = "dhttpi (child of $master_pid): waiting for connect";
+               $addr=accept(NS,S);
+               open(STDIN, "<&NS");
+               open(STDOUT, ">&NS");
+               &defaultsignals;
+               &master;
+               exit;
+       }
+}
diff --git a/index.htm b/index.htm
new file mode 100644 (file)
index 0000000..ae65ba0
--- /dev/null
+++ b/index.htm
@@ -0,0 +1,17 @@
+<div id="content">
+<h3>NOTE !!!</h3>
+Dear Colleagues, <br>
+<br>
+this &nbsp;page is to store links to the most improtant documens in
+PDF !!!, XLS, DOC format.
+Please do not edit too &nbsp;much the HTML code since we will have
+the same
+&nbsp;problem as we had with Wiki: we had everything but impossible
+to find.
+<br>
+<br>
+All the best,
+<br>
+Michal
+</div>
+
diff --git a/index.pl b/index.pl
new file mode 100755 (executable)
index 0000000..7dafe84
--- /dev/null
+++ b/index.pl
@@ -0,0 +1,36 @@
+#!/usr/bin/perl -w
+if ($ENV{'SERVER_SOFTWARE'} =~ /HTTPi/i) {
+  print "HTTP/1.0 200 OK\n";
+  print "Content-type: text/html\n\n";
+  }
+else {
+  print "Content-type: text/html\n\n";
+  }
+
+use warnings;
+use CGI::Carp qw(fatalsToBrowser);
+use frame;
+
+my $file = $ENV{'QUERY_STRING'};
+$file = "main" unless (defined $file && $file =~ /^\w+$/ && -e "$file.htm");
+
+
+
+makeframe($file);
+print "<div id=\"content\">\n\n";
+
+my $MYF;
+open ($MYF, "<$file.htm");
+if($MYF) {
+  while (<$MYF>){
+    print $_;
+    }
+  }
+
+print "\n\n</div>";
+
+
+makefoot();
+
+
+1;
diff --git a/logo.png b/logo.png
new file mode 100644 (file)
index 0000000..9a2a1d9
Binary files /dev/null and b/logo.png differ
diff --git a/main.htm b/main.htm
new file mode 100644 (file)
index 0000000..ae65ba0
--- /dev/null
+++ b/main.htm
@@ -0,0 +1,17 @@
+<div id="content">
+<h3>NOTE !!!</h3>
+Dear Colleagues, <br>
+<br>
+this &nbsp;page is to store links to the most improtant documens in
+PDF !!!, XLS, DOC format.
+Please do not edit too &nbsp;much the HTML code since we will have
+the same
+&nbsp;problem as we had with Wiki: we had everything but impossible
+to find.
+<br>
+<br>
+All the best,
+<br>
+Michal
+</div>
+
diff --git a/meetings.htm b/meetings.htm
new file mode 100644 (file)
index 0000000..ae65ba0
--- /dev/null
@@ -0,0 +1,17 @@
+<div id="content">
+<h3>NOTE !!!</h3>
+Dear Colleagues, <br>
+<br>
+this &nbsp;page is to store links to the most improtant documens in
+PDF !!!, XLS, DOC format.
+Please do not edit too &nbsp;much the HTML code since we will have
+the same
+&nbsp;problem as we had with Wiki: we had everything but impossible
+to find.
+<br>
+<br>
+All the best,
+<br>
+Michal
+</div>
+
diff --git a/styleold.css b/styleold.css
new file mode 100644 (file)
index 0000000..38afd83
--- /dev/null
@@ -0,0 +1,288 @@
+/*Farben
+oliv:               #b2c979
+beige             #ffe
+dark blue       #405774
+light blue       #ddeaf4
+lightest blue  #e5f2fc
+
+*/
+
+html {
+   height:100%;
+   width:100%;
+   min-width:700px;
+   max-width:1300px;
+   margin:0;
+   padding:0;
+  }
+
+body {
+  margin:0;
+  padding:0;
+  background-color: #000000;
+  font-size: .9em;
+  width:100%;
+  height:100%;
+  font-family: Verdana, Arial, Helvetica, SunSans-Regular, Sans-Serif;
+  color:#c0c0c0;
+  text-align: center;
+}
+
+
+/******************************
+ * Design Elements
+ *****************************/ 
+
+#head {
+   float:left;
+   width:100%;
+   }
+
+#logo {
+   left:0px;
+   top:0px;
+   height:150px;
+   background:#000000;
+   position:absolute;
+   z-index:23;
+   }   
+
+#logo img, #logo img {
+  border:none;
+}
+
+
+   
+.header {
+   display:block;
+   overflow:hidden;
+   text-align:left;
+   height:73px;
+   background: #000000;
+   z-index:21;
+   position:absolute;
+   right:0;
+   font-family: DejaVu Sans, Verdana, Arial, Helvetica, SunSans-Regular, Sans-Serif;
+   color:#00b000;
+   margin:1;
+   line-height:100%;
+   border: #c0c0c0;
+   }
+
+body>#head>.header {
+   left:0;
+   }
+
+h1.header {
+   top:0px;
+   padding:12px 0 3px 200px;
+   font-size:25px;
+   border-width:1px 0 0 0;
+   }
+   
+h2.header {
+   top:72px;
+   padding:10px 0 0 200px;
+   border-width:0 0 1px 0;
+   font-weight:normal;
+   font-size:20px;
+   }
+
+
+
+
+/******************************
+ * Top Menue
+ *****************************/        
+   
+#menu {
+   text-align:right;
+   position:absolute;
+   top:155px;
+   left:190px;
+   right:0;
+   margin:0px 0 0 0;
+   padding:0 0 5px 0;
+   z-index:30;
+   }
+
+#menu li {
+   list-style:none;
+   display:inline;
+   padding:0 20px;
+   margin:0px 5px;
+   border:1px solid black;
+   background:#000000;
+   color:#00b000;
+   }
+    
+#menu li:hover {
+   background:#ddeaf4;
+   color:#405774;
+   }
+
+   
+   
+/******************************
+ * Main Content
+ *****************************/        
+
+#content { 
+  padding: 0px;
+  text-align: left;
+  margin:90px 40px 40px 100px;
+  line-height:140%;
+  overflow: auto;
+  text-align:justify;
+  z-index:3;
+  margin-bottom: -10000px; padding-bottom: 10000px;
+  min-width:100px;
+  min-height:600px;
+  }
+
+#main {
+   margin:0;
+   padding:0 0 20px 0;
+   z-index:2;
+   overflow:hidden;
+   background:transparent;
+   }
+
+
+h3, h4 {
+   border-bottom:1px dotted #405774;
+   }
+
+/******************************
+ * Design Elements
+ *****************************/ 
+
+a {
+  text-decoration:none;
+  color:#23c;
+}
+
+a:hover {
+  text-decoration:none;
+  color:#aa5;
+}
+
+/******************************
+ * Left Menue
+ *****************************/        
+   
+#navigation{
+   display:block;
+   background:#000000;
+   width:170px;
+   float:left;
+   margin-top:0px;
+   margin-left:0px;
+   padding-top:180px;
+   padding-bottom:100px;
+   font-family: DejaVu Sans, Verdana, Arial, Helvetica, SunSans-Regular, Sans-Serif;
+   color:#00b000;
+   font-weight:bold;
+   z-index:5;
+   margin-bottom: -2000px; padding-bottom: 2000px;
+   }
+
+#navigation a, #menu a{
+   color:inherit;
+   text-decoration:none;
+   }
+   
+#navigation dt {
+   font-weight:bold;
+   font-size:110%;
+   margin:10px 0 2px 0;
+   }
+   
+#navigation dd {
+   margin:0 0 20px 10px;
+   padding:0;
+   }
+   
+#navigation ul {
+   font-size:1em;
+   margin:10px 10px 0 0;
+   padding:0;
+   border-top:1px solid white;
+   }
+
+#navigation li:hover {
+   background:#e5f2fc;
+   }
+   
+#navigation li {
+   list-style:none;
+   margin:0;
+   padding:5px 0 5px 5px;
+   border-bottom:1px solid white;
+   }
+
+/******************************
+ * Lists
+ *****************************/     
+
+ul, dl {
+  font-size:.9em;
+}
+
+dt {
+   font-weight:bold;
+   }
+
+ul li{
+  list-style:circle;
+}
+   
+/******************************
+ * Preformatted code
+ *****************************/   
+
+pre {
+   background:#eee;
+   width:90%;
+   overflow:auto;
+   border:1px solid #ccc;
+   line-height:110%;
+   }
+   
+/******************************
+ * Tables
+ *****************************/   
+   
+table {
+  border:1px solid #ccc;
+  padding:0;
+  background:#000000;
+  margin-bottom:20px;
+  border-collapse:collapse;
+  font-size:.9em;
+}
+
+tr:nth-child(even) {
+  background:#000000;
+}
+tr:nth-child(odd) {
+  background:#000000;
+}
+tr:hover {
+  background:#000000;
+}
+
+
+td {
+  border-right:1px solid #ccc;
+}
+
+table th {
+  border-bottom: 1px solid #ccc;
+}
+
+table td, table th {
+  padding:2px 10px;
+}