Example #1
0
        require 'src/edit_soa_form.php';
        $smarty->display('footer.tpl');
        exit;
    }
    // Check email
    if (!isset($_REQUEST['contactaddr']) || $_REQUEST['contactaddr'] == "") {
        set_msg_err("Error: missing email address");
        $smarty->display('header.tpl');
        require 'src/edit_soa_form.php';
        $smarty->display('footer.tpl');
        exit;
    }
    // Build array
    $array['host'] = $_REQUEST['contactaddr'] . ':' . $_REQUEST['primary_name_server'];
    $array['val'] = $_REQUEST['refresh'] . ':' . $_REQUEST['retry'] . ':' . $_REQUEST['expire'] . ':' . $_REQUEST['minimum'] . ':' . $_REQUEST['serial'];
    $return = parse_soa($array);
    // Update table
    $host = $return['tldemail'] . ':' . $return['tldhost'];
    $val = $return['refresh'] . ':' . $return['retry'] . ':' . $return['expire'] . ':' . $return['minimum'] . ':' . $return['serial'];
    $q = "update records set host='{$host}',\n        val='{$val}',\n        ttl='" . $_REQUEST['ttl'] . "'  where type='S' and\n        domain_id='" . get_dom_id($domain) . "'";
    $pdo->query($q) or die(print_r($pdo->errorInfo()));
    // Display domain
    set_msg("SOA record updated successfully");
    header("Location: {$base_url}&mode=records&domain=" . urlencode($domain));
    exit;
} else {
    if ($_REQUEST['record_mode'] == 'view_log') {
        $smarty->display('header.tpl');
        require 'src/view_log.php';
        $smarty->display('footer.tpl');
        exit;
Example #2
0
function build_data_line($row, $domain)
{
    global $use_ipv6;
    if ($row['type'] == 'A') {
        $s = "+" . $row['host'] . ":" . $row['val'] . ":" . $row['ttl'] . "\n";
    } else {
        if ($row['type'] == '=') {
            $s = "=" . $row['host'] . ":" . $row['val'] . ":" . $row['ttl'] . "\n";
        } else {
            if ($row['type'] == 'M') {
                $s = "@" . $row['host'] . "::" . $row['val'] . ":" . $row['distance'] . ":" . $row['ttl'] . "\n";
            } else {
                if ($row['type'] == 'N') {
                    $s = "&" . $row['host'] . "::" . $row['val'] . ":" . $row['ttl'] . "\n";
                } else {
                    if ($row['type'] == 'P') {
                        $s = "^" . $row['host'] . ":" . $row['val'] . ":" . $row['ttl'] . "\n";
                    } else {
                        if ($row['type'] == 'T') {
                            $s = "'" . $row['host'] . ":" . str_replace(":", '\\072', $row['val']) . ":" . $row['ttl'] . "\n";
                        } else {
                            if ($row['type'] == 'F') {
                                $val_str = str_replace(":", '\\072', $row['val']);
                                $s = ":" . $row['host'] . ":99:\\" . str_pad(decoct(strlen($row['val'])), 3, 0, STR_PAD_LEFT) . "" . $val_str . ":" . $row['ttl'] . "\n";
                            } else {
                                if ($row['type'] == 'C') {
                                    $s = "C" . $row['host'] . ":" . $row['val'] . ":" . $row['ttl'] . "\n";
                                } else {
                                    if ($row['type'] == 'S') {
                                        $soa = parse_soa($row);
                                        $s = "Z" . $domain . ":" . $soa['tldhost'] . ":" . $soa['tldemail'] . ":" . $soa['serial'] . ":" . $soa['refresh'] . ":" . $soa['retry'] . ":" . $soa['expire'] . ":" . $soa['minimum'] . ":" . $soa['ttl'] . "\n";
                                    } else {
                                        if ($row['type'] == 'V') {
                                            $s = ":" . $row['host'] . ":33:" . encode_rdata('cccq', array($row['distance'], $row['weight'], $row['port'], preg_replace('/\\.$/', '', $row['val']))) . ":" . $row['ttl'] . "\n";
                                        } else {
                                            if (($row['type'] == '3' || $row['type'] == '6') && $use_ipv6) {
                                                $s = ":" . $row['host'] . ":28:" . ipv6_to_octal($row['val']) . ":" . $row['ttl'] . "\n";
                                                if ($row['type'] == '6') {
                                                    $s .= ipv6_to_ptr_record($row['val'], $row['host'], $row['ttl']);
                                                }
                                            } else {
                                                $s = "\n";
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    return $s;
}