$subnetPerm = checkSubnetPermission($_REQUEST['subnetId']);
if ($subnetPerm < 3) {
    die('<div class="alert alert-danger">' . _('You do not have permissions to resize subnet') . '!</div>');
}
/* verify post */
CheckReferrer();
# get old subnet details
$subnetOld = getSubnetDetailsById($_POST['subnetId']);
# get all site settings
$settings = getAllSettings();
/* get section details */
$section = getSectionDetailsById($subnetOld['sectionId']);
/* 
 * now we need to check each host against new subnet
 */
$ipaddresses = getIpAddressesBySubnetIdSort($_POST['subnetId'], "ip_addr", "asc");
# get all IP addresses
foreach ($ipaddresses as $ip) {
    # check against new subnet
    $error = VerifyIpAddress(transform2long($ip['ip_addr']), transform2long($subnetOld['subnet']) . "/" . $_POST['newMask']);
    if (!$error) {
    } else {
        $errors[] = $error;
    }
}
/* ask must be > 8 */
if ($_POST['newMask'] < 8) {
    die('<div class="alert alert-danger">' . _('New mask must be at least /8') . '!</div>');
}
/* 
 * if strict mode is enabled check that is is still inside master subnet!
# create array of new subnets based on number of subnets (number)
for ($m = 0; $m < $subNum; $m++) {
    $newsubnets[$m] = $subnetOld;
    $newsubnets[$m]['id'] = $m;
    $newsubnets[$m]['mask'] = $mask;
    # if group is selected rewrite the masterSubnetId!
    if ($_POST['group'] == "yes") {
        $newsubnets[$m]['masterSubnetId'] = $subnetOld['id'];
    }
    # recalculate subnet
    if ($m > 0) {
        $newsubnets[$m]['subnet'] = gmp_strval(gmp_add($newsubnets[$m - 1]['subnet'], $maxHosts));
    }
}
# recalculate old hosts to put it to right subnet
$ipaddresses = getIpAddressesBySubnetIdSort($subnetOld['id'], "ip_addr", "asc");
# get all IP addresses
$subSize = sizeof($newsubnets);
# how many times to check
$n = 0;
# ip address count
foreach ($ipaddresses as $ip) {
    # check to which it belongs
    for ($m = 0; $m < $subSize; $m++) {
        # check if between this and next - strict
        if ($_POST['strict'] == "yes") {
            # check if last
            if ($m + 1 == $subSize) {
                if ($ip['ip_addr'] > $newsubnets[$m]['subnet']) {
                    $ipaddresses[$n]['subnetId'] = $newsubnets[$m]['id'];
                }
     */
    $SubnetParsed = parseIpAddress(transform2long($SubnetDetails['subnet']), $SubnetDetails['mask']);
}
/* verify that user is authenticated! */
isUserAuthenticated();
/* get all selected fields for IP print */
$setFields = getSelectedIPaddrFields();
/* format them to array! */
$setFields = explode(";", $setFields);
/**
 * Get all ip addresses in subnet and subnet details!
 */
$title = _("IP addresses in subnet ");
# prefix for multiple subnets
if (sizeof($slaves) == 0) {
    $ipaddresses = getIpAddressesBySubnetIdSort($subnetId, $sort['field'], $sort['direction']);
    $slavePing = false;
} else {
    $ipaddresses = getIpAddressesBySubnetIdSlavesSort($subnetId, $sort['field'], $sort['direction']);
    $title = _("All IP addresses belonging to ALL nested subnets");
    $slavePing = true;
}
$SubnetDetails = getSubnetDetailsById($subnetId);
/* die if empty! */
if (sizeof($SubnetDetails) == 0) {
    die('<div class="alert alert-danger">' . _('Subnet does not exist') . '!</div>');
}
/* get all selected fields */
$myFields = getCustomFields('ipaddresses');
$myFieldsSize = sizeof($myFields);
/* set size of selected fields */
     * Parse IP addresses
     *
     * We provide subnet and mask, all other is calculated based on it (subnet, broadcast,...)
     */
    $SubnetParsed = parseIpAddress(transform2long($SubnetDetails['subnet']), $SubnetDetails['mask']);
}
/* verify that user is authenticated! */
isUserAuthenticated();
/* get all selected fields for IP print */
$setFieldsTemp = getSelectedIPaddrFields();
/* format them to array! */
$setFields = explode(";", $setFieldsTemp);
/**
 * Get all ip addresses in subnet and subnet details!
 */
$ipaddresses = getIpAddressesBySubnetIdSort($subnetId, "ip_addr", "asc");
$SubnetDetails = getSubnetDetailsById($subnetId);
/* die if empty! */
if (sizeof($SubnetDetails) == 0) {
    die('<div class="alert alert-danger">' . _('Subnet does not exist') . '!</div>');
}
/* get all selected fields */
$myFields = getCustomFields('ipaddresses');
$myFieldsSize = sizeof($myFields);
/* set colspan */
$colspan['unused'] = sizeof($setFields) + $myFieldsSize + 1;
$colspan['ipaddr'] = sizeof($setFields) + $myFieldsSize + 4;
/* remove myFields if all empty! */
foreach ($myFields as $field) {
    $sizeMyFields[$field['name']] = 0;
    # default value