Domain:
IP Range:
\n"; echo "\n"; ?>

IP Adresses

0 ) { $sql .= " and d.dom_id = $domid"; } if( $iprid > 0 ) { $sql .= " and i.ipr_id = $iprid"; } switch( getPostVar( "sort", "" ) ) { case "ip": $sql .= " order by i.ip_addr"; break; case "domain": $sql .= " order by d.dom_name, a.ipa_name"; break; default: $sql .= " order by a.ipa_name"; break; } showVar( "sql", $sql ); $rs = pg_exec( $conn, $sql ); while( $row = pg_fetch_array( $rs ) ) { $ip = $row["ip_addr"]; $ipstr = intToIP($ip); if( $ipstr == $eipstr ) { $pre = ""; $post = ""; } else { $pre = ""; $post = ""; } $hwaddr = $row["ip_hw_addr"]; if( $hwaddr == "" ) { $hwaddr = " "; } switch( $row["ip_ident_mode"] ) { case 1: $ident = "ident"; break; case 2: $ident = "fident"; break; case 3: $ident = "User '" . $row["ip_ident_user"] . "'"; break; default: $ident = "None"; break; } echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; if( $row["du_id"] > 0 ) { echo "\n"; } else { echo "\n"; } echo "\n"; } ?>
IP Addr. Hostname Domain HW Addr. Ident Aliases      
" . $pre . $ipstr . $post . "" . $pre . $row["ipa_name"] . $post . "" . $pre . $row["dom_name"] . $post . "" . $pre . $hwaddr . $post . "" . $pre . $ident . $post . "

"; $sql = "select a.ipa_name, d.dom_name from ipalias a, domain d " . "where a.dom_id = d.dom_id and a.ip_addr = $ip and " . "a.ipa_alias = true and a.du_id_del is null"; $rs2 = pg_exec( $conn, $sql ); if( $rs2 ) { $row2 = pg_fetch_array( $rs2 ); while( $row2 ) { echo $row2["ipa_name"] . "." . $row2["dom_name"] . "
"; $row2 = pg_fetch_array( $rs2 ); } echo "" . "(edit aliases)\n"; pg_freeresult( $rs2 ); } echo "

