Exemple #1
0
 /**
  * 更改用户不用旧密码密码
  *
  * @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);
}
Exemple #3
0
     }
     // 创建数据表
     $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);