public static
getReceiptNumber
(mixed $orderId, mixed $date = false, mixed $receiptNumber = false, mixed $receiptNumberId = false)
public static function getReceiptNumber($orderId, $date = false, $receiptNumber = false, $receiptNumberId = false)
{
if ($receiptNumber) {
return $receiptNumber;
// the number is stored in database yet
}
$paramsC = PhocacartUtils::getComponentParameters();
$receipt_number_format = $paramsC->get('receipt_number_format', '{prefix}{year}{orderid}{suffix}');
$receipt_number_prefix = $paramsC->get('receipt_number_prefix', '');
$receipt_number_suffix = $paramsC->get('receipt_number_suffix', '');
$order_id_length_receipt = $paramsC->get('order_id_length_receipt', '10');
$date = !$date ? self::getOrderDate($orderId) : $date;
$dateO = PhocacartDate::splitDate($date);
$id = $orderId;
if ($receiptNumberId && $receiptNumberId > 0) {
$id = $receiptNumberId;
// not autoincrement but specific ID based on year or month see parameter: invoice_creating_numbers
}
$id = str_pad($id, $order_id_length_receipt, '0', STR_PAD_LEFT);
$o = str_replace('{orderid}', $id, $receipt_number_format);
$o = str_replace('{prefix}', $receipt_number_prefix, $o);
$o = str_replace('{suffix}', $receipt_number_suffix, $o);
$o = str_replace('{year}', $dateO['year'], $o);
$o = str_replace('{month}', $dateO['month'], $o);
$o = str_replace('{day}', $dateO['day'], $o);
return $o;
}