diff options
author | Eugeniy Mikhailov <evgmik@gmail.com> | 2010-12-14 01:15:24 -0500 |
---|---|---|
committer | Eugeniy Mikhailov <evgmik@gmail.com> | 2010-12-14 01:15:24 -0500 |
commit | 28a4c0ebaefe1c9698b753e3ab8e6e2ce278d488 (patch) | |
tree | c4a4b8bbc3e33fd07df353edd7461601ec396d43 /db_procs.tcl | |
parent | a6f7af268ee1ac7bb076750b60695994f9aae246 (diff) | |
download | GradeBook-28a4c0ebaefe1c9698b753e3ab8e6e2ce278d488.tar.gz GradeBook-28a4c0ebaefe1c9698b753e3ab8e6e2ce278d488.zip |
added cookies and log on log off
darcs-hash:20101214061524-067c0-fbc6275e80f5b755c210318a6f1a24a42b6524e9.gz
Diffstat (limited to 'db_procs.tcl')
-rwxr-xr-x | db_procs.tcl | 102 |
1 files changed, 95 insertions, 7 deletions
diff --git a/db_procs.tcl b/db_procs.tcl index 5ad05f2..53f6ac5 100755 --- a/db_procs.tcl +++ b/db_procs.tcl @@ -1,6 +1,6 @@ #!/bin/sh -# FILE: "/home/evmik/src/my_src/GradeBook/db_procs.tcl" -# LAST MODIFICATION: "Mon, 13 Dec 2010 17:27:51 -0500 (evmik)" +# FILE: "/mnt/light_huge_archive/home/evmik/src/my_src/GradeBook/db_procs.tcl" +# LAST MODIFICATION: "Tue, 14 Dec 2010 01:15:22 -0500 (evmik)" # (C) 2010 by Eugeniy Mikhailov, <evgmik@gmail.com> # $Id:$ # vim:set ft=tcl: \ @@ -9,18 +9,23 @@ exec tclsh "$0" "$@" #load libtclsqlite3.so.0 Sqlite3 package require sqlite3 package require ncgi -::ncgi::header - ::ncgi::parse -set script_name $env(SCRIPT_NAME) + +set user [::ncgi::cookie user] +set password [::ncgi::cookie password] +set action [::ncgi::value action none] + +if { [catch {set script_name $env(SCRIPT_NAME)} errStat] } { set script_name unknown} #set val [::ncgi::value fd] set sortCol [::ncgi::value sortCol LastName] proc dbg {msg {level 1}} { if { $level <=2 } { - puts $msg + set fid [open log a+] + puts $fid $msg + close $fid } } @@ -91,6 +96,89 @@ proc htmlDBout {db {sort_col {}}} { puts "</table>" } -#createDB db +proc htmlTop {} { + global user password + if { $user == "guest" && $password == "guest" } { + askToLogin + } else { + LogOffOption + } + +} + +proc LogOffOption {} { + global user password script_name + puts "<div>" + puts "You are logged in as $user do you wish to " + puts "<a href=\"$script_name?action=logoff\">logoff</a>" + puts "</div>" + +} + +proc askToLogin {} { + global script_name + puts "Please login <br>" + puts "<form name=\"input\" action=\"$script_name\" method=\"post\" />" + puts {Login: <input type="text" name="user"><br>} + puts {Password: <input type="password" name="password"><br>} + puts {<input type="hidden" name="action" value="logon"/>} + puts {<input type="submit" value="Submit" />} + puts {</form>} +} + + + + +proc CheckAccessRights { user password} {} +proc IsUserknown {} {return 1} + +proc SetLoginInfo {} { + global user password + set isAccessGranted [IsUserknown] + if { $isAccessGranted } { + dbg "access granted to user $user" + } + + set access_rights [CheckAccessRights $user $password] + +} + +proc LogMeOn {} { + global user password + set user [::ncgi::value user guest] + set password [::ncgi::value password guest] + dbg "Logging in and setting cookies" + ::ncgi::setCookie -name user -value $user + ::ncgi::setCookie -name password -value $password +} + +proc LogMeOff {} { + dbg "Logging off" + global user password + set user guest + set password guest + ::ncgi::setCookie -name user -value $user + ::ncgi::setCookie -name password -value $password + +} + +proc ChoseAction {action} { + dbg "requeste action: $action" 3 + switch $action { + logon { LogMeOn } + logoff { LogMeOff } + default { } + } +} + +##################### end of procs #################################### +dbg [::ncgi::names] 4 +dbg "sdaf dsaf $action " +ChoseAction $action +::ncgi::header +htmlTop htmlDBout db $sortCol + + + |