<?php
	$acl=$_SESSION["acl"];
	if (strlen($acl)<1 || !strpos($acl,"<2001>")) {	//没有权限
		ob_clean();
		header("Location: accesserror.html");
		exit;
	}
?>

<?php
	$timestr=strftime("%Y-%m-%d %H:%M:%S");
	$db=mysql_pconnect(get_cfg_var("SIPSERVER"),get_cfg_var("SIPUSER"),get_cfg_var("SIPPWD"));
	mysql_select_db(get_cfg_var("SIPDB"),$db);
	$sinfo="";
	$typeid="";
	$acttype=trim($_REQUEST["acttype"]);
	$typeid=trim($_REQUEST["typeid"]);
	$usertype=trim($_REQUEST["usertype"]);
	$price=trim($_REQUEST["price"]);
	$typemode=trim($_REQUEST["typemode"]);
	$unit=trim($_REQUEST["unit"]);
	$limittype=trim($_REQUEST["limittype"]);
	$limithour=trim($_REQUEST["limithour"]);
	$limitflow=trim($_REQUEST["limitflow"]);
	$overprice1=trim($_REQUEST["overprice1"]);
	$overprice2=trim($_REQUEST["overprice2"]);
	$maxmoney=trim($_REQUEST["maxmoney"]);
	if ($acttype=="delete") {
		$candel=TRUE;
		$myname="";
		$rs=mysql_query( "select name from types where typeid='".$typeid."'" ,$db);
		if ( ($row = mysql_fetch_array($rs))==FALSE ) {
			$candel=FALSE;
		} else {
			$myname=$row["name"];
		}
		mysql_free_result($rs);
		$rs=mysql_query( "select type from users where type='".$typeid."'" ,$db);
		if ($row = mysql_fetch_array($rs)) {
			$candel=FALSE;
		}
		mysql_free_result($rs);
		$rs=mysql_query( "select type from history where type='".$typeid."'" ,$db);
		if ($row = mysql_fetch_array($rs)) {
			$candel=FALSE;
		}
		mysql_free_result($rs);
		if ($candel) {
			mysql_query( "delete from types where typeid='".$typeid."'" ,$db);
			mysql_query( "insert into operation values('".$_SESSION["operator"]."','".$timestr."','删除计费类型：".$myname."')" ,$db);
			$sinfo="删除成功!";
		} else {
			$sinfo="已经存在该计费类型历史数据，不能删除!";
		}
	} elseif ($acttype=="add") {
		if ($typeid=="" || $usertype=="" || $price=="") {
			$sinfo="必须输入类型代码、名称和单价!";
		} else {
			$rs=mysql_query( "select typeid from types where typeid='".$typeid."' or name='".$usertype."'" ,$db);
			if ($row = mysql_fetch_array($rs)) {
				mysql_free_result($rs);
				$sinfo="已经存在此类型代码或名称!";
			} else {
				mysql_free_result($rs);
				if ($limithour=="") {
					$limithour="0";
				}
				if ($limitflow=="") {
					$limitflow="0";
				}
				if ($overprice1=="") {
					$overprice1="0";
				}
				if ($overprice2=="") {
					$overprice2="0";
				}
				if ($maxmoney=="") {
					$maxmoney="0";
				}
				mysql_query( "insert into types values('".$typeid."','".$usertype."',".$price.",'".$typemode."',".$unit.",'".$limittype."',".$limithour.",".$limitflow.",".$overprice1.",".$overprice2.",".$maxmoney.")" ,$db);
				mysql_query( "insert into operation values('".$_SESSION["operator"]."','".$timestr."','添加计费类型：".$usertype."')" ,$db);
				$sinfo="添加成功!";
			}
		}
	} elseif ($acttype=="update") {
		if ($typeid=="" || $usertype=="" || $price=="") {
			$sinfo="必须输入类型代码、名称和单价!";
		} else {
			$rs=mysql_query( "select typeid from types where typeid='".$typeid."'" ,$db);
			if ( ($row = mysql_fetch_array($rs))==FALSE ) {
				mysql_free_result($rs);
				$sinfo="不存在此类型代码，不能修改!";
			} else {
				mysql_free_result($rs);
				if ($limithour=="") {
					$limithour="0";
				}
				if ($limitflow=="") {
					$limitflow="0";
				}
				if ($overprice1=="") {
					$overprice1="0";
				}
				if ($overprice2=="") {
					$overprice2="0";
				}
				if ($maxmoney=="") {
					$maxmoney="0";
				}
				mysql_query( "update types set name='".$usertype."',price=".$price.",typemode='".$typemode."',unit=".$unit.",limittype='".$limittype."',limithour=".$limithour.",limitflow=".$limitflow.",overprice1=".$overprice1.",overprice2=".$overprice2.",maxmoney=".$maxmoney." where typeid='".$typeid."'" ,$db);
				mysql_query( "insert into operation values('".$_SESSION["operator"]."','".$timestr."','修改计费类型：".$usertype."')" ,$db);
				$sinfo="修改成功!";
			}
		}
	} else {
	}
