// ÀÎŬ·çµå
require_once( "inc/session.php" );
require_once( "inc/common.inc" ); // °øÅë ÇÔ¼ö ¸ðÀ½
require_once( "inc/db_pgsql.inc" ); // µ¥ÀÌÅͺ£À̽º ÀÎÅÍÆäÀ̽º
$mode = isset($_POST['mode']) ? $_POST['mode'] : NULL;
$neo_seq = isset($_POST['neo_seq']) ? $_POST['neo_seq'] : NULL;
$parrange = isset($_POST['parrange']) ? $_POST['parrange'] : NULL;
for ( $i = 0 ; $i < count($_POST['pname']); $i++ )
{
$pname[$i] = $_POST['pname'][$i];
}
for ( $i = 0 ; $i < count($_POST['pdomain']); $i++ )
{
$pdomain[$i] = $_POST['pdomain'][$i];
}
for ( $i = 0 ; $i < count($_POST['pip']); $i++ )
{
$pip[$i] = $_POST['pip'][$i];
}
for ( $i = 0 ; $i < count($_POST['pdigdomain']); $i++ )
{
$pdigdomain[$i] = $_POST['pdigdomain'][$i];
}
for ( $i = 0 ; $i < count($_POST['pport']); $i++ )
{
$pport[$i] = $_POST['pport'][$i];
}
for ( $i = 0 ; $i < count($_POST['ptype']); $i++ )
{
$ptype[$i] = $_POST['ptype'][$i];
}
for ( $i = 0 ; $i < count($_POST['pname']); $i++ )
{
$pmonitor[$i] = $_POST['pmonitor'][$i];
// ¸ð´ÏÅ͸µ º¯¼ö ¼³Á¤
if ($pmonitor[$i] == "on")
$pmonitor[$i] = "Y";
else
$pmonitor[$i] = "N";
}
/*
echo "mode-->".$mode;
echo "
";
echo "arrange-->".$parrange;
echo "
";
for ($i=0; $i < sizeof($pname); $i++)
{
echo "name -->".$pname[$i];
echo "domain -->".$pdomain[$i];
echo " ip-->".$pip[$i];
echo " port-->".$pport[$i];
echo " type-->".$ptype[$i];
echo " monitor-->".$pmonitor[$i];
echo "
";
}
*/
// ¼º°ø Ç÷¡±×
$success_flag = 0;
$objConn = new DB_Sql;
// ±âÁ¸¿¡ µ¿ÀÏÇÑ server¸íÀÌ Á¸ÀçÇϸé, Ãß°¡ ±ÝÁö Á¶Ä¡.
for ($i=0; $i < sizeof($pname); $i++)
{
if ($mode == "add")
{
$strSQL = " SELECT COUNT(name) FROM t_neo_server_index ";
$strSQL .= " WHERE neo_type = '$ptype[$i]' AND name = '$pname[$i]' AND deleted_yn = 'N'";
$objConn->query( $strSQL );
if( $objConn->nf() != 0 )
{
$objConn->next_record();
$cnt = $objConn->f(0);
}
if( $cnt > 0 )
{
$objConn->close();
AlertBack( "µ¿ÀÏÇÑ ¼¹öÀ̸§ÀÌ Á¸ÀçÇÕ´Ï´Ù.\n\n´Ù¸¥ ¼¹öÀ̸§À» ÀÔ·ÂÇϼ¼¿ä." );
exit;
}
}
else if ($mode == "mod")
{
$strSQL = " SELECT COUNT(name) FROM t_neo_server_index ";
$strSQL .= " WHERE neo_type = '$ptype[$i]' AND name = '$pname[$i]' ";
$strSQL .= " AND neo_seq != $neo_seq AND deleted_yn = 'N'";
$objConn->query( $strSQL );
if( $objConn->nf() != 0 )
{
$objConn->next_record();
$cnt = $objConn->f(0);
}
if( $cnt > 0 )
{
$objConn->close();
AlertBack( "µ¿ÀÏÇÑ ¼¹öÀ̸§ÀÌ Á¸ÀçÇÕ´Ï´Ù.\n\n´Ù¸¥ ¼¹öÀ̸§À» ÀÔ·ÂÇϼ¼¿ä." );
exit;
}
}
}
/* decision server type */
for ($i=0; $i < sizeof($pname); $i++)
{
switch($ptype[$i])
{
case "ICS10" :
$servType[$i] = "0";
$to_align[$i] = "A";
break;
case "ICS15" :
$servType[$i] = "1";
$to_align[$i] = "B";
break;
case "ICS20" :
$servType[$i] = "2";
$to_align[$i] = "C";
break;
case "SL" :
$servType[$i] = "3";
$to_align[$i] = "D";
break;
default :
break;
}
}
$sql = " START TRANSACTION ";
$objConn->query( $sql );
$sql = "";
for ($i=0; $i < sizeof($pname); $i++)
{
if ($mode == "add")
{
$title = "µî·Ï";
$update_date = date( "Y-m-d H:i:s", time() );
$alert_msg = "[¼¹öµî·Ï] NEO_TYPE:" . $ptype[$i] ." ¼¹ö À̸§:" . $pname[$i];
$servicetype = "INSERT";
$sql = " INSERT INTO t_neo_server_index ";
$sql .= " (neo_seq, neo_type, name, ip, domain, dig_domain, port, monitor_yn, to_align, update_datetime) ";
$sql .= " VALUES ('', '$ptype[$i]', '$pname[$i]', '$pip[$i]', '$pdomain[$i]', '$pdigdomain[$i]', '$pport[$i]', '$pmonitor[$i]', '$to_align[$i]', now()) ";
$res_sql[$i] = $objConn->query( $sql );
}
else if ($mode == "mod")
{
$title = "¼öÁ¤";
$servicetype = "UPDATE";
$sql = "UPDATE t_neo_server_index ";
$sql .= "SET neo_type = '$ptype[$i]', name = '$pname[$i]', ip = '$pip[$i]', dig_domain = '$pdigdomain[$i]', ";
$sql .= "domain = '$pdomain[$i]', port = '$pport[$i]', monitor_yn = '$pmonitor[$i]', update_datetime = now() ";
$sql .= "WHERE neo_seq = $neo_seq";
$res_sql[$i] = $objConn->query( $sql );
}
}
for ($i=0; $i < sizeof($res_sql); $i++)
{
if ($res_sql[$i])
$succ = 1;
else
$succ = 0;
}
if ($succ == 1)
{
$sql = " COMMIT ";
$objConn->query( $sql );
$success_flag = 1;
}
else
{
$sql = " ROLLBACK ";
$objConn->query( $sql );
$success_flag = 0;
}
$objConn->close();
// mod °¡ ½ÇÆÐÇÒ °æ¿ì..
if ($success_flag == 0)
{
echo " ";
}
switch($ptype)
{
case "ICS10" :
$ptype = "ICS10";
break;
case "ICS15" :
$ptype = "ICS15";
break;
case "ICS20" :
$ptype = "ICS20";
break;
case "SL" :
$ptype = "SL";
break;
default :
break;
}
?>