Esempio n. 1
0
 /**
  *
  * @name acl_Login	 
  * @param $name
  * @param $passwd
  * @package $sess_salt
  * @package user login action
  * @return  0 or -1 name error, -2 passwd error
  */
 function acl_Login($name, $passwd, $sess_salt)
 {
     $format = "select uid, cm, passwd,nickname  from " . DB_PRE_CORE . "user_info WHERE types=%d and  name='%s' limit 1 ";
     $sql = sprintf($format, DB_TYPE_DIFFERENCE, $name);
     $res = parent::FetchOne($sql);
     if (is_array($res)) {
         // use the salt in here
         //echo $passwd."--".md5($res['passwd'].$sess_salt);
         if ($passwd != md5($res['passwd'] . $sess_salt)) {
             return -2;
         }
         $cm = md5(time());
         $format = "UPDATE " . DB_PRE_CORE . "user_info SET `cm` = '%s', `ltime`=%d WHERE `types`=%d and `uid`='%d';";
         $sql = sprintf($format, $cm, time(), DB_TYPE_DIFFERENCE, $res['uid']);
         //die($sql);
         parent::Update($sql);
         $ses['cm'] = $cm;
         $ses["uid"] = $res['uid'];
         $ses['nickname'] = $res['nickname'];
         $ses['name'] = $name;
         $this->acl_setSessionInfo($ses);
         return 0;
     } else {
         return -1;
     }
 }