?>

<html>

<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<script language="javascript">
var typeid=new Array();
var usertype=new Array();
var price=new Array();
var typemode=new Array();
var unit=new Array();
var limittype=new Array();
var limithour=new Array();
var limitflow=new Array();
var overprice1=new Array();
var overprice2=new Array();
var maxmoney=new Array();
<?php
	$n=0;
	$rs=mysql_query("select * from types",$db);
	if ($row = mysql_fetch_array($rs)) {
       while ($row) {
	       echo("typeid[".strval($n)."]='".$row["typeid"]."';\r\n");
	       echo("usertype[".strval($n)."]='".$row["name"]."';\r\n");
		   $str=strval(round($row["price"],2));
	       echo("price[".strval($n)."]='".$str."';\r\n");
	       echo("typemode[".strval($n)."]='".$row["typemode"]."';\r\n");
	       echo("unit[".strval($n)."]='".strval($row["unit"])."';\r\n");
	       echo("limittype[".strval($n)."]='".$row["limittype"]."';\r\n");
	       echo("limithour[".strval($n)."]='".strval($row["limithour"])."';\r\n");
	       echo("limitflow[".strval($n)."]='".strval($row["limitflow"])."';\r\n");
		   $str=strval(round($row["overprice1"],2));
	       echo("overprice1[".strval($n)."]='".$str."';\r\n");
		   $str=strval(round($row["overprice2"],2));
	       echo("overprice2[".strval($n)."]='".$str."';\r\n");
		   $str=strval(round($row["maxmoney"],2));
	       echo("maxmoney[".strval($n)."]='".$str."';\r\n");
		   $n=$n+1;
	       $row = mysql_fetch_array($rs);
       }
	}
	mysql_free_result($rs);
?>

function checktype(obj)
{
    var str=obj.value;
	var i=0;
	for (i=0;i<<?php echo strval($n); ?>;i++) {
		if (typeid[i]==str) {
			document.form2.typeid.value=typeid[i];
			document.form2.usertype.value=usertype[i];
			document.form2.price.value=price[i];
			document.form2.typemode.value=typemode[i];
			document.form2.unit.value=unit[i];
			document.form2.limittype.value=limittype[i];
			document.form2.limithour.value=limithour[i];
			document.form2.limitflow.value=limitflow[i];
			document.form2.overprice1.value=overprice1[i];
			document.form2.overprice2.value=overprice2[i];
			document.form2.maxmoney.value=maxmoney[i];
			break;
		}
	}
}

function myload()
{
<?php
	if ($sinfo!="") {
		echo("alert('".$sinfo."');");
	}
?>
}

function mysubmit(n)
{
	document.form2.acttype.value="";
	if (n==1) {
		document.form2.acttype.value="add";
	}
	else if (n==2) {
		document.form2.acttype.value="update";
	}
	else if (n==3) {
		document.form2.acttype.value="delete";
	}
	else {
	}
	document.form2.submit();
}
</script>
<title>计费类型管理</title>
</head>

<body background="bkg.bmp" onload="javascript:myload();">

<p align="center"><font size="5"><b>计费类型管理</b></font></p>
<hr color="#999966">
<div align="center" style="width: 756; height: 379">
<center>
<form name="form1">
<table border="1" width="80%" bordercolor="#008080" cellspacing="0" cellpadding="0" height="40">
<tr>
   <td width="155" align="center" height="4">已存在计费类型</td>
   <td width="511" align="left" height="4">&nbsp;&nbsp;               
	   <select size=1 name="typeid" onclick="checktype(this);">
<?php
		$rs=mysql_query("select typeid,name from types order by typeid",$db);
		if ($row = mysql_fetch_array($rs)) {
           while ($row) {
	           echo("<option value=\"".$row["typeid"]."\">".$row["typeid"]."->".$row["name"]."</option>");
	           $row = mysql_fetch_array($rs);
           }
		}
		mysql_free_result($rs);
		mysql_close($db);
?>
       </select> 
   </td>
