Esempio n. 1
0
def userExists(username):
  curs= YDB.getCursor()
  results= YDB.executeQuery(curs,
    'SELECT login FROM user_t WHERE login=%(username)s',
    locals())
  YDB.close(curs)
  return results is not None and len(results) > 0
Esempio n. 2
0
def checkPassword(username, password):
  if validUsername(username):
    if settings['userStore'].startswith('ldap'):
      return LDAPUtilities.checkPassword(username, password)
    else:
      curs= YDB.getCursor()
      num= curs.execute(('SELECT password FROM user_t WHERE ' + \
                      'login="******"') % (username))
      results= curs.fetchone()
      YDB.close(curs)
      if results:
        correctpassword= results[0]
        return correctpassword == hashPassword(password)
  return 0
Esempio n. 3
0
def setPassword(username, password):
  makeSureNotLdap()
  hashedpassword= hashPassword(password)
  curs= YDB.getCursor()
  curs.execute(('SELECT * FROM user_t WHERE ' + \
                  'login="******"') % (username))
  if curs.fetchone():
    curs.execute(('UPDATE user_t SET password="******" WHERE ' + \
                    'login = "******"') % 
                    (hashedpassword, username))
  else:
    curs.execute(('INSERT INTO user_t VALUES ' + \
                    '("%s", "%s")') %
                   (username, hashedpassword))
    YDB.close(curs)
Esempio n. 4
0
 def displayPrivateCheckForm(self):
   res= self._response
   lastPrivateConfirm= self.u['last.private.time']
   if not lastPrivateConfirm or lastPrivateConfirm == '':
     self.debugMessage("no last.private.time for user %s; u=%s" %
         (self.peekUsername(), self.u))
     lastPrivateConfirm= 0
     lastPrivateDisplay= ''
   else:
     lastPrivateConfirm= int(lastPrivateConfirm)
     lastPrivateConfirm= time.strftime('%Y-%m-%d %H:%M:%S',
         time.localtime(lastPrivateConfirm))
     lastPrivateDisplay= 'since ' + lastPrivateConfirm[0:-3]
   query= ("SELECT COUNT(*) FROM puffs_t p, " + \
           "tos_t t WHERE " + \
           "(t.cat = '%s' OR t.cat LIKE '%s') " + \
           "AND p.puffid=t.puffid AND " + \
           "p.ssdate > '%s'") % (self.getGaleId(),
           self.getGaleIdPat(), lastPrivateConfirm)
   curs= YDB.getCursor()
   (countl,)= YDB.executeQuery(curs, query, {})
   YDB.close(curs)
   count= countl[0]
   s= ''
   pronoun= 'it'
   if count > 1:
     s= 's'
     pronoun= 'them'
   if count > 0:
     url= self.getStrippedUri()
     res.write("""
       <p>
         <img align="middle" alt="new messages" src="/images/newmsg.png">
         <span class="error">%s new private message%s %s
           &nbsp; &nbsp;</span>
         <a href="%s?subs=&_action_=confirm+private"><img
           align="middle" alt="view now" src="/images/go.png"></a><a
           href="%s?subs=&_action_=confirm+private">View
           %s now</a>
           &nbsp;&nbsp;
         <a href="%s?_action_=confirm+private"><img
           align="middle" alt="already seen" src="/images/check.png"></a><a
           href="%s?_action_=confirm+private">I've seen
           %s</a>
           &nbsp;&nbsp;
       </p>
       """ % (count, s, lastPrivateDisplay, url, url, pronoun, url,
         url, pronoun))
Esempio n. 5
0
def deleteUser(user):
  makeSureNotLdap()
  curs= YDB.getCursor()
  YDB.executeQuery(curs, 'DELETE FROM user_t ' +
    'WHERE login = %(user)s', locals())
  YDB.executeQuery(curs, 'DELETE FROM userprefs_t ' +
    'WHERE login = %(user)s', locals())
  galeid= user
  path= KeyStore.privPath(galeid)
  if path is not None:
    os.unlink(path)
  YDB.close(curs)
Esempio n. 6
0
def getQuery(map, query):
  curs= YDB.getCursor()
  results= YDB.executeQuery(curs, query, map)
  YDB.close(curs)
  return results