Index: ossp-pkg/tabea/tabea.cgi RCS File: /v/ossp/cvs/ossp-pkg/tabea/tabea.cgi,v rcsdiff -q -kk '-r1.8' '-r1.9' -u '/v/ossp/cvs/ossp-pkg/tabea/tabea.cgi,v' 2>/dev/null --- tabea.cgi 2002/05/08 07:38:18 1.8 +++ tabea.cgi 2002/05/08 15:59:21 1.9 @@ -36,6 +36,8 @@ $|++; my $pwdfile = "./tabea.pw"; +my $configsdir = "./tabea.d"; +my $tabeauser = "tabea"; # establish my configuration my $MY = {}; @@ -84,35 +86,6 @@ } } -######################################################################################## -sub validpassword { -######################################################################################## - my ($username, $password) = @_; - - my $returnvalue = 0; - my $uname; - my $pwd; - my $pwdin; - - $pwdin = IO::File->new("<$pwdfile"); - if(defined $pwdin) { - while(<$pwdin>) { - $_ =~ s|^(\w+):(\w+)$|{$uname=$1; $pwd=$2}|eg; - ( $uname =~ $username ) && do { # check the password - if (crypt($password, $pwd) eq $pwd){ - $returnvalue = 1; - } - } - } - } - - $pwdin->close(); - - return $returnvalue; -} -######################################################################################## - - my $page = ''; if ($form eq '') { @@ -152,46 +125,98 @@ } elsif ($form eq 'login') { # enter Select form + &validpassword($username, $password, $pwdfile) || print STDOUT $cgi->redirect(-uri => $cgi->url(-full => 1), -type => "text/html"); + my $templatesfiles = &readdir($configsdir."/".$tabeauser); + my $configsfiles = &readdir($configsdir."/".$username); + + + my @templateshash = split(/ /,$templatesfiles); + my $templateslist = ""; + foreach (@templateshash) { + $templateslist .= "'$_', "; + } + # $templateslist .= "]"; + # $page .= $cgi->startform( -method => "POST", -action => $cgi->url(-full => 1)) . $cgi->hidden(-name => 'form', -default => ['']) . - -# "" . -# " " . -# " " . -# " " . -# " " . -# " " . -# " " . -# " " . -# " " . -# " " . -# " " . -# " " . -# "
Username:" . -# $cgi->textfield( -# -name => 'username', -# -default => $username, -# -size => 20, -# -maxlength => 8 -# ) . -# "
Password:" . -# $cgi->password_field( -# -name => 'password', -# -value => $password, -# -size => 20, -# -maxlength => 80 -# ) . -# "
" . -# $cgi->reset() . -# $cgi->submit(-name => 'dialog', -value => 'Login') . -# "
" . -# $cgi->endform; print "$pwd\n"; -# $page .= "Dialog: ".$cgi->param("dialog") ."
\n"; -# $page .= "Username: ".$cgi->param("username") ."
\n"; -# $page .= "Password: ".$cgi->param("password") ."
\n"; +# Begin with templates part + $page .= "Templates:

\n" . + "" . + " " . + " " . + "
" . + " " . + $cgi->scrolling_list( + -name => 'templatelist', + -value => ['default', 'sample'], + -size => 2 + ) . + " " . + " " . + " " . + $cgi->submit(-name => 'copy', -value => 'Copy') . + " " . + " " . + $cgi->submit(-name => 'view', -value => 'View') . + " " . + " " . + "
" . + "
" . + "
" . + " " . + "" . + +# Now the configuration part + $page .= "Configuration:

\n". + "" . + " " . + " " . + + " " . + "
" . + " " . + $cgi->scrolling_list( + -name => 'configlist', + -value => ['xdefault', 'xsample'], + -size => 5 + ) . + " " . + " " . + " " . + $cgi->submit(-name => 'new', -value => 'New') . + " " . + + " " . + $cgi->submit(-name => 'copy', -value => 'Copy') . + " " . + + " " . + $cgi->submit(-name => 'edit', -value => 'Edit') . + " " . + + " " . + $cgi->submit(-name => 'del', -value => 'Del') . + " " . + + " " . + $cgi->submit(-name => 'run', -value => 'Run') . + " " . + + " " . + $cgi->submit(-name => 'conf_rights', -value => 'Config_rights') . + " " . + + " " . + "
" . + + "
" . + "
" . + + + $cgi->endform; } elsif ($form eq 'select') { # enter Edit form @@ -208,3 +233,58 @@ print $cgi->header(-cookie => $cookies, -expires => '+1s') . $out; exit (0); + + + + +######################################################################################## +sub validpassword { +######################################################################################## + my ($username, $password) = @_; + + my $returnvalue = 0; + my $uname; + my $pwd; + my $pwdin; + + $pwdin = IO::File->new("<$pwdfile"); + if(defined $pwdin) { + while(<$pwdin>) { + $_ =~ s|^(\w+):(.+)$|{$uname=$1; $pwd=$2}|eg; + ( $uname =~ $username ) && do { # check the password + if (crypt($password, $pwd) eq $pwd){ + $returnvalue = 1; + } + } + } + } + + $pwdin->close(); + + return $returnvalue; +} +######################################################################################## + + +######################################################################################## +sub readdir { +######################################################################################## + my ( $dir ) = @_; + my $filestring = ""; + my $direntry = ""; + + opendir(DIR, "$dir"); # Open dir for scanning + + foreach $direntry (readdir(DIR)) { + next if $direntry eq "."; + next if $direntry eq ".."; + if (-f "$dir/$direntry") { + $filestring .= $direntry. " "; + } + } + closedir(DIR); + return $filestring; +} +######################################################################################## + +