function warscore_levelup_multi($socket, WC_Warbox $box, GWF_User $user, $level) { if (false === ($warchall = WC_Warflag::getWarchall($box, $level))) { return false; } if (false === ($warchalls = WC_Warflag::getWarchalls($box))) { return false; } if (0 >= ($levelnum = warscore_get_level_num($level))) { return warscore_levelup_single($socket, $box, $user, $level); } $changed = false; foreach ($warchalls as $warchall) { $warchall instanceof WC_Warflag; $other_level = $warchall->getVar('wf_title'); if (0 >= ($olevelnum = warscore_get_level_num($other_level))) { continue; } if ($olevelnum > $levelnum) { continue; } if (warscore_levelup_single($socket, $box, $user, $other_level)) { $changed = true; } } return $changed; }