</tr>
</table>
</form>
<p></p>
<p>详细参数</p>
<form name="form2" method="POST" action="type.php">
<table border="1" cellpadding="0" cellspacing="0" width="80%" bordercolor="#008080" height="367">
  <tr>
    <td width="24%" height="36">代码</td>
    <td width="76%" height="36"><input type="text" name="typeid" size="4"></td>
  </tr>
  <tr>
    <td width="24%" height="36">名称</td>
    <td width="76%" height="36"><input type="text" name="usertype" size="61"></td>
  </tr>
  <tr>
    <td width="24%" height="36">单价（元）</td>
    <td width="76%" height="36"><input type="text" name="price" size="9"></td>
  </tr>
  <tr>
    <td width="24%" height="37">支付方式</td>
    <td width="76%" height="37"><select size="1" name="typemode">
        <option selected value="1">先购买后使用</option>
        <option value="2">先使用后结算</option>
        <option value="0">免费</option>
      </select></td>
  </tr>
  <tr>
    <td width="24%" height="37">计费单位</td>
    <td width="76%" height="37"><select size="1" name="unit">
        <option selected value="0">其它</option>
        <option value="1">分钟</option>
        <option value="2">小时</option>
        <option value="3">天</option>
        <option value="4">月</option>
        <option value="5">年</option>
        <option value="6">流量M</option>
        <option value="7">流量G</option>
      </select></td>
  </tr>
  <tr>
    <td width="24%" height="37">超量限制</td>
    <td width="76%" height="37"><select size="1" name="limittype">
        <option value="0" selected>无限制</option>
        <option value="1">有限制，可以超量使用</option>
        <option value="2">有限制，不能超量使用</option>
      </select></td>
  </tr>
  <tr>
    <td width="24%" height="37">限制时间（小时）</td>
    <td width="76%" height="37"><input type="text" name="limithour" size="9"></td>
  </tr>
  <tr>
    <td width="24%" height="37">限制流量（M）</td>
    <td width="76%" height="37"><input type="text" name="limitflow" size="9"></td>
  </tr>
  <tr>
    <td width="24%" height="37">超过时间单价（元/小时）</td>
    <td width="76%" height="37"><input type="text" name="overprice1" size="9"></td>
  </tr>
  <tr>
    <td width="24%" height="37">超过流量单价（元/M）</td>
    <td width="76%" height="37"><input type="text" name="overprice2" size="9"></td>
  </tr>
  <tr>
    <td width="24%" height="37">封顶费用（元）</td>
    <td width="76%" height="37"><input type="text" name="maxmoney" size="9"></td>
  </tr>
  <tr>
    <td width="100%" height="37" colspan="2">
      <p align="center"><input type="button" value="增加" name="B1" onclick="javascript:mysubmit(1);">&nbsp;&nbsp;&nbsp;   
      <input type="button" value="修改" name="B2" onclick="javascript:mysubmit(2);">&nbsp;&nbsp;&nbsp; <input type="button" value="删除" name="B3" onclick="javascript:mysubmit(3);"></td>   
  </tr>
</table>
<input type=hidden name=acttype value="">
</form>
</center>
</div>
<p align="left">说明：</p>
<p align="left">1、超量限制、限制时间、限制流量、超过时间单价、超过流量单价、封顶费用，只针对按天、按月、按年3种计费形式。其它按分钟、按小时、按流量的计费形式、不存在这些功能。</p>
<p align="left">按天类型，限制单位的时间是天，每天范围内的限制、超量、封顶。</p>
<p align="left">按月类型，限制单位的时间是月，每月范围内的限制、超量、封顶。</p>
<p align="left">按年类型，限制单位的时间是月，每月范围内的限制、超量、封顶。</p>
<p align="left">2、“先购买后使用”的计费类型，可以限制单位时间（每天、每月）内的上网时间或上网流量，但不支持超量使用，也不存在费用封顶。例如，每月限制上网时间是150小时，每月就只能最多使用150小时，超过，当月就不能再继续上网。</p>
<p align="left">3、“先使用后结算”的计费类型，既可以不允许超量使用，也可以允许超量使用。如果允许超量使用，超过部分，费用可以封顶，也可以不封顶。</p>
<p align="left">例如，按月计算，每月150元，但只限于150小时内。超过150小时，可以继续使用，但费用另外计算，按5元/小时价格计算。可以每月封顶到总计300元，达到300元，无论实际用多少，都按300元计算该月费用。也可以不封顶，超过150小时部分，按实际上网小时，5元/小时的价格，累计。</p>
<p align="left">4、如果允许超量使用，限制时间、限制流量、封顶费用，这3个参数，如果不输入数值，或者数值为0，视作无限制时间、无限制流量、无封顶费用。</p>
<p align="left">5、可以同时指定时间限制和流量限制。</p>
<p align="left">如果是“先使用后结算”类型，如果两者同时指定，结帐时，超过时间算出的费用，比超过流量算出的费用大，则取超过时间部分费用，反之，则取超过流量部分费用。</p>
<p align="left">6、以“小时”为计费单位的计费类型，如果是“先使用后结算”的类型，则支持每天时间内的费用封顶功能，此时的费用封顶，以“天”为单位。</p>
<p align="left">例如先使用后结算的小时类型，结帐时，可以每天费用封顶。例如，以5元/小时价格计算，实际某天上网10小时，计算费用为50元。但可以设置封顶30元，达到30元，无论该天实际使用多少小时，结帐时都只收30元费用。</p>
<p align="left">7、按年类型，而且是“先使用后结算”类型，则不支持每月的限制、超量、封顶，如果需要，请按月类型来结算处理。只有“先购买后使用”的按年类型，才能支持每月时间或流量的限制。</p>
<hr>
<p align="center">SIP宽带上网计费管理系统</p>
<p align="center">作者：<b>深圳市飞沃软件有限公司</b></p>

</body>

</html>
