/** * * @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; } }