Exemplo n.º 1
0
     pdump($system_count, '$system_count');
     pdump($system_step, '$system_step');
     $skin = DEFAULT_SKINPATH;
     $language = DEFAULT_LANG;
     $galaxy = 1;
     $system = $system_step;
     $planet = round($config->game_maxPlanet / 2);
     foreach ($imported_string as &$string_data) {
         $string_data = explode(',', $string_data);
         $username_safe = $string_data[0];
         //      $user_new = player_create($username_safe, $string_data[1], '', array(
         //        'galaxy' => $galaxy,
         //        'system' => $system,
         //        'planet' => $planet,
         //      ), $create_result);
         $user_new = player_create($username_safe, sys_random_string(), array('password_encoded_unsafe' => core_auth::password_encode($string_data[1], ''), 'galaxy' => $galaxy, 'system' => $system, 'planet' => $planet));
         // $user_new = &$create_result[F_LOGIN_USER];
         $moon_row = uni_create_moon($galaxy, $system, $planet, $user_new['id'], 30, '', false);
         if (($system += $system_step) >= $config->game_maxSystem) {
             $galaxy++;
             $system = $system_step;
         }
     }
     doquery('UPDATE {{users}} SET dark_matter = 50000, dark_matter_total = 50000;');
     $config->db_saveItem('users_amount', $config->users_amount + $new_players);
     // pdump($imported_string);
     // generated_string
 } elseif (sys_get_param_str('import_result') && ($blitz_result_string = sys_get_param_str('blitz_result_string'))) {
     $blitz_result = explode(';', $blitz_result_string);
     $blitz_last_update = $blitz_result[0];
     // Пока не используется
Exemplo n.º 2
0
 protected function register_player_db_create($player_name_unsafe)
 {
     try {
         // Проверить корректность имени
         $this->register_player_name_validate($player_name_unsafe);
         sn_db_transaction_start();
         // Проверить наличие такого имени в истории имён
         if (db_player_name_exists($player_name_unsafe)) {
             throw new Exception(REGISTER_ERROR_PLAYER_NAME_EXISTS, ERR_ERROR);
         }
         // Узнаем язык и емейл игрока
         $player_language = '';
         $player_email = '';
         // TODO - порнография - работа должна происходить над списком аккаунтов, а не только на одном аккаунте...
         foreach ($this->providers_authorised as $provider) {
             if (!$player_language && $provider->account->account_language) {
                 $player_language = $provider->account->account_language;
             }
             if (!$player_email && $provider->account->account_email) {
                 $player_email = $provider->account->account_email;
             }
         }
         $player_language = sys_get_param_str('lang') ? sys_get_param_str('lang') : $player_language;
         $player_language = $player_language ? $player_language : DEFAULT_LANG;
         // TODO - дописать эксепшнов в процедуре создания игрока
         self::$user = player_create($player_name_unsafe, $player_email, array('partner_id' => $partner_id = sys_get_param_int('id_ref', sys_get_param_int('partner_id')), 'language_iso' => static::$db->db_escape($player_language)));
         // Зарегестрировать на него аккаунты из self::$accounts_authorised
         $a_user = self::$user;
         foreach ($this->providers_authorised as $provider) {
             // TODO - порнография. Должен быть отдельный класс трансляторов - в т.ч. и кэширующий транслятор
             // TODO - ну и работа должна происходить над списком аккаунтов, а не только на одном аккаунте...
             // self::db_translate_register_user($provider->provider_id, $provider->account->account_id, $a_user['id']);
             PlayerToAccountTranslate::db_translate_register_user($provider->provider_id, $provider->account->account_id, $a_user['id']);
         }
         // Установить куку игрока
         self::cookie_set(self::$user['id']);
         sn_db_transaction_commit();
         $this->register_status = LOGIN_SUCCESS;
     } catch (Exception $e) {
         sn_db_transaction_rollback();
         // Если старое имя занято
         self::$user = null;
         $this->register_status == LOGIN_UNDEFINED ? $this->register_status = $e->getMessage() : false;
     }
 }
Exemplo n.º 3
0
 $imported_string = explode(';', sys_get_param_str('generated_string'));
 shuffle($imported_string);
 $new_players = count($imported_string);
 $system_count = ceil($new_players / $config->game_maxGalaxy);
 $system_step = floor($config->game_maxSystem / $system_count);
 pdump($system_count, '$system_count');
 pdump($system_step, '$system_step');
 $skin = DEFAULT_SKINPATH;
 $language = DEFAULT_LANG;
 $galaxy = 1;
 $system = $system_step;
 $planet = round($config->game_maxPlanet / 2);
 foreach ($imported_string as &$string_data) {
     $string_data = explode(',', $string_data);
     $username_safe = $string_data[0];
     $user_new = player_create($username_safe, $string_data[1], '', array('galaxy' => $galaxy, 'system' => $system, 'planet' => $planet));
     //      $user_new = classSupernova::db_ins_record(LOC_USER, "`email` = '', `email_2` = '', `username` = '{$username_safe}',
     //      `dpath` = '{$skin}', `lang` = '{$language}', `register_time` = " . SN_TIME_NOW . ",
     //      `options` = 'opt_mnl_spy^1|opt_email_mnl_spy^0|opt_email_mnl_joueur^0|opt_email_mnl_alliance^0|opt_mnl_attaque^1|opt_email_mnl_attaque^0|opt_mnl_exploit^1|opt_email_mnl_exploit^0|opt_mnl_transport^1|opt_email_mnl_transport^0|opt_email_msg_admin^1|opt_mnl_expedition^1|opt_email_mnl_expedition^0|opt_mnl_buildlist^1|opt_email_mnl_buildlist^0|opt_int_navbar_resource_force^1|';");
     //
     //      sec_password_change($user_new, $string_data[1], false); // OK
     //
     //      doquery("REPLACE INTO {{player_name_history}} SET `player_id` = {$user_new['id']}, `player_name` = \"{$username_safe}\"");
     //
     //      $new_planet_id = uni_create_planet($galaxy, $system, $planet, $user_new['id'], $username_unsafe . ' ' . $lang['sys_capital'], true);
     //      sys_player_new_adjust($user_new['id'], $new_planet_id);
     //
     //      db_user_set_by_id($user_new['id'], "`id_planet` = '{$new_planet_id}', `current_planet` = '{$new_planet_id}', `galaxy` = '{$galaxy}', `system` = '{$system}', `planet` = '{$planet}'");
     //
     $moon_row = uni_create_moon($galaxy, $system, $planet, $user_new['id'], 30, '', false);
     // $system += $system_step;
Exemplo n.º 4
0
function sn_sec_login_register($username_unsafe, $password_raw, $email_unsafe, $language, $remember_me = 1, &$result)
{
    global $lang, $config;
    sn_db_transaction_start();
    try {
        if ($config->game_mode == GAME_BLITZ) {
            throw new exception(REGISTER_ERROR_USERNAME_WRONG, ERR_ERROR);
        }
        if (!$username_unsafe) {
            throw new exception(REGISTER_ERROR_USERNAME_WRONG, ERR_ERROR);
        }
        $username_safe = db_escape($username_unsafe);
        $db_check = doquery("SELECT `player_id` FROM {{player_name_history}} WHERE `player_name` = '{$username_safe}' LIMIT 1;", true);
        if (!empty($db_check)) {
            throw new exception(REGISTER_ERROR_USERNAME_EXISTS, ERR_ERROR);
        }
        if (strlen(trim($password_raw)) < 4 || strlen(trim($password_raw)) != strlen($password_raw)) {
            throw new exception(REGISTER_ERROR_PASSWORD_INSECURE, ERR_ERROR);
        }
        $password_raw = trim($password_raw);
        //    $password_repeat_raw = trim(sys_get_param('password_repeat'));
        //    if($password_raw <> $password_repeat_raw) {
        //      throw new exception(REGISTER_ERROR_PASSWORD_DIFFERENT, ERR_ERROR);
        //    }
        if (db_user_by_email($email_unsafe, true)) {
            throw new exception(REGISTER_ERROR_EMAIL_EXISTS, ERR_ERROR);
        }
        player_create($username_unsafe, $password_raw, $email_unsafe, array('partner_id' => $partner_id = sys_get_param_int('id_ref', sys_get_param_int('partner_id')), 'language_iso' => $language, 'remember_me' => $remember_me));
        sn_db_transaction_commit();
        $email_message = sprintf($lang['log_reg_email_text'], $config->game_name, SN_ROOT_VIRTUAL, sys_safe_output($username_unsafe), sys_safe_output($password_raw));
        @mymail($email_unsafe, sprintf($lang['log_reg_email_title'], $config->game_name), $email_message);
        // sec_set_cookie_by_fields($user['id'], $user['username'], $user['password'], $remember_me);
        $result = REGISTER_SUCCESS;
    } catch (exception $e) {
        sn_db_transaction_rollback();
        $result = $e->getMessage();
    }
    return $result;
}