class PromocodeService
{
- private static function generateTwoChars() {
- $chars = "ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ";
- return mb_substr($chars, rand() % mb_strlen($chars), 1) .
- mb_substr($chars, rand() % mb_strlen($chars), 1);
+ private static function generateThreeNums() {
+// $chars = "ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ";
+// return mb_substr($chars, rand() % mb_strlen($chars), 1) .
+// mb_substr($chars, rand() % mb_strlen($chars), 1);
+ return (rand() % 10) . (rand() % 10) . (rand() % 10);
}
public static function generateSingleUsePromocodes(Promocode $basePromocode) {
foreach (range(1, $basePromocode->generatePromocodeCount) as $num) {
- $word = self::generateTwoChars();
+ $word = self::generateThreeNums();
while (Promocode::find()->where(['code' => $basePromocode->code . $word])->one()) {
- $word = self::generateTwoChars();
+ $word = self::generateThreeNums();
}
$singleUsePromocode = new Promocode;
$singleUsePromocode->code = mb_strtoupper($basePromocode->code . $word, 'UTF-8');