DNS Users

"; $post = ""; } else { $pre = ""; $post = ""; } if( $row["du_enabled"] == "t" ) { $enabled = "X"; } else { $enabled = " "; } if( $row["du_admin"] == "t" ) { $admin = "X"; } else { $admin = " "; } echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; } ?>
ID Name Enabled Admin  
" . $pre . $id . $post . "" . $pre . $row["du_name"] . $post . "" . $pre . $enabled . $post . "" . $pre . $admin . $post . "edit
SQL: error selecting users
\n"; return; } $row = pg_fetch_array( $rs ); if( !$row ) { echo "SQL: user not found
\n"; return; } $name = $row["du_name"]; $pass = $row["du_pass"]; $pass1 = $pass; if( $row["du_enabled"] == "t" ) { $enabled = true; } else { $enabled = false; } if( $row["du_admin"] == "t" ) { $admin = true; } else { $admin = false; } echo "

Update User

\n"; } else { $name = getPostVar( "name", "" ); $pass = getPostVar( "pass", "" ); $pass1 = getPostVar( "pass1", "" ); if( getPostVar( "enabled", "" ) ) { $enabled = true; } else { $enabled = false; } if( getPostVar( "admin", "" ) ) { $admin = true; } else { $admin = false; } echo "

Add New User

\n"; } echo "
\n"; echo "\n"; echo "\n"; if( $id != 0 ) { echo "\n"; echo "\n"; echo "\n"; 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"; if( $enabled ) { echo "\n"; } else { echo "\n"; } echo "\n"; echo "\n"; echo "\n"; if( $admin ) { echo "\n"; } else { echo "\n"; } echo "\n"; // ip range priv echo "\n"; echo "\n"; echo "\n"; $sql = "select r.ipr_id, r.ipr_min_addr, r.ipr_max_addr, r.ipr_descr, p.du_id " . "from iprange r left join iprangepriv p " . "on r.ipr_id = p.ipr_id and p.du_id = $id " . "order by ipr_min_addr"; $rs = pg_exec( $conn, $sql ); if( !$rs ) { echo "SQL: error selecting ip ranges
\n"; return; } while( $row = pg_fetch_array( $rs ) ) { $iprid = $row["ipr_id"]; $var = "iprid_" . $iprid; $val = intToIP($row["ipr_min_addr"]) . " - " . intToIP($row["ipr_max_addr"]); $checked = ""; if( !$fromdb ) { if( getPostVar( $var, "" ) == "checked" ) { $checked = " checked"; } } else { if( $row["du_id"] != "" ) { $checked = " checked"; } } echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; } // domain priv echo "\n"; echo "\n"; echo "\n"; $sql = "select d.dom_id, d.dom_name, d.dom_descr, p.du_id " . "from domain d left join domainpriv p " . "on d.dom_id = p.dom_id and p.du_id = $id " . "order by dom_name"; $rs = pg_exec( $conn, $sql ); if( !$rs ) { echo "SQL: error selecting domains
\n"; return; } while( $row = pg_fetch_array( $rs ) ) { $domid = $row["dom_id"]; $var = "domid_" . $domid; $val = $row["dom_name"]; $checked = ""; if( !$fromdb ) { if( getPostVar( $var, "" ) == "checked" ) { $checked = " checked"; } } else { if( $row["du_id"] != "" ) { $checked = " checked"; } } echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; } echo "
ID$id
Username
Password
Password (again)
Enabled
Admin

IP Range Privileges
$val " . htmlentities($row["ipr_descr"]) . "

Domain Privileges
$val " . htmlentities($row["dom_descr"]) . "

