aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugeniy Mikhailov <evgmik@gmail.com>2010-12-14 01:15:24 -0500
committerEugeniy Mikhailov <evgmik@gmail.com>2010-12-14 01:15:24 -0500
commit28a4c0ebaefe1c9698b753e3ab8e6e2ce278d488 (patch)
treec4a4b8bbc3e33fd07df353edd7461601ec396d43
parenta6f7af268ee1ac7bb076750b60695994f9aae246 (diff)
downloadGradeBook-28a4c0ebaefe1c9698b753e3ab8e6e2ce278d488.tar.gz
GradeBook-28a4c0ebaefe1c9698b753e3ab8e6e2ce278d488.zip
added cookies and log on log off
darcs-hash:20101214061524-067c0-fbc6275e80f5b755c210318a6f1a24a42b6524e9.gz
-rwxr-xr-xdb_procs.tcl102
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
+
+
+