~azzar1/unity/add-show-desktop-key

493 by dcoles
session.php: More interfaceing between IVLE and phpBB. Adds groups, emails and
1
# IVLE
2
# Copyright (C) 2007-2008 The University of Melbourne
3
#
4
# This program is free software; you can redistribute it and/or modify
5
# it under the terms of the GNU General Public License as published by
6
# the Free Software Foundation; either version 2 of the License, or
7
# (at your option) any later version.
8
#
9
# This program is distributed in the hope that it will be useful,
10
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
# GNU General Public License for more details.
13
#
14
# You should have received a copy of the GNU General Public License
15
# along with this program; if not, write to the Free Software
16
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17
18
# Module: forumutil
19
# Author: David Coles
20
# Date: 18/02/2008
21
22
# Forum Utilities for communicating with the Forum
23
24
import hashlib
25
import time
26
from mod_python import Cookie
27
from urllib import quote
671 by dcoles
forum: Now uses a unique secret generated at './setup config' time for shared secret
28
from conf import conf
493 by dcoles
session.php: More interfaceing between IVLE and phpBB. Adds groups, emails and
29
30
cookie_name = 'ivleforumcookie'
31
32
def make_forum_cookie(login_details):
671 by dcoles
forum: Now uses a unique secret generated at './setup config' time for shared secret
33
    secret = conf.forum_secret
493 by dcoles
session.php: More interfaceing between IVLE and phpBB. Adds groups, emails and
34
500 by mattgiuca
db: get_user and get_users now return User objects instead of dictionaries.
35
    login = quote(login_details.login)
36
    nick = quote(login_details.nick)
493 by dcoles
session.php: More interfaceing between IVLE and phpBB. Adds groups, emails and
37
    email = ''
500 by mattgiuca
db: get_user and get_users now return User objects instead of dictionaries.
38
    if login_details.email != None:
39
        email = quote(login_details.email)
40
41
501 by mattgiuca
forumutil.py: Fix from previous revision. "rolenm" no longer in login_details.
42
    role = quote(str(login_details.role))
493 by dcoles
session.php: More interfaceing between IVLE and phpBB. Adds groups, emails and
43
    
44
    hashtext = login + nick + email + role + secret
45
    hash = hashlib.md5(hashtext).hexdigest()
46
    data = quote(login + ':' + nick + ':' + email + ':' + role + ':' + hash)
47
48
    return Cookie.Cookie(cookie_name,data,expires=time.time()+86400,path='/')
49
 
50
def invalidated_forum_cookie():
51
    return Cookie.Cookie(cookie_name,'NONE',expires=time.time()+86400,path='/')