\n"; if( $id != 0 ) { echo "\n"; } else { echo "\n"; } echo "
\n"; } function update( $conn, $id ) { $dnsuid = $_SESSION["dnsuid"]; if( !checkUserName( getPostVar( "name", "" ) ) ) { echo "illegal user name
\n"; return 0; } $name = getPostVar( "name", "" ); $pass = stripslashes( getPostVar( "pass", "" ) ); $pass1 = stripslashes( getPostVar( "pass1", "" ) ); if( !checkPasswords( $pass, $pass1 ) ) { return 0; } $pass = addslashes( $pass ); if( getPostVar( "enabled", "" ) == "checked" ) { $enabled = "true"; } else { $enabled = "false"; } if( getPostVar( "admin", "" ) == "checked" ) { $admin = "true"; } else { $admin = "false"; } $xid = $id; if( $id == 0 ) { $id = db_get_next_id( $conn, "dnsuser", "du_id" ); if( $id == 0 ) { return 0; } } else { if( !checkInt( $id ) ) { echo "illegal id
\n"; return 0; } } if( !db_begin_work($conn ) ) { return 0; } if( $xid == 0 ) { $sql = "insert into dnsuser (" . "du_id, du_name, du_pass, du_enabled, du_admin, " . "du_id_ins, date_ins, du_id_upd, date_upd, " . "du_id_del, date_del " . ") values (" . "$id, '$name', '$pass', $enabled, $admin, " . "$dnsuid, CURRENT_TIMESTAMP, $dnsuid, CURRENT_TIMESTAMP, " . "null, CURRENT_TIMESTAMP " . ")"; } else { $sql = "update dnsuser set " . "du_name = '$name', du_pass = '$pass', " . "du_enabled = $enabled, du_admin = $admin, " . "du_id_upd = $dnsuid, date_upd = CURRENT_TIMESTAMP " . "where du_id = $id"; } //showVar( "sql", $sql ); if( !pg_exec( $conn, $sql ) ) { db_rollback_work($conn); return 0; } // ip range priv $sql = "select ipr_id from iprange"; $sql = "select r.ipr_id, p.du_id " . "from iprange r left join iprangepriv p " . "on r.ipr_id = p.ipr_id and p.du_id = $id " . "order by ipr_min_addr"; $rs = pg_exec( $conn, $sql ); if( !$rs ) { echo "SQL: error selecting ip ranges
\n"; db_rollback_work($conn); return 0; } while( $row = pg_fetch_array( $rs ) ) { $iprid = $row["ipr_id"]; $var = "iprid_" . $iprid; if( getPostVar( $var, "" ) == "checked" ) { $sql = "insert into iprangepriv ( du_id, ipr_id, du_id_ins, date_ins ) " . "values ( $id, $iprid, $dnsuid, CURRENT_TIMESTAMP )"; if( $row["du_id"] != "" ) { $sql = ""; } //showVar( "du_id", $row["du_id"] ); } else { $sql = "delete from iprangepriv where du_id = $id and ipr_id = $iprid"; if( $row["du_id"] == "" ) { $sql = ""; } } if( $sql != "" ) { //showVar( "sql", $sql ); pg_exec( $conn, $sql ); } } // domain priv $sql = "select d.dom_id, p.du_id " . "from domain d left join domainpriv p " . "on d.dom_id = p.dom_id and p.du_id = $id"; $rs = pg_exec( $conn, $sql ); if( !$rs ) { echo "SQL: error selecting domains
\n"; db_rollback_work($conn); return 0; } while( $row = pg_fetch_array( $rs ) ) { $domid = $row["dom_id"]; $var = "domid_" . $domid; //showVar( $var, getPostVar( $var, "" ) ); if( getPostVar( $var, "" ) == "checked" ) { $sql = "insert into domainpriv ( du_id, dom_id, du_id_ins, date_ins ) " . "values ( $id, $domid, $dnsuid, CURRENT_TIMESTAMP )"; if( $row["du_id"] != "" ) { $sql = ""; } } else { $sql = "delete from domainpriv where du_id = $id and dom_id = $domid"; if( $row["du_id"] == "" ) { $sql = ""; } } if( $sql != "" ) { //showVar( "sql", $sql ); pg_exec( $conn, $sql ); } } db_commit_work($conn); return $id; } function delete( $conn, $id ) { $dnsuid = $_SESSION["dnsuid"]; if( !checkInt( $id ) ) { echo "illegal ID
\n"; return false; } $sql = "update dnsuser set " . "du_id_del = $dnsuid, date_del = CURRENT_TIMESTAMP " . "where ipr_id = $id"; if( !pg_exec( $conn, $sql ) ) { return false; } return true; } //echo "$cmd/$subcmd
\n"; switch( $subcmd ) { case "edit": edit( $conn, $_REQUEST["id"], true ); break; case "add": edit( $conn, 0, false ); break; case "insert": $id = update( $conn, 0 ); if( $id > 0 ) { show( $conn, $id ); $subcmd = "show"; } else { edit( $conn, $id, false ); } break; case "update": if( update( $conn, $_REQUEST["id"] ) != 0 ) { show( $conn, $_REQUEST["id"] ); $subcmd = "show"; } else { edit( $conn, $_REQUEST["id"], false ); } break; case "delete": if( update( $conn, $_REQUEST["id"] ) ) { show( $conn, 0 ); $subcmd = "show"; } else { edit( $conn, $_REQUEST["id"], false ); } break; default: show( $conn, 0 ); $subcmd = "show"; break; } if( $subcmd != "show" ) { addToMenu( "show users", "user", "" ); } if( $subcmd != "add" ) { addToMenu( "add user", "user", "add" ); } ?>