Красивый номер инвайтов
Кому не нравится код инвайтов вида 5884804e763972972042b1fccd6f1d13.
Можно сделать красивые номера вида Y8EC-HRF-9I5.
Для этого открываем файл include/function.php и находим там функцию func_generator (81 строка). Не будем ее менять, так как она используется в других местах, а сделаем под ней свою:
Затем идем в файл classes/modules/user/User.class.php и находим функцию GenerateInvite (строка 444) и меняем там строку:
на
Чтобы пользователи могли вводить код в любом регистре сделаем небольшое изменение в файле classes/modules/user/mapper/User.mapper.class.php изменив функцию GetInviteByCode (строка 444). Меняем строку:
на
Можно сделать красивые номера вида Y8EC-HRF-9I5.
Для этого открываем файл include/function.php и находим там функцию func_generator (81 строка). Не будем ее менять, так как она используется в других местах, а сделаем под ней свою:
/**
* генерирует код инвайта
*/
function func_generator_invite() {
$allowable_characters = "ABCDEFGHIJKLMNPQRSTUVWXYZ123456789";
$ps_len = strlen($allowable_characters);
mt_srand((double)microtime()*1000000);
$pass = "";
for($i = 0; $i < 12; $i++) {
if(($i == 4) || ($i == 8)) {
$pass .= '-';
} else {
$pass .= $allowable_characters[mt_rand(0,$ps_len-1)];
}
}
return $pass;
}
Затем идем в файл classes/modules/user/User.class.php и находим функцию GenerateInvite (строка 444) и меняем там строку:
$oInvite->setCode(func_generator(32));
на
$oInvite->setCode(func_generator_invite());
Чтобы пользователи могли вводить код в любом регистре сделаем небольшое изменение в файле classes/modules/user/mapper/User.mapper.class.php изменив функцию GetInviteByCode (строка 444). Меняем строку:
if ($aRow=$this->oDb->selectRow($sql,$sCode,$iUsed)) {
на
if ($aRow=$this->oDb->selectRow($sql,strtoupper($sCode),$iUsed)) {