Issues (1369)

includes/functions/_deprecated.php (3 issues)

1
<?php
2
/**
3
 * Created by Gorlum 15.06.2017 4:32
4
 */
5
6
// ------------------------------------------------------------------
7
use DBAL\db_mysql;
8
use DBAL\OldDbChangeSet;
9
use Fleet\DbFleetStatic;
10
use Planet\DBStaticPlanet;
11
12
/**
13
 * @param array $fleet_row
14
 * @param bool  $start
15
 * @param bool  $only_resources
16
 * @param bool  $safe_fleet
17
 *
18
 * @return mixed
19
 * @deprecated
20
 */
21
function RestoreFleetToPlanet(&$fleet_row, $start = true, $only_resources = false, $safe_fleet = false) {
22
  /** @see sn_RestoreFleetToPlanet() Default function */
23
  return sn_function_call('RestoreFleetToPlanet', array(&$fleet_row, $start, $only_resources, $safe_fleet, &$result));
0 ignored issues
show
Comprehensibility Best Practice introduced by
The variable $result seems to be never defined.
Loading history...
24
}
25
26
/**
27
 * @param array $fleet_row
28
 * @param bool  $start
29
 * @param bool  $only_resources
30
 * @param bool  $safe_fleet
31
 * @param mixed $result
32
 *
33
 * @return int
34
 * @deprecated
35
 */
36
function sn_RestoreFleetToPlanet(&$fleet_row, $start = true, $only_resources = false, $safe_fleet = false, &$result) {
0 ignored issues
show
The parameter $safe_fleet is not used and could be removed. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-unused  annotation

36
function sn_RestoreFleetToPlanet(&$fleet_row, $start = true, $only_resources = false, /** @scrutinizer ignore-unused */ $safe_fleet = false, &$result) {

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
37
  db_mysql::db_transaction_check(true);
38
39
  $result = CACHE_NOTHING;
40
  if (!is_array($fleet_row)) {
41
    return $result;
42
  }
43
44
  $prefix = $start ? 'start' : 'end';
45
46
  // Поскольку эта функция может быть вызвана не из обработчика флотов - нам надо всё заблокировать вроде бы НЕ МОЖЕТ!!!
47
  // TODO Проеверить от многократного срабатывания !!!
48
  // Тут не блокируем пока - сначала надо заблокировать пользователя, что бы не было дедлока
49
//  $fleet_row = doquery("SELECT * FROM {{fleets}} WHERE `fleet_id`='{$fleet_row['fleet_id']}' LIMIT 1", true);
50
  // Узнаем ИД владельца планеты - без блокировки
51
  // TODO поменять на владельца планеты - когда его будут возвращать всегда !!!
52
  $user_id = DBStaticPlanet::db_planet_by_vector($fleet_row, "fleet_{$prefix}_");
53
  $user_id = $user_id['id_owner'];
54
  // Блокируем пользователя
55
  $user = db_user_by_id($user_id, true);
0 ignored issues
show
Deprecated Code introduced by
The function db_user_by_id() has been deprecated. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

55
  $user = /** @scrutinizer ignore-deprecated */ db_user_by_id($user_id, true);
Loading history...
56
  // Блокируем планету
57
  $planet_arrival = DBStaticPlanet::db_planet_by_vector($fleet_row, "fleet_{$prefix}_");
58
  // Блокируем флот
59
//  $fleet_row = doquery("SELECT * FROM {{fleets}} WHERE `fleet_id`='{$fleet_row['fleet_id']}' LIMIT 1 FOR UPDATE;", true);
60
61
  // Если флот уже обработан - не существует или возращается - тогда ничего не делаем
62
  if (!$fleet_row || !is_array($fleet_row) || ($fleet_row['fleet_mess'] == 1 && $only_resources)) {
63
    return $result;
64
  }
65
66
  // Флот, который возвращается на захваченную планету, пропадает
67
  if ($start && $fleet_row['fleet_mess'] == 1 && $planet_arrival['id_owner'] != $fleet_row['fleet_owner']) {
68
    DbFleetStatic::db_fleet_delete($fleet_row['fleet_id']);
69
70
    return $result;
71
  }
72
73
  $db_changeset = array();
74
  if (!$only_resources) {
75
    DbFleetStatic::db_fleet_delete($fleet_row['fleet_id']);
76
77
    if ($fleet_row['fleet_owner'] == $planet_arrival['id_owner']) {
78
      $fleet_array = sys_unit_str2arr($fleet_row['fleet_array']);
79
      foreach ($fleet_array as $ship_id => $ship_count) {
80
        if ($ship_count) {
81
          $db_changeset['unit'][] = OldDbChangeSet::db_changeset_prepare_unit($ship_id, $ship_count, $user, $planet_arrival['id']);
82
        }
83
      }
84
    } else {
85
      return CACHE_NOTHING;
86
    }
87
  } else {
88
    $fleet_set = array(
89
      'fleet_resource_metal'     => 0,
90
      'fleet_resource_crystal'   => 0,
91
      'fleet_resource_deuterium' => 0,
92
      'fleet_mess'               => 1,
93
    );
94
    DbFleetStatic::fleet_update_set($fleet_row['fleet_id'], $fleet_set);
95
  }
96
97
  if (!empty($db_changeset)) {
98
    OldDbChangeSet::db_changeset_apply($db_changeset);
99
  }
100
101
  DBStaticPlanet::db_planet_set_by_id($planet_arrival['id'],
102
    "`metal` = `metal` + '{$fleet_row['fleet_resource_metal']}', `crystal` = `crystal` + '{$fleet_row['fleet_resource_crystal']}', `deuterium` = `deuterium` + '{$fleet_row['fleet_resource_deuterium']}'");
103
  $result = CACHE_FLEET | ($start ? CACHE_PLANET_SRC : CACHE_PLANET_DST);
104
105
  return $result;
106
}
107