if ($_POST) { unset($input_errors); $pconfig = $_POST; if (($pconfig['type'] == "freedns" || $pconfig['type'] == "namecheap") && $_POST['username'] == "") { $_POST['username'] = "******"; } /* input validation */ $reqdfields = array(); $reqdfieldsn = array(); $reqdfields = array("host", "username", "password", "type"); $reqdfieldsn = array(gettext("Hostname"), gettext("Username"), gettext("Password"), gettext("Service type")); do_input_validation($_POST, $reqdfields, $reqdfieldsn, &$input_errors); if ($_POST['mx'] && !is_domain($_POST['mx'])) { $input_errors[] = gettext("The MX contains invalid characters."); } if ($_POST['username'] && !is_dyndns_username($_POST['username']) || $pconfig['type'] != "namecheap" && $_POST['username'] == "") { $input_errors[] = gettext("The username contains invalid characters."); } if (!$input_errors) { $dyndns = array(); $dyndns['type'] = $_POST['type']; $dyndns['username'] = $_POST['username']; $dyndns['password'] = $_POST['password']; $dyndns['host'] = $_POST['host']; $dyndns['mx'] = $_POST['mx']; $dyndns['wildcard'] = $_POST['wildcard'] ? true : false; $dyndns['enable'] = $_POST['enable'] ? false : true; $dyndns['interface'] = $_POST['interface']; $dyndns['zoneid'] = $_POST['zoneid']; $dyndns['ttl'] = $_POST['ttl']; $dyndns['descr'] = $_POST['descr'];
if ($pconfig['type'] == "namecheap" && substr($_POST['host'], 0, 2) == '@.') { $host_to_check = substr($_POST['host'], 2); } else { $host_to_check = $_POST['host']; } if ($pconfig['type'] != "custom" && $pconfig['type'] != "custom-v6") { if (!is_domain($host_to_check)) { $input_errors[] = gettext("The hostname contains invalid characters."); } } unset($host_to_check); } if ($_POST['mx'] && !is_domain($_POST['mx'])) { $input_errors[] = gettext("The MX contains invalid characters."); } if (in_array("username", $reqdfields) && $_POST['username'] && !is_dyndns_username($_POST['username']) || in_array("username", $reqdfields) && $_POST['username'] == "") { $input_errors[] = gettext("The username contains invalid characters."); } if (!$input_errors) { $dyndns = array(); $dyndns['type'] = $_POST['type']; $dyndns['username'] = $_POST['username']; $dyndns['password'] = $_POST['passwordfld']; $dyndns['host'] = $_POST['host']; $dyndns['mx'] = $_POST['mx']; $dyndns['wildcard'] = $_POST['wildcard'] ? true : false; $dyndns['verboselog'] = $_POST['verboselog'] ? true : false; $dyndns['curl_ipresolve_v4'] = $_POST['curl_ipresolve_v4'] ? true : false; $dyndns['curl_ssl_verifypeer'] = $_POST['curl_ssl_verifypeer'] ? true : false; /* In this place enable means disabled */ if ($_POST['enable']) {
$reqdfieldsn = array_merge($reqdfieldsn, explode(",", "Hostname,Username,Password,Service type")); } if ($_POST['dnsupdate_enable']) { $reqdfields = array_merge($reqdfields, explode(" ", "dnsupdate_host dnsupdate_ttl dnsupdate_keyname dnsupdate_keydata")); $reqdfieldsn = array_merge($reqdfieldsn, explode(",", "Hostname,TTL,Key name,Key")); } do_input_validation($_POST, $reqdfields, $reqdfieldsn, &$input_errors); if ($pconfig['type'] != "zoneedit") { if ($_POST['host'] && !is_domain($_POST['host'])) { $input_errors[] = "Hostname geçersiz karakterler içeriyor."; } } if ($_POST['mx'] && !is_domain($_POST['mx'])) { $input_errors[] = "MX geçersiz karakterler içeriyor."; } if ($_POST['username'] && !is_dyndns_username($_POST['username'])) { $input_errors[] = "Kullanıcı adı geçersiz karakterler içeriyor."; } if ($_POST['dnsupdate_host'] && !is_domain($_POST['dnsupdate_host'])) { $input_errors[] = "DNS güncelleme hostname geçersiz karakterler içeriyor."; } if ($_POST['dnsupdate_ttl'] && !is_numericint($_POST['dnsupdate_ttl'])) { $input_errors[] = "DNS güncelleme TTL değeri tam sayı olmak zorundadır."; } if ($_POST['dnsupdate_keyname'] && !is_domain($_POST['dnsupdate_keyname'])) { $input_errors[] = "DNS güncelleme anahtar adı geçersiz karakterler içeriyor."; } if (!$input_errors) { $config['dyndns']['type'] = $_POST['type']; $config['dyndns']['username'] = $_POST['username']; $config['dyndns']['password'] = $_POST['password'];