<?php
// ----------------------------------------------------------------------
// Copyright (C) 2007 by GREGORY LE BRAS
// ----------------------------------------------------------------------
// LICENSE
//
// This file is part of ODCNMS - Open DataCenter Network Management System
//
// ODCNMS is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// Foobar is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Foobar; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
// ----------------------------------------------------------------------
// Original Author of file: GREGORY LE BRAS - http://www.odcnms.org/
// ----------------------------------------------------------------------
?>
<?php
if (!isset($edit))
{
$request=mysql_query("SELECT * FROM $name_table_ip_address WHERE id=\"$_GET[id]\"") or die ("ERROR!");
while($tmp_request=mysql_fetch_array($request))
{
$mac_address_array = explode(".",$tmp_request['mac_address']);
$addressarray = explode(".",$tmp_request['ip']);
$subnet_id = $tmp_request['subnet_id'];
?>
<form method="post" action="index.php?include=mainview&page=ip_address&action=edit&edit=ok&id=<?php echo $id;?>" name="edit_ip_address">
<fieldset class="form">
<legend><img src="images/edit.gif" alt="Edit" align="top"> <?php echo TXT_EDIT; ?> <?php echo TXT_IP_ADDRESS; ?></legend>
<label><?php echo TXT_NETWORK; ?></label>
<select name="network" id="network" size="1" onchange="javascript:urlredirectdiv('ajax_view.php?what=ajaxsubnet&network_id='+this.value,'ajaxsubnetarea');document.getElementById('oldaddressdiv').innerHTML='';">
<option value="null"><?php echo TXT_SELECT_NETWORK_SEGMENT; ?></option>
<?php
$request3=mysql_query("select id,name FROM $name_table_network") or die ("ERROR!");
while($tmp_request3=mysql_fetch_array($request3))
{
$request4=mysql_query("select id FROM $name_table_subnet WHERE id=$subnet_id") or die ("ERROR!");
while($tmp_request4=mysql_fetch_array($request4))
{
$subnet_network_id = $tmp_request4['id'];
}
if ($subnet_network_id == $tmp_request3['id'])
{
echo "<option value=\"$tmp_request3[id]\" selected>$tmp_request3[name]</option>";
}
else
{
echo "<option value=\"$tmp_request3[id]\">$tmp_request3[name]</option>";
}
}
?>
</select>
<div id="ajaxsubnetarea">
<label><?php echo TXT_SUBNET; ?></label>
<select name="subnet" id="subnet" size="1" onchange="javascript:urlredirectdiv('ajax_view.php?what=ajaxipaddress&subnet_id='+this.value,'ajaxipaddressarea');document.getElementById('oldaddressdiv').innerHTML='';">
<option value="null"><?php echo TXT_SELECT_SUBNET; ?></option>
<?php
$request2=mysql_query("select id,name FROM $name_table_subnet") or die ("ERROR!");
while($tmp_request2=mysql_fetch_array($request2))
{
if ($subnet_id == $tmp_request2['id'])
{
echo "<option value=\"$tmp_request2[id]\" SELECTED>$tmp_request2[name]</option>";
}
else
{
echo "<option value=\"$tmp_request2[id]\">$tmp_request2[name]</option>";
}
}
?>
</select></div>
<div id="ajaxipaddressarea"></div>
<div id="oldaddressdiv">
<label><?php echo TXT_ADDRESS; ?></label>
<input type="text" name="oct1" id="oct1" size="3" maxlength="3" value="<?php echo $addressarray[0]; ?>" onkeydown="keynext(event.keyCode,'oct2');if (event.keyCode==190) return false;" onKeyPress="return numbersonly(this, event);"><span style="top: -6px;position:relative;">.</span><input type="text" name="oct2" id="oct2" onkeydown="keynext(event.keyCode,'oct3');if (event.keyCode==190) return false;" size="3" maxlength="3" value="<?php echo $addressarray[1]; ?>"onKeyPress="return numbersonly(this, event);"><span style="top: -6px;position:relative;">.</span><input type="text" name="oct3" id="oct3" size="3" maxlength="3" value="<?php echo $addressarray[2]; ?>"onkeydown="keynext(event.keyCode,'oct4');if (event.keyCode==190) return false;" onKeyPress="return numbersonly(this, event);"><span style="top: -6px;position:relative;">.</span><input type="text" name="oct4" id="oct4" size="3" maxlength="3" value="<?php echo $addressarray[3]; ?>" onKeyPress="return numbersonly(this, event);"><br>
</div>
<label><?php echo TXT_MAC_ADDRESS; ?> <font size="1">(xxxx.xxxx.xxxx format)</font></label>
<input type="text" name="mac1" id="mac1" size="4" maxlength="4" onkeydown="keynext(event.keyCode,'mac2');if (event.keyCode==190) return false;" value="<?php echo $mac_address_array[0]; ?>"><span style="top: -6px;position:relative;">.</span><input type="text" name="mac2" id="mac2" onkeydown="keynext(event.keyCode,'mac3');if (event.keyCode==190) return false;" size="4" maxlength="4" value="<?php echo $mac_address_array[1]; ?>"><span style="top: -6px;position:relative;">.</span><input type="text" name="mac3" id="mac3" size="4" maxlength="4" onkeydown="keynext(event.keyCode,'mac4');if (event.keyCode==190) return false;" value="<?php echo $mac_address_array[2]; ?>"><br>
<label><?php echo TXT_STATUS; ?></label>
<select name="status" size="1">
<?php
switch ($tmp_request['status'])
{
case '0':
echo "<option value=\"0\" selected>".TXT_ASSIGNED."</option>
<option value=\"1\">".TXT_UNUSED."</option>
<option value=\"2\">".TXT_RESERVED."</option>";
break;
case '1':
echo "<option value=\"0\">".TXT_ASSIGNED."</option>
<option value=\"1\" selected>".TXT_UNUSED."</option>
<option value=\"2\">".TXT_RESERVED."</option>";
break;
case '2':
echo "<option value=\"0\">".TXT_ASSIGNED."</option>
<option value=\"1\">".TXT_UNUSED."</option>
<option value=\"2\" selected>".TXT_RESERVED."</option>";
break;
}
?>
</select>
<label><?php echo TXT_NAME; ?></label>
<input type="text" name="name" size="50" value="<?php echo $tmp_request['name']; ?>"><br>
<label><?php echo TXT_DESCRIPTION; ?></label>
<textarea name="description" rows="10" cols="50"><?php echo $tmp_request['description']; ?></textarea><br>
<input type="submit" name="submit" value="<?php echo TXT_EDIT; ?>"> <input type="button" value="<?php echo TXT_BACK; ?>" onClick="javascript:history.go(-1);">
</fieldset>
</form>
<script language="JavaScript" type="text/javascript">
var frmvalidator = new Validator("edit_ip_address");
frmvalidator.addValidation("network","dontselect=0","Please select the network of the ip address");
frmvalidator.addValidation("mac1","req","Please enter the MAC of the ip address");
frmvalidator.addValidation("mac2","req","Please enter the MAC of the ip address");
frmvalidator.addValidation("mac3","req","Please enter the MAC of the ip address");
frmvalidator.addValidation("name","req","Please enter the name of the ip address");
</script>
<?php
}
}
else if ($edit=="ok")
{
$request=mysql_query("SELECT * FROM $name_table_ip_address WHERE id=\"$id\"") or die ("ERROR!");
while($tmp_request=mysql_fetch_array($request))
{
$preceding_name = $tmp_request['name'];
$preceding_description = $tmp_request['description'];
}
$address = $oct1.".".$oct2.".".$oct3.".".$oct4;
$mac = $mac1.".".$mac2.".".$mac3;
$requestcount=mysql_query("SELECT count(*) FROM $name_table_ip_address WHERE ip=\"$address\" AND id!=\"$id\"") or die ("ERROR!");
$count_address = mysql_fetch_array($requestcount);
if ($count_address[0]==0)
{
$query=mysql_query("UPDATE $name_table_ip_address SET name=\"$name\", ip=\"$address\", subnet_id=\"$subnet\", mac_address=\"$mac\", status=\"$status\", description=\"$description\" WHERE id=$id");
if(!$query)
{
echo "<center><div id=\"status\" style=\"color:red\"><img src=\"images/warning.png\" alt=\"WARNING\"><br><br>";
echo TXT_DATABASE_ERROR;
echo "</div><br><a href=\"javascript:history.go(-2);\">";
echo TXT_BACK;
echo "</a></center>";
}
else
{
$currentdate = date('Y-m-d');
$currenttime = date("H:i:s");
user_log ($_SESSION['login'],$name_table_users,$name_table_users_log,"edit","ip address","$address ($id)",$mysql_hostname,$mysql_username,$mysql_password,$mysql_database);
foreach ($syslog_server as $arrayvalue)
{
$syslog = new Syslog();
$syslog->SetFacility(13);
$syslog->SetSeverity(5);
$syslog->SetProcess('odcnms');
$syslog->SetHostname('');
$syslog->SetFqdn('');
$syslog->SetIpFrom('');
$syslog->SetContent($currentdate.' '.$currenttime.' user: '.$_SESSION['login'].' - edit ip address '.$address.'('.$id.')');
$syslog->SetServer($arrayvalue);
$syslog->Send();
}
echo "<center><div id=\"status\" style=\"color:green\"><img src=\"images/info.png\" alt=\"INFO\"><br><br>";
echo TXT_SUCCESSFULLY_EDITED_IP_ADDRESS;
echo "</div><br><a href=\"javascript:history.go(-2);\">";
echo TXT_BACK;
echo "</a></center>";
}
}
else
{
echo "<center><div id=\"status\" style=\"color:red\"><img src=\"images/warning.png\" alt=\"WARNING\"><br><br>";
echo TXT_IP_ADDRESS_ALREADY_EXIST;
echo "</div><br><a href=\"javascript:history.go(-2);\">";
echo TXT_BACK;
echo "</a></center>";
}
}
?>