#!/usr/bin/env python

import sys, cgi, Cookie, time
from cgitools import *
from PythonInsideHTML import PIH
from tools import encodeStr

import cgitb; cgitb.enable(display=0, logdir='/tmp')

#cgi_token = "Content-type:text/html\n\n"

form_data = {}
form = cgi.FieldStorage()
user_id = form.getvalue('user_id').strip()
user_passwd = myMD5(form.getvalue('user_passwd').strip())

connection, cursor = getConnectionCursor()
if user_id=='guest' and form.getvalue('user_passwd').strip()=='guest':
	sql_statement = 'SELECT logon_num, logon_state, user_name, user_passwd FROM users WHERE user_name="guest" and act_state=1'
else:
	sql_statement = 'SELECT logon_num, logon_state, user_name, user_passwd FROM users WHERE user_name="%s" AND user_passwd="%s" and act_state=1' % (user_id, user_passwd)
n = cursor.execute(sql_statement)
if n < 1: # logon failed
	#rlt = cursor.fetchone()
	print cgi_token
	#print user_id,"'s passwd is ", user_passwd, '    :     ', form.getvalue('user_passwd')
	#print "<br>", n, "<br>Stored passwd is ", rlt[0], rlt[1], rlt[2], rlt[3]
	print "Wrong username and/or password or your account is not active!"
	cursor.close()
	connection.close()
	sys.exit(0)

# Success. update db
logon_num = cursor.fetchone()[0]
date_time = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime())
sql_statement = 'UPDATE users SET logon_num=%d, logon_state=1, logon_time="%s" WHERE user_name="%s"' % (logon_num+1, date_time, user_id)

#exitWithInfo(sql_statement)

n =cursor.execute(sql_statement)
cursor.close()
connection.close()

# send out some cookies.
CookieJar = Cookie.SimpleCookie()
CookieJar['user_name'] = encodeStr(user_id)
CookieJar['online'] = encodeStr(OnlineStr(user_id))

print CookieJar
print cgi_token

#print cgi.print_environ() 
#print 'OK!'
#exec PIH('pages/ui_userpage.pih').pythonCode()
exec PIH('pages/ui_userfunc.pih').pythonCode()
