Попытался сделать красивые инвайты, получил ошибку

Конечно было немного неправильно руководствоваться мануалом от 2009 года для версии 5.1, но я это сделал. Вырезка из фака:
Генерация красивых номеров инвайтов.
Посвящается тем кому, как и мне, не нравится код инвайтов вида 5884804e763972972042b1fccd6f1d13. Я расскажу как сделать красивые номера вида 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)) {

В итоге получил следующее: Fatal error: Call to undefined function func_list_plugins() in /home/u4135/domains/kult-ivator.dres-time.ru/engine/classes/Engine.class.php on line 406

Вернул файлы в исходное состояние, ошибка не ушла…

1 комментарий

avatar
Те файлы, которые модифицировал на компьютере, оказались отличными от файлов движка. Из разных сборок брал. Все работает. Всем спасибо
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.