1 from Mailman.MySQLConnector import MySQLConnector
2 from Mailman.ForgeSecurityManager import ForgeSecurityManager
5 def extendMemberAdaptor(list):
7 #Config to connect to database
8 dbparam['dbhost'] = "127.0.0.1"
9 dbparam['dbuser']= "codendiadm"
10 dbparam['dbpassword'] = "mypassword"
11 dbparam['database'] = "codendi"
12 dbparam['refresh'] = 360
14 dbparam['mailman_table']= 'plugin_mailman'#table where mailman stores memeberships info
15 ######################
16 # Session Management #
17 ######################
18 #Forge default session
19 dbparam['cookiename']='CODENDI_session_hash'
20 dbparam['queryCookieMail']="SELECT email FROM session,user WHERE user.user_id=session.user_id AND session_hash = '%s';"
21 dbparam['queryCookieId']="SELECT user_id FROM session WHERE session_hash = '%s';"
23 dbparam['queryIsAdmin'] = "SELECT COUNT(*) FROM mail_group_list WHERE list_admin=%s AND list_name='%s';"
24 dbparam['queryIsMonitoring'] = "SELECT COUNT(*) FROM "+dbparam['mailman_table']+", user "+" WHERE user.email = "+dbparam['mailman_table']+".address"+" AND user.user_id=%s AND listname='%s';"
25 dbparam['queryIsSiteAdmin'] = "SELECT count(*) AS count FROM user_group WHERE user_id=%s AND group_id=1 AND admin_flags='A';"
28 #dbparam['cookiename']='zend_cookie_session'
29 #dbparam['queryCookieMail']="""select substring(session_data,'email";s:[0-9]*?:"(.*)";s') from plugin_zendsession where session_hash='%s';"""
30 #dbparam['queryCookieId']="""SELECT substring(session_data,'user_id";i:([0-9]{1,})') FROM plugin_zendsession WHERE session_hash='%s';"""
32 ######################
33 # Type of connection #
34 ######################
35 db = MySQLConnector(list,dbparam)
36 list._memberadaptor = db
38 def extendSecurityManager(list):
39 sm = ForgeSecurityManager(list)
40 list._securitymanager = sm