Files
old-new-wiaas/backend/app/plugins/wiaas/includes/order/class-wiaas-order-item.php
2018-12-03 00:02:23 +01:00

91 lines
2.0 KiB
PHP

<?php
class Wiaas_Order_Item {
public static function init() {
add_filter( 'woocommerce_hidden_order_itemmeta', array( __CLASS__, 'hidden_order_item_meta' ) );
}
/**
* Mark extended properties for order as hidden
*
* @param array $hidden
*
* @return array
*/
public static function hidden_order_item_meta( $hidden ) {
return array_merge( $hidden, array(
//'_wiaas_payment_type',
//'_wiaas_services_extra',
'_wiaas_service_contract_period',
'_wiaas_max_contract_period',
'_wiaas_period_unit',
//'_wiaas_recurrent_extra',
'_wiaas_pay_period',
'_wiaas_addon_items',
'_wiaas_addon_for',
'_wiaas_option_items',
'_wiaas_option_for',
'_wiaas_option_group_name',
'_wiaas_standard_package',
'_wiaas_documents',
'_wiaas_category',
'_wiaas_manufacturer_product_no',
'_wiaas_supplier_product_no',
'_wiaas_supplier_organization_id',
'_wiaas_product_price',
'_wiaas_earliest_installation_additional_days',
'_wiaas_installation',
'_wiaas_installation_date'
) );
}
/**
* @param WC_Order_Item $order_item
*
* @return bool
*/
public static function is_standard_bundle($order_item) {
$is_standard = $order_item->get_meta('_wiaas_standard_package');
return ! empty($is_standard);
}
/**
* @param WC_Order_Item $order_item
*
* @return float
*/
public static function get_services_total($order_item) {
$quantity = $order_item->get_quantity();
return $quantity * floatval($order_item->get_meta('_wiaas_services_extra'));
}
/**
* @param WC_Order_Item $order_item
*
* @return float
*/
public static function get_recurrent_total($order_item) {
$quantity = $order_item->get_quantity();
return $quantity * floatval($order_item->get_meta('_wiaas_recurrent_extra'));
}
/**
* @param WC_Order_Item $order_item
*
* @return float
*/
public static function get_monthly_recurring_total($order_item) {
return self::get_services_total($order_item) + self::get_recurrent_total($order_item);
}
}
Wiaas_Order_Item::init();