" . "edit 
0 ) { $sql = "select i.ipr_id, a.ipa_name, i.ip_hw_addr, " . "i.ip_ident_mode, i.ip_ident_user, i.ip_temp, " . "to_char(i.ip_until,'DD.MM.YYYY') as ip_until, a.ipa_descr " . "from ipaddr i, ipalias a where " . "i.ip_addr = a.ip_addr and a.ipa_alias = false and " . "a.du_id_del is null and i.du_id_del is null and " . "i.ip_addr = $ip"; showVar( "sql", $sql ); $rs = pg_exec( $conn, $sql ); if( !$rs ) { return; } $row = pg_fetch_array( $rs ); if( !$row ) { return; } $ipstr = intToIP($ip); $range = $row["ipr_id"]; $oldname = $row["ipa_name"]; $name = $row["ipa_name"]; $hwaddr = $row["ip_hw_addr"]; $identmode = $row["ip_ident_mode"]; $identuser = $row["ip_ident_user"]; $temp = $row["ip_temp"]; $until = $row["ip_until"]; $descr = $row["ipa_descr"]; if( $temp == "t" ) { $temp = true; } else { $temp = false; } echo "

Update IP Addr

\n"; } else { $ipstr = getPostVar( "ipstr", "" ); $range = getPostVar( "range", "" ); $name = getPostVar( "name", "" ); $oldname = getPostVar( "oldname", "" ); $hwaddr = getPostVar( "hwaddr", "" ); $identmode = getPostVar( "identmode", "" ); $identuser = getPostVar( "identuser", "" ); $temp = getPostVar( "temp", "" ); $until = getPostVar( "until", "" ); $descr = stripslashes( getPostVar( "descr", "" ) ); echo "

Add New IP Addr

\n"; } ?> \n"; echo "\n"; echo "\n"; if( $ip > 0 ) { echo "\n"; } else { echo "\n"; } echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; if( $temp ) { echo "\n"; } else { echo "\n"; } echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; if( $ip > 0 ) { echo "\n"; } else { echo "\n"; } echo "
IP Range"; if( $dnsadmin ) { db_iprange_list( $conn, $range, false, 0, "range", "mainform", "ipstr" ); } else { db_iprange_list( $conn, $range, false, $dnsuid, "range", "mainform", "ipstr" ); } echo "
IP Addr.
Name
HW Addr.
Ident
Temp. IP
Description
"; echo "\n"; echo ""; echo "\n"; echo "
"; echo "\n"; echo "
\n"; echo "\n"; if( $ipstr == "" ) { echo "\n"; } } function insert( $conn ) { $dnsuid = $_SESSION["dnsuid"]; $dnsadmin = $_SESSION["dnsadmin"]; $ip = ipToInt( getPostVar( "ipstr", "" ) ); $range = getPostVar( "range", "" ); $name = getPostVar( "name", "" ); $hwaddr = getPostVar( "hwaddr", "" ); $identmode = getPostVar( "identmode", "" ); $identuser = getPostVar( "identuser", "" ); $temp = getPostVar( "temp", "" ); $until = getPostVar( "until", "" ); $descr = stripslashes( getPostVar( "descr", "" ) ); if( $ip == -1 ) { echo "illegal ip address
\n"; return false; } if( !checkInt( $range ) ) { echo "illegal ip range
\n"; return false; } $range = (int)$range; $uid = $dnsuid; if( $dnsadmin ) { $uid = 0; } $domid = db_check_iprange_ip( $conn, $range, $ip, $uid ); if( !$domid ) { echo "illegal ip address for selected range
\n"; return false; } if( !checkHostName( $name ) ) { return false; } $hwaddr = db_check_hwaddr( $conn, $hwaddr, $ip ); if( !$hwaddr ) { echo "illegal hardware address
\n"; return false; } if( $temp != "" ) { $temp = true; } else { $temp = false; } switch( $identmode ) { case 1: case 2: $identuser = "null"; break; case 3: if( !checkUsername( $identuser ) ) { echo "illegal ident user name
\n"; return false; } $identuser = "'$identuser'"; break; default: $identmode = "0"; $identuser = "null"; break; } $descr = db_check_description( $descr, 200 ); if( $descr == "" ) { echo "description too long
\n"; return false; } if( $temp == "checked" ) { $temp = "true"; } else { $temp = "false"; $until = "null"; } /* echo "ip = '$ip'
\n"; echo "range = '$range'
\n"; echo "name = '$name'
\n"; echo "hwaddr = '$hwaddr'
\n"; echo "temp = '$temp'
\n"; echo "until = '$until'
\n"; echo "descr = '$descr'
\n"; */ if( !db_begin_work( $conn ) ) { return false; } $sql = "insert into ipalias ( " . "dom_id, ipa_name, ip_addr, ipa_alias, ipa_descr, " . "du_id_ins, date_ins, du_id_upd, date_upd, " . "du_id_del, date_del " . ") values ( " . "$domid, '$name', $ip, false, $descr, " . "$dnsuid, CURRENT_TIMESTAMP, $dnsuid, CURRENT_TIMESTAMP, " . "null, to_date( '1970010100', 'YYYYMMDDHH24' ) " . ")"; showVar( "sql", $sql ); if( !pg_exec( $conn, $sql ) ) { db_rollback_work( $conn ); return false; } $sql = "insert into ipaddr ( " . "ip_addr, ipr_id, ip_hw_addr, " . "ip_ident_mode, ip_ident_user, ip_temp, ip_until, " . "du_id_ins, date_ins, du_id_upd, date_upd, " . "du_id_del, date_del " . ") values ( " . "$ip, $range, $hwaddr, " . "$identmode, $identuser, $temp, $until, " . "$dnsuid, CURRENT_TIMESTAMP, $dnsuid, CURRENT_TIMESTAMP, " . "null, to_date( '1970010100', 'YYYYMMDDHH24' ) " . ")"; showVar( "sql", $sql ); if( !pg_exec( $conn, $sql ) ) { db_rollback_work( $conn ); return false; } if( !db_commit_work( $conn ) ) { db_rollback_work( $conn ); return false; } return true; } function update( $conn, $ip ) { $dnsuid = $_SESSION["dnsuid"]; $dnsadmin = $_SESSION["dnsadmin"]; $oldip = getPostVar( "ip", "" ); $ip = ipToInt( getPostVar( "ipstr", "" ) ); $range = getPostVar( "range", "" ); $name = getPostVar( "name", "" ); $oldname = getPostVar( "oldname", "" ); $hwaddr = getPostVar( "hwaddr", "" ); $identmode = getPostVar( "identmode", "" ); $identuser = getPostVar( "identuser", "" ); $temp = getPostVar( "temp", "" ); $until = getPostVar( "until", "" ); $descr = stripslashes( getPostVar( "descr", "" ) ); if( !checkInt( $oldip ) ) { echo "illegal old ip address
\n"; return false; } if( !checkHostName( $oldname ) ) { echo "illegal old hostname
\n"; return false; } if( $ip == -1 ) { echo "illegal ip address
\n"; return false; } if( !checkInt( $range ) ) { return false; } $range = (int)$range; $uid = $dnsuid; if( $dnsadmin ) { $uid = 0; } $domid = db_check_iprange_ip( $conn, $range, $ip, $uid ); if( !$domid ) { return false; } if( !checkHostName( $name ) ) { return false; } $hwaddr = db_check_hwaddr( $conn, $hwaddr, $ip ); if( !$hwaddr ) { return false; } if( $temp != "" ) { $temp = true; } else { $temp = false; } switch( $identmode ) { case 1: case 2: $identuser = "null"; break; case 3: if( !checkUsername( $identuser ) ) { echo "illegal ident user name
\n"; return false; } $identuser = "'$identuser'"; break; default: $identmode = "0"; $identuser = "null"; break; } $descr = db_check_description( $descr, 200 ); if( $descr == "" ) { return false; } if( $temp == "checked" ) { $temp = "true"; } else { $temp = "false"; $until = "null"; } echo "ip = '$ip'
\n"; echo "range = '$range'
\n"; echo "name = '$name'
\n"; echo "hwaddr = '$hwaddr'
\n"; echo "temp = '$temp'
\n"; echo "until = '$until'
\n"; echo "descr = '$descr'
\n"; if( !db_begin_work( $conn ) ) { return false; } $sql = "update ipalias set " . "dom_id = $domid, ipa_name = '$name', ipa_descr = $descr, " . "du_id_upd = $dnsuid, date_upd = CURRENT_TIMESTAMP " . "where " . "ip_addr = $oldip and ipa_alias = false and du_id_del is null"; showVar( "sql", $sql ); if( !pg_exec( $conn, $sql ) ) { db_rollback_work( $conn ); return false; } if( $ip != $oldip ) { $sql = "update ipalias set ip_addr = $ip " . "where ip_addr = $oldip and du_id_del is null"; if( !pg_exec( $conn, $sql ) ) { db_rollback_work( $conn ); return false; } } $sql = "update ipaddr set " . "ip_addr = $ip, ipr_id = $range, ip_hw_addr = $hwaddr, " . "ip_ident_mode = $identmode, ip_ident_user = $identuser, " . "ip_temp = $temp, ip_until = $until, " . "du_id_upd = $dnsuid, date_upd = CURRENT_TIMESTAMP " . "where " . "ip_addr = $oldip and du_id_del is null"; showVar( "sql", $sql ); if( !pg_exec( $conn, $sql ) ) { db_rollback_work( $conn ); return false; } if( !db_commit_work( $conn ) ) { db_rollback_work( $conn ); return false; } return true; } function delete( $conn, $ip ) { $dnsuid = $_SESSION["dnsuid"]; if( !checkInt( $ip ) ) { echo "illegal ID
\n"; return false; } $rest = "set date_del = CURRENT_TIMESTAMP, du_id_del = $dnsuid " . "where ip_addr = $ip and du_id_del is null"; $sql = "update ipaddr $rest"; if( !pg_exec( $conn, $sql ) ) { return false; } $sql = "update ipalias $rest"; if( !pg_exec( $conn, $sql ) ) { return false; } return true; } //echo "$cmd/$subcmd
\n"; $iprid = getPostVar( "iprid", "" ); $domid = getPostVar( "domid", "" ); $ip = getPostVar( "ip", "ip" ); $ipstr = getPostVar( "ipstr", "" ); switch( $subcmd ) { case "edit": edit( $conn, $iprid, $domid, $ip ); break; case "add": edit( $conn, $iprid, $domid, 0 ); break; case "insert": if( insert( $conn, $ipstr ) ) { show( $conn, $iprid, $domid, $ipstr ); $subcmd = "show"; } else { edit( $conn, $iprid, $domid, $ip ); } break; case "update": if( update( $conn, $ipstr ) ) { show( $conn, $iprid, $domid, $ipstr ); $subcmd = "show"; } else { edit( $conn, $iprid, $domid, $ip ); } break; case "delete": if( delete( $conn, $ip ) ) { show( $conn, $iprid, $domid, $ipstr ); $subcmd = "show"; } else { edit( $conn, $iprid, $domid, $ip ); } break; case "select": select( $conn, $iprid, $domid ); break; default: show( $conn, $iprid, $domid, "" ); $subcmd = "show"; break; } if( $subcmd != "select" ) { addToMenu( "filter ipaddrs", "ipaddr", "select" ); } if( $subcmd != "show" ) { addToMenu( "show ipaddrs", "ipaddr", "" ); } if( $subcmd != "add" ) { addToMenu( "add ipaddr", "ipaddr", "add" ); } ?>