Completed
Push — trunk ( 0d0bfe...e6cc80 )
by SuperNova.WS
03:47
created
includes/functions/uni_functions.php 1 patch
Braces   +3 added lines, -1 removed lines patch added patch discarded remove patch
@@ -236,9 +236,11 @@
 block discarded – undo
236 236
   }
237 237
 
238 238
   // Если новая планета не найдена или было переключения - проверяем текущую выбранную планету
239
-  if (!isset($planet_row['id'])) // || $planet_row['id'] != $user['current_planet']
239
+  if (!isset($planet_row['id'])) {
240
+    // || $planet_row['id'] != $user['current_planet']
240 241
   {
241 242
     $planet_row = DBStaticPlanet::db_planet_by_id_and_owner($user['current_planet'], $user['id'], false, 'id');
243
+  }
242 244
     // Если текущей планеты не существует - выставляем Столицу
243 245
     if (!isset($planet_row['id'])) {
244 246
       $planet_row = DBStaticPlanet::db_planet_by_id_and_owner($user['id_planet'], $user['id'], false, 'id');
Please login to merge, or discard this patch.
includes/includes/art_artifact.php 2 patches
Spacing   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
 {
5 5
   global $lang;
6 6
 
7
-  if(!in_array($unit_id, sn_get_groups('artifacts')))
7
+  if (!in_array($unit_id, sn_get_groups('artifacts')))
8 8
   {
9 9
     return;
10 10
   }
@@ -13,17 +13,17 @@  discard block
 block discarded – undo
13 13
   $user = db_user_by_id($user['id'], true);
14 14
 
15 15
   $unit_level = $artifact_level_old = mrc_get_level($user, array(), $unit_id, true);
16
-  if($unit_level > 0)
16
+  if ($unit_level > 0)
17 17
   {
18 18
     $db_changeset = array();
19
-    switch($unit_id)
19
+    switch ($unit_id)
20 20
     {
21 21
       case ART_LHC:
22 22
       case ART_HOOK_SMALL:
23 23
       case ART_HOOK_MEDIUM:
24 24
       case ART_HOOK_LARGE:
25 25
         $has_moon = DBStaticPlanet::db_planet_by_parent($planetrow['id'], true, '`id`');
26
-        if($planetrow['planet_type'] == PT_PLANET && !$has_moon['id'])
26
+        if ($planetrow['planet_type'] == PT_PLANET && !$has_moon['id'])
27 27
         {
28 28
           $unit_level--;
29 29
           $updateDebris = false;
@@ -44,7 +44,7 @@  discard block
 block discarded – undo
44 44
             break;
45 45
           }
46 46
 
47
-          if($moonSize)
47
+          if ($moonSize)
48 48
           {
49 49
             $new_moon_row = uni_create_moon($planetrow['galaxy'], $planetrow['system'], $planetrow['planet'], $user['id'], $moonSize, $updateDebris);
50 50
             $message = sprintf($lang['art_moon_create'][$unit_id], $new_moon_row['name'], uni_render_coordinates($planetrow), HelperString::numberFloorAndFormat($moonSize));
@@ -65,14 +65,14 @@  discard block
 block discarded – undo
65 65
       case ART_RCD_MEDIUM:
66 66
       case ART_RCD_LARGE:
67 67
         $planetrow = DBStaticPlanet::db_planet_by_id($planetrow['id'], true);
68
-        if($planetrow['planet_type'] != PT_PLANET)
68
+        if ($planetrow['planet_type'] != PT_PLANET)
69 69
         {
70 70
           $message = $lang['art_rcd_err_moon'];
71 71
           break;
72 72
         }
73 73
 
74 74
         $que = que_get($user['id'], $planetrow['id'], QUE_STRUCTURES, false);
75
-        if(!empty($que['items']))
75
+        if (!empty($que['items']))
76 76
         {
77 77
           $message = $lang['art_rcd_err_que'];
78 78
           break;
@@ -81,15 +81,15 @@  discard block
 block discarded – undo
81 81
         $artifact_deploy = get_unit_param($unit_id, P_DEPLOY);
82 82
 
83 83
         $sectors_used = 0;
84
-        foreach($artifact_deploy as $deploy_unit_id => $deploy_unit_level)
84
+        foreach ($artifact_deploy as $deploy_unit_id => $deploy_unit_level)
85 85
         {
86
-          if(!($levels_deployed = max(0, $deploy_unit_level - mrc_get_level($user, $planetrow, $deploy_unit_id, true, true))))
86
+          if (!($levels_deployed = max(0, $deploy_unit_level - mrc_get_level($user, $planetrow, $deploy_unit_id, true, true))))
87 87
             continue;
88 88
           $sectors_used += $levels_deployed;
89 89
           $db_changeset['unit'][] = OldDbChangeSet::db_changeset_prepare_unit($deploy_unit_id, $levels_deployed, $user, $planetrow['id']);
90 90
         }
91 91
 
92
-        if($sectors_used == 0)
92
+        if ($sectors_used == 0)
93 93
         {
94 94
           $message = $lang['art_rcd_err_no_sense'];
95 95
           break;
@@ -104,13 +104,13 @@  discard block
 block discarded – undo
104 104
         $que_item = null;
105 105
         $que = que_get($user['id'], $planetrow['id'], QUE_RESEARCH, true);
106 106
         $current_que = &$que['ques'][QUE_RESEARCH][$user['id']][0];
107
-        if(!empty($current_que))
107
+        if (!empty($current_que))
108 108
         {
109 109
           reset($current_que);
110 110
           $que_item = &$que['ques'][QUE_RESEARCH][$user['id']][0][key($current_que)];
111 111
         }
112 112
 
113
-        if(!empty($que_item) && $que_item['que_time_left'] > 60)
113
+        if (!empty($que_item) && $que_item['que_time_left'] > 60)
114 114
         {
115 115
           $unit_level--;
116 116
           $old_time = $que_item['que_time_left'];
@@ -131,13 +131,13 @@  discard block
 block discarded – undo
131 131
         $que = que_get($user['id'], $planetrow['id'], QUE_STRUCTURES, true);
132 132
         $current_que = &$que['ques'][QUE_STRUCTURES][$user['id']][$planetrow['id']];
133 133
         // $que_item = &$que['que'][QUE_STRUCTURES][0];
134
-        if(!empty($current_que))
134
+        if (!empty($current_que))
135 135
         {
136 136
           reset($current_que);
137 137
           $que_item = &$que['ques'][QUE_STRUCTURES][$user['id']][$planetrow['id']][key($current_que)];
138 138
         }
139 139
 
140
-        if(isset($que_item) && $que_item['que_time_left'] > 60)
140
+        if (isset($que_item) && $que_item['que_time_left'] > 60)
141 141
         {
142 142
           $unit_level--;
143 143
           $old_time = $que_item['que_time_left'];
@@ -155,7 +155,7 @@  discard block
 block discarded – undo
155 155
       break;
156 156
 
157 157
     }
158
-    if($unit_level != $artifact_level_old)
158
+    if ($unit_level != $artifact_level_old)
159 159
     {
160 160
       $db_changeset['unit'][] = OldDbChangeSet::db_changeset_prepare_unit($unit_id, $unit_level - $artifact_level_old, $user);
161 161
       OldDbChangeSet::db_changeset_apply($db_changeset);
Please login to merge, or discard this patch.
Braces   +9 added lines, -14 removed lines patch added patch discarded remove patch
@@ -1,7 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3
-function art_use(&$user, &$planetrow, $unit_id)
4
-{
3
+function art_use(&$user, &$planetrow, $unit_id) {
5 4
   global $lang;
6 5
 
7 6
   if(!in_array($unit_id, sn_get_groups('artifacts')))
@@ -48,14 +47,12 @@  discard block
 block discarded – undo
48 47
           {
49 48
             $new_moon_row = uni_create_moon($planetrow['galaxy'], $planetrow['system'], $planetrow['planet'], $user['id'], $moonSize, $updateDebris);
50 49
             $message = sprintf($lang['art_moon_create'][$unit_id], $new_moon_row['name'], uni_render_coordinates($planetrow), HelperString::numberFloorAndFormat($moonSize));
51
-          }
52
-          else
50
+          } else
53 51
           {
54 52
             $message = $lang['art_lhc_moon_fail'];
55 53
           }
56 54
           msg_send_simple_message($user['id'], 0, 0, MSG_TYPE_ADMIN, $lang['art_lhc_from'], $lang['art_lhc_subj'], $message);
57
-        }
58
-        else
55
+        } else
59 56
         {
60 57
           $message = $lang['art_moon_exists'];
61 58
         }
@@ -83,8 +80,9 @@  discard block
 block discarded – undo
83 80
         $sectors_used = 0;
84 81
         foreach($artifact_deploy as $deploy_unit_id => $deploy_unit_level)
85 82
         {
86
-          if(!($levels_deployed = max(0, $deploy_unit_level - mrc_get_level($user, $planetrow, $deploy_unit_id, true, true))))
87
-            continue;
83
+          if(!($levels_deployed = max(0, $deploy_unit_level - mrc_get_level($user, $planetrow, $deploy_unit_id, true, true)))) {
84
+                      continue;
85
+          }
88 86
           $sectors_used += $levels_deployed;
89 87
           $db_changeset['unit'][] = OldDbChangeSet::db_changeset_prepare_unit($deploy_unit_id, $levels_deployed, $user, $planetrow['id']);
90 88
         }
@@ -118,8 +116,7 @@  discard block
 block discarded – undo
118 116
           DBStaticQue::db_que_set_time_left_by_id($que_item['que_id'], $que_item['que_time_left']);
119 117
           $message = sprintf($lang['art_heurestic_chip_ok'], $lang['tech'][$que_item['que_unit_id']], $que_item['que_unit_level'], sys_time_human($old_time - $que_item['que_time_left']));
120 118
           msg_send_simple_message($user['id'], 0, 0, MSG_TYPE_QUE, $lang['art_heurestic_chip_subj'], $lang['art_heurestic_chip_subj'], $message);
121
-        }
122
-        else
119
+        } else
123 120
         {
124 121
           $message = $lang['art_heurestic_chip_no_research'];
125 122
         }
@@ -147,8 +144,7 @@  discard block
 block discarded – undo
147 144
             $lang['tech'][$que_item['que_unit_id']], $que_item['que_unit_level'], $planetrow['name'], uni_render_coordinates($planetrow), sys_time_human($old_time - $que_item['que_time_left'])
148 145
           );
149 146
           msg_send_simple_message($user['id'], 0, 0, MSG_TYPE_QUE, $lang['art_nano_builder_subj'], $lang['art_nano_builder_subj'], $message);
150
-        }
151
-        else
147
+        } else
152 148
         {
153 149
           $message = $lang['art_nano_builder_no_que'];
154 150
         }
@@ -160,8 +156,7 @@  discard block
 block discarded – undo
160 156
       $db_changeset['unit'][] = OldDbChangeSet::db_changeset_prepare_unit($unit_id, $unit_level - $artifact_level_old, $user);
161 157
       OldDbChangeSet::db_changeset_apply($db_changeset);
162 158
     }
163
-  }
164
-  else
159
+  } else
165 160
   {
166 161
     $message = $lang['art_err_no_artifact'];
167 162
   }
Please login to merge, or discard this patch.
classes/Ube/Ube4_1/Ube4_1Calc.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -72,7 +72,7 @@
 block discarded – undo
72 72
         // Для не-симулятора - рандомизируем каждый раунд значения атаки и щитов
73 73
         $fleet_data[UBE_ATTACK_BASE][$unit_id] = floor($fleet_info[UBE_ATTACK][$unit_id] * ($isSimulatorStatic ? 1 : mt_rand(80, 120) / 100));
74 74
         $fleet_data[UBE_SHIELD_BASE][$unit_id] = floor($fleet_info[UBE_SHIELD][$unit_id] * ($isSimulatorStatic ? 1 : mt_rand(80, 120) / 100));
75
-        $fleet_data[UBE_ARMOR_BASE][$unit_id] = floor($fleet_info[UBE_ARMOR][$unit_id]);// * ($is_simulator ? 1 : mt_rand(80, 120) / 100));
75
+        $fleet_data[UBE_ARMOR_BASE][$unit_id] = floor($fleet_info[UBE_ARMOR][$unit_id]); // * ($is_simulator ? 1 : mt_rand(80, 120) / 100));
76 76
 
77 77
         $fleet_data[UBE_ATTACK][$unit_id] = $fleet_data[UBE_ATTACK_BASE][$unit_id] * $unit_count;
78 78
         $fleet_data[UBE_SHIELD][$unit_id] = $fleet_data[UBE_SHIELD_BASE][$unit_id] * $unit_count;
Please login to merge, or discard this patch.
classes/Universe.php 1 patch
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -8,8 +8,8 @@
 block discarded – undo
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
   /**
Please login to merge, or discard this patch.
includes/vars.php 1 patch
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -564,9 +564,9 @@  discard block
 block discarded – undo
564 564
           2 => 0.01,
565 565
         ),
566 566
         P_MISSION_EXPEDITION_OUTCOME_SECONDARY => [
567
-          [P_CHANCE => 90, P_MULTIPLIER => 0.01, P_MESSAGE_ID => 2,],
568
-          [P_CHANCE =>  9, P_MULTIPLIER => 0.02, P_MESSAGE_ID => 1,],
569
-          [P_CHANCE =>  1, P_MULTIPLIER => 0.10, P_MESSAGE_ID => 0,],
567
+          [P_CHANCE => 90, P_MULTIPLIER => 0.01, P_MESSAGE_ID => 2, ],
568
+          [P_CHANCE =>  9, P_MULTIPLIER => 0.02, P_MESSAGE_ID => 1, ],
569
+          [P_CHANCE =>  1, P_MULTIPLIER => 0.10, P_MESSAGE_ID => 0, ],
570 570
         ],
571 571
       ),
572 572
       FLT_EXPEDITION_OUTCOME_FOUND_RESOURCES => array(
@@ -578,9 +578,9 @@  discard block
 block discarded – undo
578 578
           2 => 0.025,
579 579
         ),
580 580
         P_MISSION_EXPEDITION_OUTCOME_SECONDARY => [
581
-          [P_CHANCE => 90, P_MULTIPLIER => 0.025, P_MESSAGE_ID => 2,],
582
-          [P_CHANCE =>  9, P_MULTIPLIER => 0.050, P_MESSAGE_ID => 1,],
583
-          [P_CHANCE =>  1, P_MULTIPLIER => 0.100, P_MESSAGE_ID => 0,],
581
+          [P_CHANCE => 90, P_MULTIPLIER => 0.025, P_MESSAGE_ID => 2, ],
582
+          [P_CHANCE =>  9, P_MULTIPLIER => 0.050, P_MESSAGE_ID => 1, ],
583
+          [P_CHANCE =>  1, P_MULTIPLIER => 0.100, P_MESSAGE_ID => 0, ],
584 584
         ],
585 585
       ),
586 586
       FLT_EXPEDITION_OUTCOME_FOUND_DM        => array(
Please login to merge, or discard this patch.
classes/Fleet/RecordFleet.php 1 patch
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -76,8 +76,8 @@  discard block
 block discarded – undo
76 76
   public function __construct(GlobalContainer $services = null) {
77 77
     parent::__construct($services);
78 78
 
79
-    if(empty(static::$shipInfo)) {
80
-      foreach(sn_get_groups('fleet') as $unit_id) {
79
+    if (empty(static::$shipInfo)) {
80
+      foreach (sn_get_groups('fleet') as $unit_id) {
81 81
         static::$shipInfo[$unit_id] = get_unit_param($unit_id);
82 82
         static::$shipInfo[$unit_id][P_COST_METAL] = get_unit_cost_in(static::$shipInfo[$unit_id][P_COST]);
83 83
       }
@@ -103,7 +103,7 @@  discard block
 block discarded – undo
103 103
    * @inheritdoc
104 104
    */
105 105
   public function update() {
106
-    if($this->getShipCount() < 1) {
106
+    if ($this->getShipCount() < 1) {
107 107
       return $this->delete();
108 108
     }
109 109
 
@@ -127,7 +127,7 @@  discard block
 block discarded – undo
127 127
    */
128 128
   public function getCostInMetal() {
129 129
     $result = 0;
130
-    foreach($this->shipList as $shipId => $amount) {
130
+    foreach ($this->shipList as $shipId => $amount) {
131 131
       $result += $amount * $this->getShipCostInMetal($shipId);
132 132
     }
133 133
 
@@ -148,7 +148,7 @@  discard block
 block discarded – undo
148 148
    */
149 149
   public function getCapacity() {
150 150
     $result = 0;
151
-    foreach($this->shipList as $shipId => $amount) {
151
+    foreach ($this->shipList as $shipId => $amount) {
152 152
       $result += $amount * $this->getShipCapacity($shipId);
153 153
     }
154 154
 
@@ -165,12 +165,12 @@  discard block
 block discarded – undo
165 165
    */
166 166
   public function changeShipCount($shipSnId, $shipCount) {
167 167
     !isset($this->shipList[$shipSnId]) ? $this->shipList[$shipSnId] = 0 : false;
168
-    if($this->shipList[$shipSnId] + $shipCount < 0) {
168
+    if ($this->shipList[$shipSnId] + $shipCount < 0) {
169 169
       throw new \Exception("Trying to deduct more ships [{$shipSnId}] '{$shipCount}' then fleet has {$this->shipList[$shipSnId]}");
170 170
     }
171 171
 
172 172
     $this->shipList[$shipSnId] += $shipCount;
173
-    if($this->shipList[$shipSnId] <= 0) {
173
+    if ($this->shipList[$shipSnId] <= 0) {
174 174
       unset($this->shipList[$shipSnId]);
175 175
     }
176 176
 
@@ -185,11 +185,11 @@  discard block
 block discarded – undo
185 185
    * @throws \Exception
186 186
    */
187 187
   public function changeResource($resourceId, $resourceCount) {
188
-    if(!array_key_exists($resourceId, $this->resources) || empty($resourceCount)) {
188
+    if (!array_key_exists($resourceId, $this->resources) || empty($resourceCount)) {
189 189
       return;
190 190
     }
191 191
 
192
-    if($this->resources[$resourceId] + $resourceCount < 0) {
192
+    if ($this->resources[$resourceId] + $resourceCount < 0) {
193 193
       throw new \Exception("Trying to deduct more resources [{$resourceId}] '{$resourceCount}' then fleet has {$this->resources[$resourceId]}");
194 194
     }
195 195
 
Please login to merge, or discard this patch.
classes/Fleet/MissionExplore.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -40,7 +40,7 @@
 block discarded – undo
40 40
    *
41 41
    * @var int[] $shipsToRemove
42 42
    */
43
-  protected $shipsToRemove = [SHIP_COLONIZER, SHIP_SPY,];
43
+  protected $shipsToRemove = [SHIP_COLONIZER, SHIP_SPY, ];
44 44
 
45 45
   // -------------------------------------------------------------------------------------------------------------------
46 46
   /**
Please login to merge, or discard this patch.
classes/Common/GlobalContainer.php 1 patch
Spacing   +19 added lines, -19 removed lines patch added patch discarded remove patch
@@ -86,87 +86,87 @@
 block discarded – undo
86 86
 
87 87
     // Services --------------------------------------------------------------------------------------------------------
88 88
     // Default db
89
-    $gc->db = function (GlobalContainer $c) {
89
+    $gc->db = function(GlobalContainer $c) {
90 90
       classSupernova::$db = new \db_mysql($c);
91 91
 
92 92
       return classSupernova::$db;
93 93
     };
94 94
 
95
-    $gc->debug = function (/** @noinspection PhpUnusedParameterInspection */
95
+    $gc->debug = function(/** @noinspection PhpUnusedParameterInspection */
96 96
       GlobalContainer $c) {
97 97
       return new \debug();
98 98
     };
99 99
 
100
-    $gc->cache = function (GlobalContainer $gc) {
100
+    $gc->cache = function(GlobalContainer $gc) {
101 101
       return new \classCache($gc->cachePrefix);
102 102
     };
103 103
 
104
-    $gc->config = function (GlobalContainer $gc) {
104
+    $gc->config = function(GlobalContainer $gc) {
105 105
       return new \classConfig($gc->cachePrefix);
106 106
     };
107 107
 
108 108
 
109
-    $gc->repository = function (GlobalContainer $gc) {
109
+    $gc->repository = function(GlobalContainer $gc) {
110 110
       return new Repository($gc);
111 111
     };
112 112
 
113
-    $gc->storage = function (GlobalContainer $gc) {
113
+    $gc->storage = function(GlobalContainer $gc) {
114 114
       return new \Storage($gc);
115 115
     };
116 116
 
117
-    $gc->design = function (GlobalContainer $gc) {
117
+    $gc->design = function(GlobalContainer $gc) {
118 118
       return new \Design($gc);
119 119
     };
120 120
 
121
-    $gc->bbCodeParser = function (GlobalContainer $gc) {
121
+    $gc->bbCodeParser = function(GlobalContainer $gc) {
122 122
       return new \BBCodeParser($gc);
123 123
     };
124 124
 
125
-    $gc->fleetDispatcher = function (GlobalContainer $gc) {
125
+    $gc->fleetDispatcher = function(GlobalContainer $gc) {
126 126
       return new \FleetDispatcher($gc);
127 127
     };
128 128
 
129
-    $gc->watchdog = function (GlobalContainer $gc) {
129
+    $gc->watchdog = function(GlobalContainer $gc) {
130 130
       return new Watchdog($gc);
131 131
     };
132 132
 
133
-    $gc->eventBus = function (GlobalContainer $gc) {
133
+    $gc->eventBus = function(GlobalContainer $gc) {
134 134
       return new EventBus($gc);
135 135
     };
136 136
 
137
-    $gc->valueStorage = function (GlobalContainer $gc) {
137
+    $gc->valueStorage = function(GlobalContainer $gc) {
138 138
       return new ValueStorage([]);
139 139
     };
140 140
 
141
-    $gc->bonusCatalog = function (GlobalContainer $gc) {
141
+    $gc->bonusCatalog = function(GlobalContainer $gc) {
142 142
       return new BonusCatalog($gc);
143 143
     };
144 144
 
145
-    $gc->general = function (GlobalContainer $gc) {
145
+    $gc->general = function(GlobalContainer $gc) {
146 146
       return new General($gc);
147 147
     };
148 148
 
149
-    $gc->economicHelper = function (GlobalContainer $gc) {
149
+    $gc->economicHelper = function(GlobalContainer $gc) {
150 150
       return new EconomicHelper($gc);
151 151
     };
152 152
 
153
-    $gc->playerLevelHelper = function (GlobalContainer $gc) {
153
+    $gc->playerLevelHelper = function(GlobalContainer $gc) {
154 154
       return new PlayerLevelHelper($gc);
155 155
     };
156 156
 
157 157
     // Dummy objects ---------------------------------------------------------------------------------------------------
158
-    $gc->theUser = function (GlobalContainer $gc) {
158
+    $gc->theUser = function(GlobalContainer $gc) {
159 159
       return new \TheUser($gc);
160 160
     };
161 161
 
162 162
 
163 163
     // Models ----------------------------------------------------------------------------------------------------------
164 164
     $gc->skinEntityClass = \SkinV2::class;
165
-    $gc->skinModel = function (GlobalContainer $gc) {
165
+    $gc->skinModel = function(GlobalContainer $gc) {
166 166
       return new \SkinModel($gc);
167 167
     };
168 168
 
169
-    $gc->textModel = function (GlobalContainer $gc) {
169
+    $gc->textModel = function(GlobalContainer $gc) {
170 170
       return new \TextModel($gc);
171 171
     };
172 172
 
Please login to merge, or discard this patch.