Инвайты

anton4er

Пользователь
Как будет время напишу инструкцию сделал адаптацию на регистрацию т.к. пример frank не сработал.
А так кому срочно надо в ПМ.
 

anton4er

Пользователь
Не знаю сделал как сделал главное работает.
Не судите строго:)
P.S. Внимательно читайте примечания!
 

Вложения

  • Invite mod for TPII.rar
    11.7 KB · Просмотры: 53

tmk

Пользователь
anton4er
только я вам хотел написать позитивно-мотивирующе сообщение, как вы уже выложили)
чтож, спасибо, будем разбираться!

Добавлено:
Установка на R300 не вызвала затруднений. Пришлось пересохранить файлик usercp_register.tpl в кодировке UTF-8 для корректного отображения.

Инвайты выдаются исправно. Регистрация по ним проходит. Без них нет. Чего еще надо?) Ну например отображения правил выдачи инвайтов лишь своей группы.

Несущественно:
1. Установка ссылки в панель topmenu - на старых мониторах формата 4:3 при разрешении 1024*768 ссылка уползает за пределы экрана справа (в аккаунтах админов и модеров). Изначально не мог найти её, пока не додумался посмотреть код повнимательнее и изменить масштаб браузера)

2. Жмем Регистрация. В панельке topmenu логинимся в admin/admin. Выходит предупреждение
Код:
Notice: Undefined index: invite_code in C:\server\xampp\htdocs\includes\ucp\usercp_register.php on line 237
Notice: Undefined index: invite_code in C:\server\xampp\htdocs\includes\ucp\usercp_register.php on line 251
При других аккаунтах все ровно, такая байда именно при admin профиле. Так же она встречается если в админке нажать Администрирование: Создать аккаунт

Пока все. Огромное тебе спасибо! Ты молодчина.
 

anton4er

Пользователь
Да действительно нашел причину нотисов правится в 2 секунды.

Открыть /includes/ucp/usercp_register.php
Найти
PHP:
        $pr_data = array(
            'user_id'          => ANONYMOUS,
            'username'        => '',
            'user_password'    => '',
            'user_email'      => '',
Ниже добавить
PHP:
            'invite_code'      => '',

Все

Данный мод лишь предлагает место установки ссылки.

Я описывал как в оригинальном моде у меня ссылка находится в другом месте и к ней применяются еще дополнительные правил т.к. На нашем ресурсе выдача разрешена только администрации проэкта.

Перезалил Архив Считаю что мод можно перенести в категорию "Стабильные"

P.S. Нашел причину не спомощю инвайтов у меня все это было предусмотрено просто проглядел когда делал инструкцию.

P.S.P.S. Использую Дистриб скачаный с SVN репозиторий Обновляю до последней актуальной версии могут быть нестыковки с R300.
 

anton4er

Пользователь
Не знаю может кому то и пригодится. Проверка инвайтов на аяксе.
Открыть /ajax/user_register.php
Найти
PHP:
    case 'refresh_captcha';
        $html = CAPTCHA()->get_html();
    break;
Перед вставить
PHP:
//invite check
    case 'check_invite':
        $invite_code = (string) $this->request['invite_code'];
        if (empty($invite_code))
        {
            $html = '<img src="./images/bad.gif"> <span class="leechmed bold">'. $lang['NO_INPUT_INVITE'] .'</span>';
        }
        else if($err = validate_invite_code($invite_code))
        {
            $html = '<img src="./images/bad.gif"> <span class="leechmed bold">'. $err .'</span>';
        }
        break;
Открыть /language/lang_russian/lang_main.php
Найти
PHP:
$lang['REGISTERED_IN_TIME'] = "В данный момент регистрация закрыта<br /><br />Вы можете зарегистрироваться с 01:00 до 17:00 MSK (сейчас ". date('H:i:s') ." MSK)<br /><br />Приносим извинения за это временное неудобство";
Ниже добавить
PHP:
// Invite
$lang['NO_INPUT_INVITE'] = 'Поле для ввода инвайт кода не должно быть пустым';
Открыть /templates/default/usercp_register.tpl
Найти
HTML:
<td><input type="text" name="invite_code" size="35" value="{INVITE_CODE}" /></td>
Заменить на
HTML:
<td><input id="invite_code" type="text" name="invite_code" onBlur="ajax.exec({ action: 'user_register', mode: 'check_invite', invite_code: $('#invite_code').val()}); return false;" size="35" value="{INVITE_CODE}" />&nbsp;<span id="check_invite"></span></td>

Сохранить все файлы
 

pilot

Пользователь
anton4er, а не могли бы вы написать условие что бы например для определенного (определенных) IP регистрация была без инвайтов, а для всех остальных кроме этого (этих) IP регистрация была по инвайтам??? За ранее очень благодарен
 

anton4er

Пользователь
anton4er, скрин приложите
А что там прикладывать как вылазят сообщения из функции validate_invite_code? тут по коду уже понятно что мод с недоделанными инвайтами работать не будет.
Ваша просьба исполнена

pilot, пока времни на это нету.
 

Вложения

  • invite.jpg
    invite.jpg
    62.3 KB · Просмотры: 146
Сверху