Newer
Older
use function basename;
use function call_user_func;
/**
* Class CodeGenerator
*
* Generated unique, random Invite Codes
*/
class CodeGenerator
{
/**
* Generate a new, random Invite Code
*
* @return string
$generator = '\\QUI\\ERP\\Coupons\\CodeGenerators\\' . self::getCurrentGenerator();
$Config = QUI::getPackage('quiqqer/coupons')->getConfig();
$prefix = $Config->get('settings', 'prefix');
if (empty($prefix)) {
$prefix = '';
}
return call_user_func($generator . '::generate', $prefix);
}
/**
* Get CodeGenerator that is currently set
*
* @return string - FQ class name
protected static function getCurrentGenerator(): string
$Config = QUI::getPackage('quiqqer/coupons')->getConfig();
$currentGenerator = $Config->get('settings', 'codeGenerator');
if (empty($currentGenerator)) {
return 'SimpleString';
}
return $currentGenerator;
}
/**
* Get list of all available CodeGenerators
*
* @return array
$dir = QUI::getPackage('quiqqer/coupons')->getDir() . 'src/QUI/ERP/Coupons/CodeGenerators';