Користувальницькькі налаштування

Налаштування сайту


logingeneration

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Наступна ревізія
Попередня ревізія
logingeneration [2022/09/24 14:39]
127.0.0.1 зовнішнє редагування
logingeneration [2023/06/09 12:26]
nightfly
Рядок 1: Рядок 1:
-====== Генерация логинов ======+====== Генерація логінів ======
  
-По умолчанию Ubilling рекомендует полгагаться на встроенную механику генерации логинов для регистрируемых пользователей. Это позволит избавить себя от лишней ручной работы и от неприятных неожиданностей. Начиная с релиза 0.3.4 генерация логинов может управляться опцией LOGIN_GENERATION конфига [[alteriniconf|alter.ini]]\\+За замовчуванням Ubilling рекомендує покладатисьна вбудовану механіку генерації логінів для користувачів, що реєструються. Це дозволить позбавити себе зайвої ручної роботи і неприємних несподіванок. Поведінка генерації логінів може керуватися опцією LOGIN_GENERATION конфігу [[alteriniconf|alter.ini]]\\
  
-Поддерживаются следующие опции генерации логинов:+Підтримуються наступні опції генерації логінів:
  
-  * **DEFAULT** - Включено по умолчанию и **рекомендуется**. Логины будут генерироваться по формуле: //[алиас города]+[алиас улицы]+[номер дома]+ap+[номер квартиры]+_(немного рандома)// и будут иметь вид, например  "shev262ap26_hugk" для пользователя проживающего по адресу "Шевченка 262/26" +  * **DEFAULT** - Увімкнено за замовчуванням та **рекомендується**. Логіни будуть генеруватися за формулою: //[аліас міста]+[аліас вулиці]+[номер будинку]+ap+[номер квартири]+_(трохи рандому)// і матимуть вигляд, наприклад "shev262ap26_hugk" для користувача, що проживає за адресою "Шевченка 262/26" 
-  * **ONLYADDRESS** - точно так-же как и по умолчанию только без "немного рандома", то есть например "shev262ap26" +  * **ONLYADDRESS** - точно так само як і за умовчанням тільки без "трохи рандому", тобто наприклад "shev262ap26" 
-  * **TIMESTAMP** - в качестве логина будет использоваться Unix timestamp - предполагаемый логин будет иметь вид, например "1353443162" +  * **TIMESTAMP** - як логін буде використовуватися Unix timestamp - згенерований логін матиме вигляд, наприклад "1353443162" 
-  * **TIMESTAMPMD5** - в качестве логина будет ипользоваться md5 хеш от Unix timestamp и логины будут иметь вид, например "3d3731ecbed02d8497d9dc3e601e9f8d" +  * **TIMESTAMPMD5** - як логін використовуватиметься md5 хеш від Unix timestamp та логіни будуть мати вигляд, наприклад "3d3731ecbed02d8497d9dc3e601e9f8d" 
-  * **RANDOM** - будет сгенерирована случайная 10-ти символьная строка вида "ao8cg8a7p2" +  * **RANDOM** - буде згенеровано випадковий 10-ти символьний рядок виду "ao8cg8a7p2" 
-  * **RANDOMSAFE** - будет сгенерирована случайная 10-ти символьная строка без сильно похожих между собой символов. +  * **RANDOMSAFE** - буде згенеровано випадковий 10-ти символьний рядок без схожих між собою символів. 
-  * **INCREMENT** - логин в форме простого инкремента, то есть "1, 2, 3... и тд" +  * **INCREMENT** - логін у формі простого інкременту, тобто "1, 2, 3 ... і тд" 
-  * **INCREMENTFOUR** - четырехзначный логин в форме инкремента, то есть вида "0001, 0002, 0003 и тд"(читаем про RANDOM4) +  * **INCREMENTFOUR** - чотиризначний логін у формі інкременту, тобто вигляду "0001, 0002, 0003 тощо" (читаємо про RANDOM4) 
-  * **INCREMENTFIVE** - пятизначный логин в форме инкремента, то есть вида "00001, 00002, 00003 и тд+  * **INCREMENTFIVE** - п'ятизначний логін у формі інкременту, тобто вигляду "00001, 00002, 00003 тощо
-  * **INCREMENTSIX** - шестизначный логин в форме инкремента, то есть вида "000001, 000002, 000003 и тд  +  * **INCREMENTSIX** - шестизначний логін у формі інкременту, тобто виду "000001, 000002, 000003 тощо
-  * **INCREMENTFOURREV** - четырехзначный логин в форме инкремента но в обратную сторону, то есть вида "1000, 2000, 3000 итд"(так же читаем про RANDOM4) +  * **INCREMENTFOURREV** - чотиризначний логін у формі інкременту але у зворотний бік, тобто вигляду "1000, 2000, 3000 тощо" (так само читаємо про RANDOM4) 
-  * **INCREMENTFIVEREV** - пятизначный логин в форме инкремента но в обратную сторону, то есть вида "10000, 20000, 30000 итд+  * **INCREMENTFIVEREV** - п'ятизначний логін у формі інкременту але у зворотний бік, тобто вигляду "10000, 20000, 30000 тощо
-  * **INCREMENTSIXREV** - шестизначный логин в форме инкремента но в обратную сторону, то есть вида "100000, 200000, 300000 итд+  * **INCREMENTSIXREV** - шестизначний логін у формі інкременту але у зворотний бік, тобто вигляду "100000, 200000, 300000 тощо
-  * **VSRAT_INCREMENT** - логины будут генерироваться по формуле: //[алиас города]+[алиас улицы]+_(счетчик)//Стоит понимать что счетчик будет уникальным в пределах алиасов. Если у улиц нет алиасов - счетчик будет уникальный для города. Если у улиц есть алиасы то счетчик будет уникальным для каждой пары город+улица+  * **VSRAT_INCREMENT** - логіни генеруватимуться за формулою: //[аліас міста]+[аліас вулиці]+_(лічильник)//Варто розуміти, що лічильник буде унікальним у межах аліасів. Якщо вулиці не мають аліасів - лічильник буде унікальний для міста. Якщо вулиці мають аліаси, то лічильник буде унікальним для кожної пари місто+вулиця
-  * **IPBASED** - логин на основании IP, например для пользователя с IP 192.168.56.18 будет логин "192x168x56x18" +  * **IPBASED** - логін на основі IP, наприклад для користувача з IP 192.168.56.18 буде логін "192x168x56x18" 
-  * **IPBASEDLAST** - логин на основании последних двух октетов IP, то есть для пользователя с IP 192.168.56.18 будет логин "056018" +  * **IPBASEDLAST** - логін на основі останніх двох октетів IP, тобто для користувача з IP 192.168.56.18 буде логін "056018" 
-  * **DEREBAN** - логины можно разделять между существующими контрагентами. Имеют вид шестизначного инкремента + префикс в виде ID контрагента в начале.  +  * **DEREBAN** - логіни можна поділяти між існуючими контрагентами. Мають вигляд шестизначного інкременту + префікс у вигляді ID контрагента на початку
-  * **RANDOM8** - логины из 8-ми рандомных циферок. +  * **RANDOM8** - логіни із 8-ми рандомних циферок. 
-  * **RANDOM4** - логины из 4-х рандомных циферок, включая ведущие нули.е. "0024" или "0127"). Для людей на 146уверенных, что более 9999 логинов им никогда не понадобиться и вообщеКрайне повышает шансы очень больно выстрелить себе в ногу. +  * **RANDOM4** - логіни з 4-х рандомних циферок, включаючи початкові нулі обто "0024" або "0127"). Для людей на 108% впевнених, що понад 9999 логінів їм ніколи не знадобиться взагаліВкрай підвищує шанси дуже боляче вистрілити собі в ногу. 
-  * **RANDOM4_CHECK** - то же, что и **RANDOM4**но с проверкой уникальности логина среди существующих. //если что - проверка осуществляется в **бесконечном цикле**, исоответственно, при приближении количества логинов к 9999, тупить в момент генерации логина(регистрации юзера, то бишь) оно будет всё больше и больше//. Вопреки могущему сложиться обманчивому мнению о надёжности - может прострелить вам обе ноги сразу... +  * **RANDOM4_CHECK** - те саме, що й RANDOM4, але з перевіркою унікальності логіну серед існуючих. //якщо - перевірка здійснюється в **нескінченному циклі**, івідповідно, при наближенні кількості логінів до 9999, тупити в момент генерації логіна(реєстрації користувача, тобтовоно буде дедалі більше//. Всупереч оманливій думці, що може скластися про надійність - може прострілити вам обидві ноги відразу... 
-  * **PRFXINC** - генерирует инкрементные логины с префиксами вида UB1000000,UB2000000.. итд. Строка префикса управляется опцией LOGIN_GENERATION_SHPRFX+  * **PRFXINC** - генерує інкрементні логіни з префіксами виду UB1000000, UB2000000. ітд. Рядок префікса керується опцією LOGIN_GENERATION_SHPRFX. 
-  * **ONEPUNCH** - за вами пристально наблюдают санитарыНе привлекайте к себе внимания.+  * **YMINCREMENTFOUR** - генерує логіни вигляду Рік+Місяць+INCREMENTFOUR, наприклад 2023060074
 +  * **ONEPUNCH** - за вами уважно спостерігають санітариЧи не привертайте до себе уваги.
  
