liquid_feedback_frontend

annotate model/session.lua @ 9:0ee1e0c42d4c

Version beta5

Minor security fix: Added missing security filter for admin section. Reading of member listing including login names was possible for all users. Write access has not been possible though.

Changing of name and login is possible while a history of these changes is written and accessible by all users.

Statistics shown in area list

Trimming of user input also converts multiple whitespaces to single space character.
author bsw
date Mon Jan 04 12:00:00 2010 +0100 (2010-01-04)
parents 3bfb2fcf7ab9
children ea2449916c12
rev   line source
bsw/jbe@0 1 Session = mondelefant.new_class()
bsw/jbe@0 2 Session.table = 'session'
bsw/jbe@0 3 Session.primary_key = { 'ident' }
bsw/jbe@0 4
bsw/jbe@0 5 Session:add_reference{
bsw/jbe@0 6 mode = 'm1',
bsw/jbe@0 7 to = "Member",
bsw/jbe@0 8 this_key = 'member_id',
bsw/jbe@0 9 that_key = 'id',
bsw/jbe@0 10 ref = 'member',
bsw/jbe@0 11 }
bsw/jbe@0 12
bsw/jbe@0 13 local function random_string()
bsw/jbe@0 14 return multirand.string(
bsw/jbe@0 15 32,
bsw/jbe@0 16 '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
bsw/jbe@0 17 )
bsw/jbe@0 18 end
bsw/jbe@0 19
bsw/jbe@0 20 function Session:new()
bsw/jbe@0 21 local session = self.prototype.new(self) -- super call
bsw/jbe@0 22 session.ident = random_string()
bsw/jbe@0 23 session.additional_secret = random_string()
bsw/jbe@0 24 session:save()
bsw/jbe@0 25 return session
bsw/jbe@0 26 end
bsw/jbe@0 27
bsw/jbe@0 28 function Session:by_ident(ident)
bsw/jbe@0 29 local selector = self:new_selector()
bsw/jbe@0 30 selector:add_where{ 'ident = ?', ident }
bsw/jbe@0 31 selector:optional_object_mode()
bsw/jbe@0 32 return selector:exec()
bsw/jbe@0 33 end

Impressum / About Us