Зміст

Генерація логінів

За замовчуванням Ubilling рекомендує покладатись, на вбудовану механіку генерації логінів для користувачів, що реєструються. Це дозволить позбавити себе зайвої ручної роботи і неприємних несподіванок. Поведінка генерації логінів може керуватися опцією LOGIN_GENERATION конфігу alter.ini

Підтримуються наступні опції генерації логінів:

Якщо ви точно не впевнені, що робите і чим це для вас може світити надалі - будь ласка, залиште цю опцію як є у значенні DEFAULT.

Трішки кастомізації

Також, у базовому варіанті, за допомогою наступних опцій alter.ini ви можете впливати на поведінку стокових генераторів логінів.

LOGIN_GENERATION_INCOFFSET=1
LOGIN_GENERATION_INCMAX=100000
LOGIN_GENERATION_AD="ap"
LOGIN_GENERATION_SHPRFX="UB"
LOGIN_GENERATION_OPALIAS="logingenerator"

тобто, наприклад, для генерації інкрементних логінів починаючи з 666, на славу сотоні звичайно ж, ви можете встановити опцію LOGIN_GENERATION_INCOFFSET=666 і радіти життю.

Для особливо винахідливих

Починаючи з релізу Ubilling 1.3.0, генератори логінів лежать окремими шматочками коду в api/vendor/login_generators/, звідки викликаються “в лоб” за їхнім іменем, вказаному в опції LOGIN_GENERATION. Кожен з них зобов'язаний в процесі своєї роботи встановлювати значення $this→loginProposal, яке далі оброблятиметься в рамках класу SayMyName . Що в теорії, дає безмежні можливості для реалізації ваших хворих фантазій на тему того, як мають виглядати логіни ваших користувачів.

Чисто як приклад:

VSRATDATE
$this->loginProposal = 'U'.date("YmdHis");

для генерації логінів виду U+РРммддГГххсс. Якщо Вам захочеться керований префікс, за допомогою дефолтної опції LOGIN_GENERATION_SHPRFX ви можете звернутися до її значення якось так:

VSRATDATE
$this->loginProposal = $this->sharedPrefix.date("YmdHis");

Коротше, ви можете звертатися до будь-яких властивостей класу SayMyName, всередині ваших генераторів. Також їм за замовчуванням доступні проперті busyLogins, що містять всі вже зайняті логіни та altCfg, що містить alter.ini у вигляді key⇒value.

А що з переносимістю цього всього? Ну якщо це дуже накурений кастом, який вам дуже соромно показувати людям, ви можете тримати код вашого генератора логінів в одному з ваших One-Punch скриптів вказавши режим генерації логінів LOGIN_GENERATION=ONEPUNCH. За замовчуванням, передбачається аліас logingenerator, але ви можете перепризначити його за допомогою опції LOGIN_GENERATION_OPALIAS.

Ось прямо так:

Тепер вам достатньо можливостей, щоб міцно так йобнутись?