-Если вы точно не уверены что делаете и чем это для вас может светить в дальнейшем - пожалуйста, оставьте эту опцию как есть в значении **DEFAULT**. +Якщо ви точно не впевнені, що робите і чим це для вас може світити надалі - будь ласка, залиште цю опцію як є у значенні **DEFAULT**.
  
-===== Немного кастомизации =====+===== Трішки кастомізації =====
  
-Такжев базовом вариантепосредством следующих опций [[alteriniconf|alter.ini]] вы можете влиять на поведение стоковых генераторов логинов. +Також, у базовому варіантіза допомогою наступних опцій [[alteriniconf|alter.ini]] ви можете впливати на поведінку стокових генераторів логінів.
  
 <code ini> <code ini>
Рядок 42: Рядок 43:
 </code> </code>
  
-тоесть, например, для генерации инкрементных логинов начиная с 666, во славу сотоне конечно же, вы можете установить опцию LOGIN_GENERATION_INCOFFSET=666 и радоваться жизни+тобто, наприклад, для генерації інкрементних логінів починаючи з 666, на славу сотоні звичайно ж, ви можете встановити опцію LOGIN_GENERATION_INCOFFSET=666 і радіти життю.
  
-===== Для особо изобретательных =====+===== Для особливо винахідливих =====
  
