if ($NewIp && !ValidIP($NewIp) && !ValidIpTempl($NewIp)) {
    $Logs->Err($Lang['WrongIp']);
    $NewIp = false;
}
$RemoveIP = ValidVar($_GP['RemoveIP']);
if (!ValidArr($RemoveIp)) {
    $RemoveIp = false;
}
$MyIP = $_SERVER['REMOTE_ADDR'];
/////////////////////////////////////////////
///////// call any process functions
if (!$nsUser->DEMO) {
    if ($NewIp && ValidIp($NewIp)) {
        AddNewIp($NewIp, $NewIpDescr);
    }
    if ($NewIp && ValidIpTempl($NewIp)) {
        AddNewIpTempl($NewIp, $NewIpDescr);
    }
    if ($RemoveIP) {
        RemoveIp($RemoveIP);
    }
}
/////////////////////////////////////////////
///////// display section here
$IpList = array();
$Query = "SELECT * FROM " . PFX . "_tracker_ip WHERE IGNORED = '1' ORDER BY IP ASC";
$Sql = new Query($Query);
$Sql->ReadSkinConfig();
while ($Row = $Sql->Row()) {
    $Row->_STYLE = $Sql->_STYLE;
    $Row->TEMPLATE = false;
    $Mode = "edit";
}
if (ValidId($ViewId)) {
    $Mode = "view";
    $EditId = $ViewId;
}
if ($EditId == "new") {
    $Mode = "edit";
}
$PageTitle = $Lang['Title'];
$SubMenu[0]['Name'] = $Lang['ShowGrpList'];
$SubMenu[0]['Link'] = getURL("my_tracker", "Mode=visitor_grps");
$MenuSection = "my_tracker";
$ProgPath[0]['Name'] = $Lang['MyTracker'];
$ProgPath[0]['Url'] = getUrl("my_tracker", "", "admin");
if (ValidVar($NewIp) && !ValidIpTempl($NewIp)) {
    $Logs->Err($Lang['InvalidIp']);
    $NewIp = false;
}
/////////////////////////////////////////////
///////// call any process functions
if (!$nsUser->DEMO) {
    if (ValidId($EditId) && $NewIp) {
        AddIp($NewIp, $EditId);
    }
    if (ValidId($EditId) && ValidId($DeleteIp)) {
        RemoveIp($DeleteIp, $EditId);
    }
    if (ValidArr($EditArr) && $EditId == "new") {
        CreateNewGrp($EditArr);
    }