function UpdatePlanetBatimentQueueList($planetid) { $RetValue = false; $now = time(); begin_transaction(); $CurrentPlanet = doquery("SELECT * FROM {{table}} WHERE `id` = '" . $planetid . "' FOR UPDATE", 'planets', true); if (!$CurrentPlanet || $CurrentPlanet['b_building'] == 0 || $CurrentPlanet['b_building'] > $now) { rollback(); return false; } $CurrentUser = doquery("SELECT * FROM {{table}} WHERE `id` = '" . $CurrentPlanet['id_owner'] . "' LOCK IN SHARE MODE", 'users', true); if (!$CurrentUser) { return false; } PlanetResourceUpdate($CurrentUser, $CurrentPlanet, $CurrentPlanet['b_building'], false); CheckPlanetBuildingQueue($CurrentPlanet, $CurrentUser); commit(); }
function UpdatePlanetBatimentQueueList(&$CurrentPlanet, &$CurrentUser) { $RetValue = false; if ($CurrentPlanet['b_building_id'] != 0) { while ($CurrentPlanet['b_building_id'] != 0) { if ($CurrentPlanet['b_building'] <= time()) { PlanetResourceUpdate($CurrentUser, $CurrentPlanet, $CurrentPlanet['b_building'], false); $IsDone = CheckPlanetBuildingQueue($CurrentPlanet, $CurrentUser); if ($IsDone == true) { SetNextQueueElementOnTop($CurrentPlanet, $CurrentUser); } } else { $RetValue = true; break; } } } return $RetValue; }