-Начиная с релиза Ubilling 1.3.0 генераторы логинов лежат отдельными кусочками кода в **api/vendor/login_generators/** откуда вызываются "в лоб" по их имени указанному в опции LOGIN_GENERATION. Каждый из нихобязан в процесе своей работы устанавливать значение **$this->loginProposal** которое далее будет обрабатываться в рамках класса [[https://ubilling.net.ua/api_doc/classes/SayMyName.xhtml|SayMyName]]. Что в теории, дает безграничные возможности для реализации ваших больных фантазий на тему того, как должны выглядеть логины ваших пользователей+Починаючи з релізу Ubilling 1.3.0генератори логінів лежать окремими шматочками коду в **api/vendor/login_generators/**звідки викликаються "в лоб" за їхнім іменем, вказаному в опції LOGIN_GENERATION. Кожен з них зобов'язаний в процесі своєї роботи встановлювати значення **$this->loginProposal**, яке далі оброблятиметься в рамках класу [[https://ubilling.net.ua/api_doc/classes/SayMyName.xhtml|SayMyName]] . Що в теорії, дає безмежні можливості для реалізації ваших хворих фантазій на тему того, як мають виглядати логіни ваших користувачів.
  
-Чисто как пример:+Чисто як приклад:
 <file php VSRATDATE> <file php VSRATDATE>
 $this->loginProposal = 'U'.date("YmdHis"); $this->loginProposal = 'U'.date("YmdHis");
 </file> </file>
  
-для генерации логинов вида U+ГГммддЧЧммсс. В случае Если вам захочется управляемый префикс, при помощи дефолтной опции LOGIN_GENERATION_SHPRFX вы можете обратиться к ее значению как-то так:+для генерації логінів виду U+РРммддГГххсс. Якщо Вам захочеться керований префікс, за допомогою дефолтної опції LOGIN_GENERATION_SHPRFX ви можете звернутися до її значення якось так:
  
 <file php VSRATDATE> <file php VSRATDATE>
Рядок 59: Рядок 60:
 </file> </file>
  
-Короче, вы можете обращаться в к любым пропертям класса SayMyName, внутри ваших генераторов. Также им по-умолчанию доступны проперти busyLogins содержащие все уже занятые логины и altCfg содержащий alter.ini в виде как key=>value.+Коротше, ви можете звертатися до будь-яких властивостей класу SayMyName, всередині ваших генераторів. Також їм за замовчуванням доступні проперті busyLogins, що містять всі вже зайняті логіни та altCfg, що містить alter.ini у вигляді key=>value.
  
-А что с переносимостью этого всего? Ну если это очень-очень укуренный кастом, которвый вам очень стыдно показывать людям, вы можете держать код вашего генератора логинов в одном из ваших [[onepunch|One-Punch скриптов]] указав режим генерации логинов LOGIN_GENERATION=ONEPUNCH. По умолчанию предполагается алиас **logingenerator** но вы можете переназначить его при помощи опции LOGIN_GENERATION_OPALIAS. +А що з переносимістю цього всього? Ну якщо це дуже накурений кастом, який вам дуже соромно показувати людям, ви можете тримати код вашого генератора логінів в одному з ваших [[onepunch|One-Punch скриптів]] вказавши режим генерації логінів LOGIN_GENERATION=ONEPUNCH. За замовчуванням, передбачається аліас **logingenerator**, але ви можете перепризначити його за допомогою опції LOGIN_GENERATION_OPALIAS.
  
-Вот прямо так:+Ось прямо так:
  
 {{::logingeneration_onepunch.png?direct|}} {{::logingeneration_onepunch.png?direct|}}
  
-Теперь вам достаточно возможностей чтобы накрепко ебануться?+Тепер вам достатньо можливостей, щоб міцно так йобнутись?
logingeneration.txt · Востаннє змінено: 2023/06/09 12:26 повз nightfly