/** * 更改用户不用旧密码密码 * * @param string * @param int * @param string */ public function update_user_password_ingore_oldpassword($password, $uid, $salt) { if (!$salt or !$password or !$uid) { return false; } $this->update('users', array('password' => compile_password($password, $salt), 'salt' => $salt), 'uid = ' . intval($uid)); return true; }
/** * 将用户登录信息编译成 hash 字符串,用于发送 Cookie * * @param string * @param string * @param string * @param integer * @param boolean * @return string */ function get_login_cookie_hash($user_name, $password, $salt, $uid, $hash_password = true) { if ($hash_password) { $password = compile_password($password, $salt); } $auth_hash_key = md5(G_COOKIE_HASH_KEY . $_SERVER['HTTP_USER_AGENT'] . $_SERVER['HTTP_ACCEPT_LANGUAGE']); return H::encode_hash(array('uid' => $uid, 'user_name' => $user_name, 'password' => $password), $auth_hash_key); }
} // 创建数据表 $db_table_querys = explode(";\r", str_replace(array('[#DB_PREFIX#]', '[#DB_ENGINE#]', "\n"), array($_POST['db_prefix'], $_POST['db_engine'], "\r"), file_get_contents(ROOT_PATH . 'install/db/mysql.sql'))); foreach ($db_table_querys as $_sql) { if ($query_string = trim(str_replace(array("\r", "\n", "\t"), '', $_sql))) { $db->query($query_string); } } $db->insert($_POST['db_prefix'] . 'system_setting', array('varname' => 'db_engine', 'value' => 's:' . strlen($_POST['db_engine']) . ':"' . $_POST['db_engine'] . '";')); TPL::output('install/final'); break; case 4: $db = load_class('core_db')->setObject('master'); $db_prefix = load_class('core_config')->get('database')->prefix; $salt = fetch_salt(4); $data = array('user_name' => $_POST['user_name'], 'password' => compile_password($_POST['password'], $salt), 'email' => $_POST['email'], 'salt' => $salt, 'group_id' => 1, 'reputation_group' => 5, 'valid_email' => 1, 'is_first_login' => 1, 'reg_time' => time(), 'reg_ip' => ip2long(fetch_ip()), 'last_login' => time(), 'last_ip' => ip2long(fetch_ip()), 'last_active' => time(), 'invitation_available' => 10, 'integral' => 2000); $db->insert($db_prefix . 'users', $data); $db->insert($db_prefix . 'users_attrib', array('uid' => 1, 'signature' => '')); $db->insert($db_prefix . 'integral_log', array('uid' => 1, 'action' => 'REGISTER', 'integral' => 2000, 'note' => load_class('core_lang')->_t('初始资本'), 'balance' => 2000, 'time' => time())); //加载网站配置 $base_dir = dirname(dirname($_SERVER['PHP_SELF'])); $base_dir = $base_dir == DIRECTORY_SEPARATOR ? '' : $base_dir; $insert_query = file_get_contents(ROOT_PATH . 'install/db/system_setting.sql'); $insert_query = str_replace('[#DB_PREFIX#]', $db_prefix, $insert_query); if (defined('IN_SAE')) { $insert_query = str_replace('[#UPLOAD_URL#]', serialize($_POST['upload_url']), $insert_query); $insert_query = str_replace('[#UPLOAD_DIR#]', serialize('saestor://uploads'), $insert_query); } else { $base_url = strtolower(base_url()); if (substr($base_url, -8) == '/install') { $base_url = substr_replace($base_url, '', -8);