@@ -24,7 +24,7 @@ discard block |
||
| 24 | 24 | protected static $autoloaderRegistered = false; |
| 25 | 25 | |
| 26 | 26 | protected static function _constructorStatic() { |
| 27 | - if(!static::$autoloaderRegistered) { |
|
| 27 | + if (!static::$autoloaderRegistered) { |
|
| 28 | 28 | spl_autoload_register(array(__CLASS__, 'autoloader')); |
| 29 | 29 | static::$autoloaderRegistered = true; |
| 30 | 30 | } |
@@ -36,17 +36,17 @@ discard block |
||
| 36 | 36 | public static function autoloader($class) { |
| 37 | 37 | static::_constructorStatic(); |
| 38 | 38 | |
| 39 | - foreach(static::$folders as $data) { |
|
| 39 | + foreach (static::$folders as $data) { |
|
| 40 | 40 | $theClassFile = $class; |
| 41 | 41 | |
| 42 | - if($data[static::P_PREFIX] && strrpos($class, $data[static::P_PREFIX]) !== false) { |
|
| 42 | + if ($data[static::P_PREFIX] && strrpos($class, $data[static::P_PREFIX]) !== false) { |
|
| 43 | 43 | $theClassFile = substr($class, strlen($data[static::P_PREFIX])); |
| 44 | 44 | } |
| 45 | 45 | |
| 46 | 46 | $classFullFileName = str_replace('\\', '/', $data[static::P_FOLDER] . $theClassFile) . DOT_PHP_EX; |
| 47 | - if(file_exists($classFullFileName) && is_file($classFullFileName)) { |
|
| 47 | + if (file_exists($classFullFileName) && is_file($classFullFileName)) { |
|
| 48 | 48 | require_once($classFullFileName); |
| 49 | - if(method_exists($class, '_constructorStatic')) { |
|
| 49 | + if (method_exists($class, '_constructorStatic')) { |
|
| 50 | 50 | $class::_constructorStatic(); |
| 51 | 51 | } |
| 52 | 52 | } |
@@ -62,13 +62,13 @@ discard block |
||
| 62 | 62 | |
| 63 | 63 | $absoluteClassRoot = str_replace('\\', '/', SN_ROOT_PHYSICAL . $absoluteClassRoot); |
| 64 | 64 | |
| 65 | - if(!($absoluteClassRoot = realpath($absoluteClassRoot))) { |
|
| 65 | + if (!($absoluteClassRoot = realpath($absoluteClassRoot))) { |
|
| 66 | 66 | // TODO - throw new \Exception("There is some error when installing autoloader for '{$absoluteClassRoot}' class prefix '{$classPrefix}'"); |
| 67 | 67 | return; |
| 68 | 68 | } |
| 69 | 69 | $absoluteClassRoot = str_replace('\\', '/', $absoluteClassRoot) . '/'; |
| 70 | 70 | |
| 71 | - if($classPrefix && strrpos($classPrefix, 1) != '\\') { |
|
| 71 | + if ($classPrefix && strrpos($classPrefix, 1) != '\\') { |
|
| 72 | 72 | $classPrefix .= '\\'; |
| 73 | 73 | } |
| 74 | 74 | |
@@ -191,18 +191,18 @@ discard block |
||
| 191 | 191 | // TODO Хотя тут может получится вечный цикл - ПОДУМАТЬ |
| 192 | 192 | // TODO Тут же можно пробовать провести попытку слияния аккаунтов - хотя это и очень небезопасно |
| 193 | 193 | |
| 194 | - if(sys_get_param('login_player_register_logout')) { |
|
| 194 | + if (sys_get_param('login_player_register_logout')) { |
|
| 195 | 195 | $this->logout(); |
| 196 | 196 | } |
| 197 | 197 | |
| 198 | 198 | $original_suggest = ''; |
| 199 | 199 | // Смотрим - есть ли у нас данные от пользователя |
| 200 | - if(($player_name_submitted = sys_get_param('submit_player_name'))) { |
|
| 200 | + if (($player_name_submitted = sys_get_param('submit_player_name'))) { |
|
| 201 | 201 | // Попытка регистрации нового игрока из данных, введенных пользователем |
| 202 | 202 | $this->player_suggested_name = sys_get_param_str_unsafe('player_suggested_name'); |
| 203 | 203 | } else { |
| 204 | - foreach($this->providers_authorised as $provider) { |
|
| 205 | - if($this->player_suggested_name = $provider->player_name_suggest()) { // OK 4.5 |
|
| 204 | + foreach ($this->providers_authorised as $provider) { |
|
| 205 | + if ($this->player_suggested_name = $provider->player_name_suggest()) { // OK 4.5 |
|
| 206 | 206 | $original_suggest = $provider->player_name_suggest(); |
| 207 | 207 | break; |
| 208 | 208 | } |
@@ -210,7 +210,7 @@ discard block |
||
| 210 | 210 | } |
| 211 | 211 | |
| 212 | 212 | // Если у нас провайдеры не дают имени и пользователь не дал свой вариант - это у нас первый логин в игру |
| 213 | - if(!$this->player_suggested_name) { |
|
| 213 | + if (!$this->player_suggested_name) { |
|
| 214 | 214 | $max_user_id = db_player_get_max_id(); // 4.5 |
| 215 | 215 | // TODO - предлагать имя игрока по локали |
| 216 | 216 | |
@@ -219,15 +219,15 @@ discard block |
||
| 219 | 219 | sn_db_transaction_rollback(); |
| 220 | 220 | $this->player_suggested_name = 'Emperor ' . mt_rand($max_user_id + 1, $max_user_id + 1000); |
| 221 | 221 | sn_db_transaction_start(); |
| 222 | - } while(db_player_name_exists($this->player_suggested_name)); |
|
| 222 | + } while (db_player_name_exists($this->player_suggested_name)); |
|
| 223 | 223 | |
| 224 | 224 | } |
| 225 | 225 | |
| 226 | - if($player_name_submitted) { |
|
| 226 | + if ($player_name_submitted) { |
|
| 227 | 227 | $this->register_player_db_create($this->player_suggested_name); // OK 4.5 |
| 228 | - if($this->register_status == LOGIN_SUCCESS) { |
|
| 228 | + if ($this->register_status == LOGIN_SUCCESS) { |
|
| 229 | 229 | sys_redirect(SN_ROOT_VIRTUAL . 'overview.php'); |
| 230 | - } elseif($this->register_status == REGISTER_ERROR_PLAYER_NAME_EXISTS && $original_suggest == $this->player_suggested_name) { |
|
| 230 | + } elseif ($this->register_status == REGISTER_ERROR_PLAYER_NAME_EXISTS && $original_suggest == $this->player_suggested_name) { |
|
| 231 | 231 | // self::$player_suggested_name .= ' ' . $this->account->account_id; |
| 232 | 232 | } |
| 233 | 233 | // if(self::$login_status != LOGIN_SUCCESS) { |
@@ -251,7 +251,7 @@ discard block |
||
| 251 | 251 | : false |
| 252 | 252 | ); |
| 253 | 253 | |
| 254 | - if($this->register_status == LOGIN_ERROR_USERNAME_RESTRICTED_CHARACTERS) { |
|
| 254 | + if ($this->register_status == LOGIN_ERROR_USERNAME_RESTRICTED_CHARACTERS) { |
|
| 255 | 255 | $prohibited_characters = array_map(function($value) { |
| 256 | 256 | return "'" . htmlentities($value, ENT_QUOTES, 'UTF-8') . "'"; |
| 257 | 257 | }, str_split(LOGIN_REGISTER_CHARACTERS_PROHIBITED)); |
@@ -284,18 +284,18 @@ discard block |
||
| 284 | 284 | |
| 285 | 285 | // !self::$is_init ? self::init() : false; |
| 286 | 286 | |
| 287 | - if(!SN::$gc->modules->countModulesInGroup('auth')) { |
|
| 287 | + if (!SN::$gc->modules->countModulesInGroup('auth')) { |
|
| 288 | 288 | die('{Не обнаружено ни одного провайдера авторизации в core_auth::login()!}'); |
| 289 | 289 | } |
| 290 | 290 | |
| 291 | 291 | !empty($_POST) ? self::flog(dump($_POST, '$_POST')) : false; |
| 292 | 292 | !empty($_GET) ? self::flog(dump($_GET, '$_GET')) : false; |
| 293 | - !empty($_COOKIE) ? self::flog(dump($_COOKIE,'$_COOKIE')) : false; |
|
| 293 | + !empty($_COOKIE) ? self::flog(dump($_COOKIE, '$_COOKIE')) : false; |
|
| 294 | 294 | |
| 295 | 295 | $this->auth_reset(); // OK v4.5 |
| 296 | 296 | |
| 297 | 297 | $this->providers = array(); |
| 298 | - foreach(SN::$gc->modules->getModulesInGroup('auth', true) as $module_name => $module) { |
|
| 298 | + foreach (SN::$gc->modules->getModulesInGroup('auth', true) as $module_name => $module) { |
|
| 299 | 299 | /** |
| 300 | 300 | * @var auth_abstract $module |
| 301 | 301 | */ |
@@ -304,10 +304,10 @@ discard block |
||
| 304 | 304 | |
| 305 | 305 | // $this->providers = array_reverse($this->providers, true); // НИНАДА! СН-аккаунт должен всегда авторизироваться первым! |
| 306 | 306 | //pdump($this->providers); |
| 307 | - foreach($this->providers as $provider_id => $provider) { |
|
| 307 | + foreach ($this->providers as $provider_id => $provider) { |
|
| 308 | 308 | $login_status = $provider->login(); // OK v4.5 |
| 309 | 309 | self::flog(($provider->manifest['name'] . '->' . 'login_try - ') . (empty($provider->account->account_id) ? $lang['sys_login_messages'][$provider->account_login_status] : dump($provider))); |
| 310 | - if($login_status == LOGIN_SUCCESS && is_object($provider->account) && $provider->account instanceof Account && $provider->account->account_id) { |
|
| 310 | + if ($login_status == LOGIN_SUCCESS && is_object($provider->account) && $provider->account instanceof Account && $provider->account->account_id) { |
|
| 311 | 311 | $this->providers_authorised[$provider_id] = &$this->providers[$provider_id]; |
| 312 | 312 | |
| 313 | 313 | $this->user_id_to_provider = array_replace_recursive( |
@@ -315,20 +315,20 @@ discard block |
||
| 315 | 315 | // static::db_translate_get_users_from_account_list($provider_id, $provider->account->account_id) // OK 4.5 |
| 316 | 316 | PlayerToAccountTranslate::db_translate_get_users_from_account_list($provider_id, $provider->account->account_id) // OK 4.5 |
| 317 | 317 | ); |
| 318 | - } elseif($login_status != LOGIN_UNDEFINED) { |
|
| 318 | + } elseif ($login_status != LOGIN_UNDEFINED) { |
|
| 319 | 319 | $this->provider_error_list[$provider_id] = $login_status; |
| 320 | 320 | } |
| 321 | 321 | } |
| 322 | 322 | |
| 323 | - if(empty($this->providers_authorised)) { |
|
| 323 | + if (empty($this->providers_authorised)) { |
|
| 324 | 324 | // Ни один аккаунт не авторизирован |
| 325 | 325 | // Проверяем - есть ли у нас ошибки в аккаунтах? |
| 326 | - if(!empty($this->provider_error_list)) { |
|
| 326 | + if (!empty($this->provider_error_list)) { |
|
| 327 | 327 | // Если есть - выводим их |
| 328 | 328 | self::$login_status = reset($this->provider_error_list); |
| 329 | 329 | $providerError = $this->providers[key($this->provider_error_list)]->account_login_message; |
| 330 | 330 | |
| 331 | - if(!empty($providerError)) { |
|
| 331 | + if (!empty($providerError)) { |
|
| 332 | 332 | self::$login_message = $providerError; |
| 333 | 333 | } |
| 334 | 334 | } |
@@ -343,12 +343,12 @@ discard block |
||
| 343 | 343 | // В self::$accessible_user_row_list - список доступных игроков для данных аккаунтов с соответствующими записями из таблицы `users` |
| 344 | 344 | |
| 345 | 345 | // Остались ли у нас в списке доступные игроки? |
| 346 | - if(empty($this->accessible_user_row_list)) { |
|
| 346 | + if (empty($this->accessible_user_row_list)) { |
|
| 347 | 347 | // Нет ни одного игрока ни на одном авторизированном аккаунте |
| 348 | 348 | // Надо регать нового игрока |
| 349 | 349 | |
| 350 | 350 | // Сейчас происходит процесс регистрации игрока? |
| 351 | - if(!$this->is_player_register) { |
|
| 351 | + if (!$this->is_player_register) { |
|
| 352 | 352 | // Нет - отправляем на процесс регистрации |
| 353 | 353 | $partner_id = sys_get_param_int('id_ref', sys_get_param_int('partner_id')); |
| 354 | 354 | sys_redirect(SN_ROOT_VIRTUAL . 'index.php?page=player_register&player_register=1' . ($partner_id ? '&id_ref=' . $partner_id : '')); |
@@ -357,7 +357,7 @@ discard block |
||
| 357 | 357 | // Да, есть доступные игроки, которые так же прописаны в базе |
| 358 | 358 | $this->get_active_user(); // 4.5 |
| 359 | 359 | |
| 360 | - if($this->is_impersonating = !empty($_COOKIE[SN_COOKIE_U_I]) ? $_COOKIE[SN_COOKIE_U_I] : 0) { |
|
| 360 | + if ($this->is_impersonating = !empty($_COOKIE[SN_COOKIE_U_I]) ? $_COOKIE[SN_COOKIE_U_I] : 0) { |
|
| 361 | 361 | $a_user = db_user_by_id($this->is_impersonating); |
| 362 | 362 | $this->impersonator_username = $a_user['username']; |
| 363 | 363 | } |
@@ -365,9 +365,9 @@ discard block |
||
| 365 | 365 | |
| 366 | 366 | //Прописываем текущего игрока на все авторизированные аккаунты |
| 367 | 367 | // TODO - ИЛИ ВСЕХ ИГРОКОВ?? |
| 368 | - if(empty($this->is_impersonating)) { |
|
| 369 | - foreach($this->providers_authorised as $provider_id => $provider) { |
|
| 370 | - if(empty($this->user_id_to_provider[self::$user['id']][$provider_id])) { |
|
| 368 | + if (empty($this->is_impersonating)) { |
|
| 369 | + foreach ($this->providers_authorised as $provider_id => $provider) { |
|
| 370 | + if (empty($this->user_id_to_provider[self::$user['id']][$provider_id])) { |
|
| 371 | 371 | // self::db_translate_register_user($provider_id, $provider->account->account_id, self::$user['id']); |
| 372 | 372 | PlayerToAccountTranslate::db_translate_register_user($provider_id, $provider->account->account_id, self::$user['id']); |
| 373 | 373 | $this->user_id_to_provider[self::$user['id']][$provider_id][$provider->account->account_id] = true; |
@@ -377,9 +377,9 @@ discard block |
||
| 377 | 377 | } |
| 378 | 378 | } |
| 379 | 379 | |
| 380 | - if(empty(self::$user['id'])) { |
|
| 380 | + if (empty(self::$user['id'])) { |
|
| 381 | 381 | self::cookie_set(''); // OK 4.5 |
| 382 | - } elseif(self::$user['id'] != $_COOKIE[SN_COOKIE_U]) { |
|
| 382 | + } elseif (self::$user['id'] != $_COOKIE[SN_COOKIE_U]) { |
|
| 383 | 383 | self::cookie_set(self::$user['id']); // OK 4.5 |
| 384 | 384 | } |
| 385 | 385 | |
@@ -398,21 +398,21 @@ discard block |
||
| 398 | 398 | */ |
| 399 | 399 | // OK v4.7 |
| 400 | 400 | public function logout($redirect = true) { |
| 401 | - if(!empty($_COOKIE[SN_COOKIE_U_I])) { |
|
| 401 | + if (!empty($_COOKIE[SN_COOKIE_U_I])) { |
|
| 402 | 402 | self::cookie_set($_COOKIE[SN_COOKIE_U_I]); |
| 403 | 403 | self::cookie_set(0, true); |
| 404 | 404 | self::$main_provider->logout(); |
| 405 | 405 | } else { |
| 406 | - foreach($this->providers as $provider_name => $provider) { |
|
| 406 | + foreach ($this->providers as $provider_name => $provider) { |
|
| 407 | 407 | $provider->logout(); |
| 408 | 408 | } |
| 409 | 409 | |
| 410 | 410 | self::cookie_set(0); |
| 411 | 411 | } |
| 412 | 412 | |
| 413 | - if($redirect === true) { |
|
| 413 | + if ($redirect === true) { |
|
| 414 | 414 | sys_redirect(SN_ROOT_RELATIVE . (empty($_COOKIE[SN_COOKIE_U]) ? 'login.php' : 'admin/overview.php')); |
| 415 | - } elseif($redirect !== false) { |
|
| 415 | + } elseif ($redirect !== false) { |
|
| 416 | 416 | sys_redirect($redirect); |
| 417 | 417 | } |
| 418 | 418 | } |
@@ -423,15 +423,15 @@ discard block |
||
| 423 | 423 | * @param $user_selected |
| 424 | 424 | */ |
| 425 | 425 | public function impersonate($user_selected) { |
| 426 | - if($_COOKIE[SN_COOKIE_U_I]) { |
|
| 426 | + if ($_COOKIE[SN_COOKIE_U_I]) { |
|
| 427 | 427 | die('You already impersonating someone. Go back to living other\'s life! Or clear your cookies and try again'); // TODO: Log it |
| 428 | 428 | } |
| 429 | 429 | |
| 430 | - if($this->auth_level_max_local < AUTH_LEVEL_ADMINISTRATOR) { |
|
| 430 | + if ($this->auth_level_max_local < AUTH_LEVEL_ADMINISTRATOR) { |
|
| 431 | 431 | die('You can\'t impersonate - too low level'); // TODO: Log it |
| 432 | 432 | } |
| 433 | 433 | |
| 434 | - if($this->auth_level_max_local <= $user_selected['authlevel']) { |
|
| 434 | + if ($this->auth_level_max_local <= $user_selected['authlevel']) { |
|
| 435 | 435 | die('You can\'t impersonate this account - level is greater or equal to yours'); // TODO: Log it |
| 436 | 436 | } |
| 437 | 437 | |
@@ -439,7 +439,7 @@ discard block |
||
| 439 | 439 | $account_translate = reset($account_translate[$user_selected['id']][self::$main_provider->provider_id]); |
| 440 | 440 | $account_to_impersonate = new Account(self::$main_provider->db); |
| 441 | 441 | $account_to_impersonate->db_get_by_id($account_translate['provider_account_id']); |
| 442 | - if(!$account_to_impersonate->is_exists) { |
|
| 442 | + if (!$account_to_impersonate->is_exists) { |
|
| 443 | 443 | die('Какая-то ошибка - не могу найти аккаунт для имперсонации'); // TODO: Log it |
| 444 | 444 | } |
| 445 | 445 | self::$main_provider->impersonate($account_to_impersonate); |
@@ -465,12 +465,12 @@ discard block |
||
| 465 | 465 | public function password_check($password_unsafe) { |
| 466 | 466 | $result = false; |
| 467 | 467 | |
| 468 | - if(empty($this->providers_authorised)) { |
|
| 468 | + if (empty($this->providers_authorised)) { |
|
| 469 | 469 | // TODO - такого быть не может! |
| 470 | 470 | self::flog("password_check: Не найдено ни одного авторизированного провайдера в self::\$providers_authorised", true); |
| 471 | 471 | } else { |
| 472 | - foreach($this->providers_authorised as $provider_id => $provider) { |
|
| 473 | - if($provider->is_feature_supported(AUTH_FEATURE_HAS_PASSWORD)) { |
|
| 472 | + foreach ($this->providers_authorised as $provider_id => $provider) { |
|
| 473 | + if ($provider->is_feature_supported(AUTH_FEATURE_HAS_PASSWORD)) { |
|
| 474 | 474 | $result = $result || $provider->password_check($password_unsafe); |
| 475 | 475 | } |
| 476 | 476 | } |
@@ -491,7 +491,7 @@ discard block |
||
| 491 | 491 | public function password_change($old_password_unsafe, $new_password_unsafe) { |
| 492 | 492 | global $lang; |
| 493 | 493 | |
| 494 | - if(empty($this->providers_authorised)) { |
|
| 494 | + if (empty($this->providers_authorised)) { |
|
| 495 | 495 | // TODO - такого быть не может! |
| 496 | 496 | self::flog("Не найдено ни одного авторизированного провайдера в self::\$providers_authorised", true); |
| 497 | 497 | return false; |
@@ -504,8 +504,8 @@ discard block |
||
| 504 | 504 | $salt_unsafe = self::password_salt_generate(); |
| 505 | 505 | |
| 506 | 506 | $providers_changed_password = array(); |
| 507 | - foreach($this->providers_authorised as $provider_id => $provider) { |
|
| 508 | - if( |
|
| 507 | + foreach ($this->providers_authorised as $provider_id => $provider) { |
|
| 508 | + if ( |
|
| 509 | 509 | !$provider->is_feature_supported(AUTH_FEATURE_PASSWORD_CHANGE) |
| 510 | 510 | || !$provider->password_change($old_password_unsafe, $new_password_unsafe, $salt_unsafe) |
| 511 | 511 | ) { |
@@ -517,7 +517,7 @@ discard block |
||
| 517 | 517 | $account_translation = PlayerToAccountTranslate::db_translate_get_users_from_account_list($provider_id, $provider->account->account_id); |
| 518 | 518 | |
| 519 | 519 | // Рассылаем уведомления о смене пароля в ЛС |
| 520 | - foreach($account_translation as $user_id => $provider_info) { |
|
| 520 | + foreach ($account_translation as $user_id => $provider_info) { |
|
| 521 | 521 | // TODO - УКазывать тип аккаунта, на котором сменён пароль |
| 522 | 522 | msg_send_simple_message($user_id, 0, SN_TIME_NOW, MSG_TYPE_ADMIN, |
| 523 | 523 | $lang['sys_administration'], $lang['sys_login_register_message_title'], |
@@ -564,7 +564,7 @@ discard block |
||
| 564 | 564 | sn_db_transaction_start(); |
| 565 | 565 | // Проверить наличие такого имени в истории имён |
| 566 | 566 | |
| 567 | - if(db_player_name_exists($player_name_unsafe)) { |
|
| 567 | + if (db_player_name_exists($player_name_unsafe)) { |
|
| 568 | 568 | throw new Exception(REGISTER_ERROR_PLAYER_NAME_EXISTS, ERR_ERROR); |
| 569 | 569 | } |
| 570 | 570 | |
@@ -572,11 +572,11 @@ discard block |
||
| 572 | 572 | $player_language = ''; |
| 573 | 573 | $player_email = ''; |
| 574 | 574 | // TODO - порнография - работа должна происходить над списком аккаунтов, а не только на одном аккаунте... |
| 575 | - foreach($this->providers_authorised as $provider) { |
|
| 576 | - if(!$player_language && $provider->account->account_language) { |
|
| 575 | + foreach ($this->providers_authorised as $provider) { |
|
| 576 | + if (!$player_language && $provider->account->account_language) { |
|
| 577 | 577 | $player_language = $provider->account->account_language; |
| 578 | 578 | } |
| 579 | - if(!$player_email && $provider->account->account_email) { |
|
| 579 | + if (!$player_email && $provider->account->account_email) { |
|
| 580 | 580 | $player_email = $provider->account->account_email; |
| 581 | 581 | } |
| 582 | 582 | } |
@@ -592,7 +592,7 @@ discard block |
||
| 592 | 592 | )); |
| 593 | 593 | // Зарегестрировать на него аккаунты из self::$accounts_authorised |
| 594 | 594 | $a_user = self::$user; |
| 595 | - foreach($this->providers_authorised as $provider) { |
|
| 595 | + foreach ($this->providers_authorised as $provider) { |
|
| 596 | 596 | // TODO - порнография. Должен быть отдельный класс трансляторов - в т.ч. и кэширующий транслятор |
| 597 | 597 | // TODO - ну и работа должна происходить над списком аккаунтов, а не только на одном аккаунте... |
| 598 | 598 | // self::db_translate_register_user($provider->provider_id, $provider->account->account_id, $a_user['id']); |
@@ -604,7 +604,7 @@ discard block |
||
| 604 | 604 | |
| 605 | 605 | sn_db_transaction_commit(); |
| 606 | 606 | $this->register_status = LOGIN_SUCCESS; |
| 607 | - } catch(Exception $e) { |
|
| 607 | + } catch (Exception $e) { |
|
| 608 | 608 | sn_db_transaction_rollback(); |
| 609 | 609 | |
| 610 | 610 | // Если старое имя занято |
@@ -623,10 +623,10 @@ discard block |
||
| 623 | 623 | // Пробиваем все ИД игроков по базе - есть ли вообще такие записи |
| 624 | 624 | // Вообще-то это не особо нужно - у нас по определению стоят констраинты |
| 625 | 625 | // Зато так мы узнаем максимальный authlevel, проверим права имперсонейта и вытащим все записи юзеров |
| 626 | - foreach($this->user_id_to_provider as $user_id => $cork) { |
|
| 626 | + foreach ($this->user_id_to_provider as $user_id => $cork) { |
|
| 627 | 627 | $user = db_user_by_id($user_id); |
| 628 | 628 | // Если записи игрока в БД не существует? |
| 629 | - if(empty($user['id'])) { |
|
| 629 | + if (empty($user['id'])) { |
|
| 630 | 630 | // Удаляем этого и переходим к следующему |
| 631 | 631 | unset($this->user_id_to_provider[$user_id]); |
| 632 | 632 | // Де-регистрируем игрока из таблицы трансляции игроков |
@@ -647,7 +647,7 @@ discard block |
||
| 647 | 647 | // OK v4.5 |
| 648 | 648 | protected function get_active_user() { |
| 649 | 649 | // Проверяем куку "текущего игрока" из браузера |
| 650 | - if( |
|
| 650 | + if ( |
|
| 651 | 651 | // Кука не пустая |
| 652 | 652 | ($_COOKIE[SN_COOKIE_U] = trim($_COOKIE[SN_COOKIE_U])) && !empty($_COOKIE[SN_COOKIE_U]) |
| 653 | 653 | // И в куке находится ID |
@@ -672,7 +672,7 @@ discard block |
||
| 672 | 672 | } |
| 673 | 673 | |
| 674 | 674 | // В куке нет валидного ИД записи игрока, доступной с текущих аккаунтов |
| 675 | - if(empty(self::$user['id'])) { |
|
| 675 | + if (empty(self::$user['id'])) { |
|
| 676 | 676 | // Берем первого из доступных |
| 677 | 677 | // TODO - default_user |
| 678 | 678 | self::$user = reset($this->accessible_user_row_list); |
@@ -696,7 +696,7 @@ discard block |
||
| 696 | 696 | |
| 697 | 697 | $result = array(); |
| 698 | 698 | |
| 699 | - if($user_id && empty($this->is_impersonating)) { |
|
| 699 | + if ($user_id && empty($this->is_impersonating)) { |
|
| 700 | 700 | // self::db_counter_insert(); |
| 701 | 701 | self::$device->db_counter_insert($user_id); |
| 702 | 702 | |
@@ -704,12 +704,12 @@ discard block |
||
| 704 | 704 | |
| 705 | 705 | sys_user_options_unpack($user); |
| 706 | 706 | |
| 707 | - if($user['banaday'] && $user['banaday'] <= SN_TIME_NOW) { |
|
| 707 | + if ($user['banaday'] && $user['banaday'] <= SN_TIME_NOW) { |
|
| 708 | 708 | $user['banaday'] = 0; |
| 709 | 709 | $user['vacation'] = SN_TIME_NOW; |
| 710 | 710 | } |
| 711 | 711 | |
| 712 | - $user['user_lastip'] = self::$device->ip_v4_string;// $ip['ip']; |
|
| 712 | + $user['user_lastip'] = self::$device->ip_v4_string; // $ip['ip']; |
|
| 713 | 713 | $user['user_proxy'] = self::$device->ip_v4_proxy_chain; //$ip['proxy_chain']; |
| 714 | 714 | |
| 715 | 715 | $result[F_BANNED_STATUS] = $user['banaday']; |
@@ -723,13 +723,13 @@ discard block |
||
| 723 | 723 | ); |
| 724 | 724 | } |
| 725 | 725 | |
| 726 | - if($extra = $config->security_ban_extra) { |
|
| 726 | + if ($extra = $config->security_ban_extra) { |
|
| 727 | 727 | $extra = explode(',', $extra); |
| 728 | - array_walk($extra,'trim'); |
|
| 728 | + array_walk($extra, 'trim'); |
|
| 729 | 729 | in_array(self::$device->device_id, $extra) and die(); |
| 730 | 730 | } |
| 731 | 731 | |
| 732 | - if(self::$login_message) { |
|
| 732 | + if (self::$login_message) { |
|
| 733 | 733 | $result[F_LOGIN_MESSAGE] = self::$login_message; |
| 734 | 734 | } |
| 735 | 735 | |
@@ -765,21 +765,21 @@ discard block |
||
| 765 | 765 | protected function register_player_name_validate($player_name_unsafe) { |
| 766 | 766 | // TODO - переделать под RAW-строки |
| 767 | 767 | // Если имя игрока пустое - NO GO! |
| 768 | - if(trim($player_name_unsafe) == '') { |
|
| 768 | + if (trim($player_name_unsafe) == '') { |
|
| 769 | 769 | throw new Exception(REGISTER_ERROR_PLAYER_NAME_EMPTY, ERR_ERROR); |
| 770 | 770 | } |
| 771 | 771 | // Проверяем, что бы в начале и конце не было пустых символов |
| 772 | - if($player_name_unsafe != trim($player_name_unsafe)) { |
|
| 772 | + if ($player_name_unsafe != trim($player_name_unsafe)) { |
|
| 773 | 773 | throw new Exception(REGISTER_ERROR_PLAYER_NAME_TRIMMED, ERR_ERROR); |
| 774 | 774 | } |
| 775 | 775 | // Если логин имеет запрещенные символы - NO GO! |
| 776 | - if(strpbrk($player_name_unsafe, LOGIN_REGISTER_CHARACTERS_PROHIBITED)) { |
|
| 776 | + if (strpbrk($player_name_unsafe, LOGIN_REGISTER_CHARACTERS_PROHIBITED)) { |
|
| 777 | 777 | // TODO - выдавать в сообщение об ошибке список запрещенных символов |
| 778 | 778 | // TODO - заранее извещать игрока, какие символы являются запрещенными |
| 779 | 779 | throw new Exception(REGISTER_ERROR_PLAYER_NAME_RESTRICTED_CHARACTERS, ERR_ERROR); |
| 780 | 780 | } |
| 781 | 781 | // Если логин меньше минимальной длины - NO GO! |
| 782 | - if(strlen($player_name_unsafe) < LOGIN_LENGTH_MIN) { |
|
| 782 | + if (strlen($player_name_unsafe) < LOGIN_LENGTH_MIN) { |
|
| 783 | 783 | // TODO - выдавать в сообщение об ошибке минимальную длину имени игрока |
| 784 | 784 | // TODO - заранее извещать игрока, какая минимальная и максимальная длина имени |
| 785 | 785 | throw new Exception(REGISTER_ERROR_PLAYER_NAME_SHORT, ERR_ERROR); |
@@ -837,7 +837,7 @@ discard block |
||
| 837 | 837 | } |
| 838 | 838 | |
| 839 | 839 | protected static function flog($message, $die = false) { |
| 840 | - if(!defined('DEBUG_AUTH') || !DEBUG_AUTH) { |
|
| 840 | + if (!defined('DEBUG_AUTH') || !DEBUG_AUTH) { |
|
| 841 | 841 | return; |
| 842 | 842 | } |
| 843 | 843 | list($called, $caller) = debug_backtrace(false); |
@@ -850,7 +850,7 @@ discard block |
||
| 850 | 850 | $_SERVER['SERVER_NAME'] == 'localhost' ? print("<div class='debug'>$message - $caller_name\r\n</div>") : false; |
| 851 | 851 | |
| 852 | 852 | SN::log_file("$message - $caller_name"); |
| 853 | - if($die) { |
|
| 853 | + if ($die) { |
|
| 854 | 854 | $die && die("<div class='negative'>СТОП! Функция {$caller_name} при вызове в " . get_called_class() . " (располагается в " . get_class() . "). СООБЩИТЕ АДМИНИСТРАЦИИ!</div>"); |
| 855 | 855 | } |
| 856 | 856 | } |
@@ -17,7 +17,7 @@ |
||
| 17 | 17 | |
| 18 | 18 | require('../common.' . substr(strrchr(__FILE__, '.'), 1)); |
| 19 | 19 | |
| 20 | -if(!SN::$gc->modules->countModulesInGroup('payment')) { |
|
| 20 | +if (!SN::$gc->modules->countModulesInGroup('payment')) { |
|
| 21 | 21 | sys_redirect(SN_ROOT_VIRTUAL . 'admin/overview.php'); |
| 22 | 22 | } |
| 23 | 23 | |
@@ -27,7 +27,7 @@ discard block |
||
| 27 | 27 | 'START_NAME' => $planetrow['name'], |
| 28 | 28 | ); |
| 29 | 29 | |
| 30 | - if(!empty($TargetPlanet)) { |
|
| 30 | + if (!empty($TargetPlanet)) { |
|
| 31 | 31 | $template_route += array( |
| 32 | 32 | 'END_TYPE_TEXT_SH' => $lang['sys_planet_type_sh'][$TargetPlanet['planet_type']], |
| 33 | 33 | 'END_COORDS' => uni_render_coordinates($TargetPlanet), |
@@ -38,8 +38,8 @@ discard block |
||
| 38 | 38 | $template->assign_block_vars('fleets', $template_route); |
| 39 | 39 | |
| 40 | 40 | $sn_groups_fleet = sn_get_groups('fleet'); |
| 41 | - foreach($fleetarray as $ship_id => $ship_count) { |
|
| 42 | - if(in_array($ship_id, $sn_groups_fleet) && $ship_count) { |
|
| 41 | + foreach ($fleetarray as $ship_id => $ship_count) { |
|
| 42 | + if (in_array($ship_id, $sn_groups_fleet) && $ship_count) { |
|
| 43 | 43 | // $ship_base_data = get_ship_data($ship_id, $user); |
| 44 | 44 | $template->assign_block_vars('fleets.ships', array( |
| 45 | 45 | 'ID' => $ship_id, |
@@ -57,11 +57,10 @@ discard block |
||
| 57 | 57 | $fleet_capacity += get_unit_param($Ship, P_CAPACITY) * $Count; |
| 58 | 58 | } |
| 59 | 59 | |
| 60 | - $max_duration = $target_mission == MT_EXPLORE ? get_player_max_expedition_duration($user) : |
|
| 61 | - (isset($missiontype[MT_HOLD]) ? 12 : 0); |
|
| 62 | - if($max_duration) { |
|
| 60 | + $max_duration = $target_mission == MT_EXPLORE ? get_player_max_expedition_duration($user) : (isset($missiontype[MT_HOLD]) ? 12 : 0); |
|
| 61 | + if ($max_duration) { |
|
| 63 | 62 | $config_game_speed_expedition = ($target_mission == MT_EXPLORE && $config->game_speed_expedition ? $config->game_speed_expedition : 1); |
| 64 | - for($i = 1; $i <= $max_duration; $i++) { |
|
| 63 | + for ($i = 1; $i <= $max_duration; $i++) { |
|
| 65 | 64 | $template->assign_block_vars('duration', array( |
| 66 | 65 | 'ID' => $i, |
| 67 | 66 | 'TIME' => pretty_time(ceil($i * 3600 / $config_game_speed_expedition)), |
@@ -80,7 +79,7 @@ discard block |
||
| 80 | 79 | // $TableTitle = uni_render_planet_full($planetrow) . ' => ' . uni_render_planet_full($temp); |
| 81 | 80 | |
| 82 | 81 | $sn_group_resources = sn_get_groups('resources'); |
| 83 | - for($i = 0; $i<3; $i++) { |
|
| 82 | + for ($i = 0; $i < 3; $i++) { |
|
| 84 | 83 | $amount = $planetrow[$sn_group_resources[$i]] - ($i == 2 ? $consumption : 0); |
| 85 | 84 | $template->assign_block_vars('resources', array( |
| 86 | 85 | 'ID' => $i, |
@@ -90,7 +89,7 @@ discard block |
||
| 90 | 89 | )); |
| 91 | 90 | } |
| 92 | 91 | |
| 93 | - if(is_object($captainModule = moduleCaptain()) && ($captain = $captainModule->unit_captain_get($planetrow['id'])) && $captain['unit_location_type'] == LOC_PLANET) { |
|
| 92 | + if (is_object($captainModule = moduleCaptain()) && ($captain = $captainModule->unit_captain_get($planetrow['id'])) && $captain['unit_location_type'] == LOC_PLANET) { |
|
| 94 | 93 | $template->assign_vars(array( |
| 95 | 94 | 'CAPTAIN_ID' => $captain['unit_id'], |
| 96 | 95 | 'CAPTAIN_LEVEL' => $captain['captain_level'], |
@@ -112,9 +111,9 @@ discard block |
||
| 112 | 111 | |
| 113 | 112 | |
| 114 | 113 | 'speedallsmin' => sys_get_param_float('speedallsmin'), |
| 115 | - 'speed' => sys_get_param_int('speed') , |
|
| 114 | + 'speed' => sys_get_param_int('speed'), |
|
| 116 | 115 | |
| 117 | - 'fleet_group' => sys_get_param_id('fleet_group') , |
|
| 116 | + 'fleet_group' => sys_get_param_id('fleet_group'), |
|
| 118 | 117 | 'acs_target_mr' => sys_get_param_str('acs_target_mr'), |
| 119 | 118 | |
| 120 | 119 | 'MAX_DURATION' => $max_duration, |
@@ -2,7 +2,7 @@ |
||
| 2 | 2 | |
| 3 | 3 | include_once('common.' . substr(strrchr(__FILE__, '.'), 1)); |
| 4 | 4 | |
| 5 | -if(SN::$gc->modules->countModulesInGroup('payment') && !defined('SN_GOOGLE')) { |
|
| 5 | +if (SN::$gc->modules->countModulesInGroup('payment') && !defined('SN_GOOGLE')) { |
|
| 6 | 6 | sys_redirect('metamatter.php'); |
| 7 | 7 | } |
| 8 | 8 | |
@@ -68,8 +68,7 @@ |
||
| 68 | 68 | $galaxy = isset($vector[$prefix . 'galaxy']) ? intval($vector[$prefix . 'galaxy']) : 0; |
| 69 | 69 | $system = isset($vector[$prefix . 'system']) ? intval($vector[$prefix . 'system']) : 0; |
| 70 | 70 | $planet = isset($vector[$prefix . 'planet']) ? intval($vector[$prefix . 'planet']) : 0; |
| 71 | - $planet_type = isset($vector[$prefix . 'planet_type']) ? intval($vector[$prefix . 'planet_type']) : |
|
| 72 | - (isset($vector[$prefix . 'type']) ? intval($vector[$prefix . 'type']) : 0); |
|
| 71 | + $planet_type = isset($vector[$prefix . 'planet_type']) ? intval($vector[$prefix . 'planet_type']) : (isset($vector[$prefix . 'type']) ? intval($vector[$prefix . 'type']) : 0); |
|
| 73 | 72 | $planet_type = $planet_type == PT_DEBRIS ? PT_PLANET : $planet_type; |
| 74 | 73 | |
| 75 | 74 | return DBStaticPlanet::db_planet_by_gspt_safe($galaxy, $system, $planet, $planet_type, $for_update, $fields); |
@@ -8,8 +8,8 @@ |
||
| 8 | 8 | const MOON_MIN_SIZE = 1100; |
| 9 | 9 | const MOON_MAX_SIZE = 8999; |
| 10 | 10 | |
| 11 | - const MOON_DEBRIS_MIN = 1000000; // Minimum amount of debris to span a moon |
|
| 12 | - const MOON_CHANCE_MIN_PERCENT = 1; // Minimum chance to span a moon |
|
| 11 | + const MOON_DEBRIS_MIN = 1000000; // Minimum amount of debris to span a moon |
|
| 12 | + const MOON_CHANCE_MIN_PERCENT = 1; // Minimum chance to span a moon |
|
| 13 | 13 | const MOON_CHANCE_MAX_PERCENT = 30; // Maximum chance to span a moon |
| 14 | 14 | |
| 15 | 15 | /** |
@@ -465,15 +465,11 @@ |
||
| 465 | 465 | protected function flt_flyingFleetsSort($a, $b) { |
| 466 | 466 | return |
| 467 | 467 | // Сравниваем время флотов - кто раньше, тот и первый обрабатывается |
| 468 | - $a['fleet_time'] > $b['fleet_time'] ? 1 : ($a['fleet_time'] < $b['fleet_time'] ? -1 : |
|
| 469 | - // Если время - одинаковое, сравниваем события флотов |
|
| 468 | + $a['fleet_time'] > $b['fleet_time'] ? 1 : ($a['fleet_time'] < $b['fleet_time'] ? -1 : // Если время - одинаковое, сравниваем события флотов |
|
| 470 | 469 | // Если события - одинаковые, то флоты равны |
| 471 | - ($a['fleet_event'] == $b['fleet_event'] ? 0 : |
|
| 472 | - // Если события разные - первыми считаем прибывающие флоты |
|
| 473 | - ($a['fleet_event'] == EVENT_FLT_ARRIVE ? 1 : ($b['fleet_event'] == EVENT_FLT_ARRIVE ? -1 : |
|
| 474 | - // Если нет прибывающих флотов - дальше считаем флоты, которые закончили миссию |
|
| 475 | - ($a['fleet_event'] == EVENT_FLT_ACOMPLISH ? 1 : ($b['fleet_event'] == EVENT_FLT_ACOMPLISH ? -1 : |
|
| 476 | - // Если нет флотов, закончивших задание - остались возвращающиеся флоты, которые равны между собой |
|
| 470 | + ($a['fleet_event'] == $b['fleet_event'] ? 0 : // Если события разные - первыми считаем прибывающие флоты |
|
| 471 | + ($a['fleet_event'] == EVENT_FLT_ARRIVE ? 1 : ($b['fleet_event'] == EVENT_FLT_ARRIVE ? -1 : // Если нет прибывающих флотов - дальше считаем флоты, которые закончили миссию |
|
| 472 | + ($a['fleet_event'] == EVENT_FLT_ACOMPLISH ? 1 : ($b['fleet_event'] == EVENT_FLT_ACOMPLISH ? -1 : // Если нет флотов, закончивших задание - остались возвращающиеся флоты, которые равны между собой |
|
| 477 | 473 | // TODO: Добавить еще проверку по ID флота и/или времени запуска - что бы обсчитывать их в порядке запуска |
| 478 | 474 | ( |
| 479 | 475 | 0 // Вообще сюда доходить не должно - будет отсекаться на равенстве событий |
@@ -142,9 +142,7 @@ |
||
| 142 | 142 | // Простое условие - $field_id = $field_value |
| 143 | 143 | if (is_string($field_id)) { |
| 144 | 144 | $field_value = |
| 145 | - $field_value === null ? 'NULL' : |
|
| 146 | - (is_string($field_value) ? "'" . db_escape($field_value) . "'" : |
|
| 147 | - (is_bool($field_value) ? intval($field_value) : $field_value)); |
|
| 145 | + $field_value === null ? 'NULL' : (is_string($field_value) ? "'" . db_escape($field_value) . "'" : (is_bool($field_value) ? intval($field_value) : $field_value)); |
|
| 148 | 146 | $the_conditions[] = "`{$field_id}` = {$field_value}"; |
| 149 | 147 | } else { |
| 150 | 148 | die('Неподдерживаемый тип условия'); |