52 lines
1.6 KiB
PHP
52 lines
1.6 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Replaces the string order reference with numeric one
|
|
*
|
|
* @package gmnumeric
|
|
* @author Dariusz Tryba (contact@greenmousestudio.com)
|
|
* @copyright Copyright (c) Green Mouse Studio (http://www.greenmousestudio.com)
|
|
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
|
*/
|
|
class Order extends OrderCore
|
|
{
|
|
/*
|
|
* module: gmnumeric
|
|
* date: 2016-04-18 08:55:44
|
|
* version: 1.1.0
|
|
*/
|
|
|
|
public static function generateReference()
|
|
{
|
|
// return strtoupper(Tools::passwdGen(9, 'NO_NUMERIC'));
|
|
$id_shop = (int)Context::getContext()->shop->id;
|
|
|
|
$reference = Db::getInstance()->getValue( 'SELECT reference FROM ' . _DB_PREFIX_.'orders WHERE id_shop = ' . $id_shop . ' ORDER BY id_order DESC' );
|
|
|
|
if ( $id_shop == 1 )
|
|
$reference = str_replace( 'D', '', $reference );
|
|
elseif ( $id_shop == 2 )
|
|
$reference = str_replace( 'L', '', $reference );
|
|
|
|
$reference = str_pad( (int)$reference + 1, 8, '000000000', STR_PAD_LEFT );
|
|
|
|
if ( $id_shop == 1 )
|
|
$reference_number = 'D' . $reference;
|
|
elseif ( $id_shop == 2 )
|
|
$reference_number = 'L' . $reference;
|
|
|
|
while ( $count = Db::getInstance()->getValue( 'SELECT COUNT(0) FROM ' . _DB_PREFIX_.'orders WHERE reference = \'' . $reference_number . '\'' ) )
|
|
{
|
|
$reference++;
|
|
$reference = str_pad( (int)$reference + 1, 8, '000000000', STR_PAD_LEFT );
|
|
|
|
if ( $id_shop == 1 )
|
|
$reference_number = 'D' . $reference;
|
|
elseif ( $id_shop == 2 )
|
|
$reference_number = 'L' . $reference;
|
|
}
|
|
|
|
return $reference_number;
|
|
}
|
|
}
|