Открытый сайт + инвайты
Хочу реализовать следующее:
1) Оставить сайт открытым, но при этом чтобы у каждого пользователя в профиле остались инвайты.
2) Плюс чтобы у каждого пользователя по умолчанию сразу было неограниченное кол-во инвайтов.
3) Ну и чтобы можно было посмотреть потом кто пригласил больше всего людей, желательно чтобы эта информация была открытой для других пользователей.
РЕАЛИЗАЦИЯ ЗАДУМАННОГО:
1) добавил в шаблоне в action/ActionRegistrations/index.tpl
ПЕРЕД кодом:
код:
это мы создаем для удобства пользователей кнопку «Регистрация по приглашению» на странице регистрации (под формой)
2) В настройках сайта включаем «Регистрацию по приглашению»
3) находим classes/actions/ActionRegistration.class.php
комментим в нем направление на страницу registration/invite
4) Решение с неограниченным кол-вом приглашений взял из коммента пользователя bafoed к данной ветке
/classes/modules/user/User.class.php
Ищем и меняем на:
/templates/skin/new/actions/ActionSettings/invite.tpl
меняем на:
Теперь сайт открыт пользователи могут рассылать приглашения, получившие приглашению люди могут регистрироваться, из задуманного мной осталось реализовать теперь общедоступную страницу на которой бы выводились все пользователи с кол-вом приглашенных ими пользователей
Буду благодарен за советы как это реализовать
Пример того как я это вижу:
1) Оставить сайт открытым, но при этом чтобы у каждого пользователя в профиле остались инвайты.
2) Плюс чтобы у каждого пользователя по умолчанию сразу было неограниченное кол-во инвайтов.
3) Ну и чтобы можно было посмотреть потом кто пригласил больше всего людей, желательно чтобы эта информация была открытой для других пользователей.
РЕАЛИЗАЦИЯ ЗАДУМАННОГО:
1) добавил в шаблоне в action/ActionRegistrations/index.tpl
ПЕРЕД кодом:
{include file='footer.light.tpl'}
код:
<div class="lite-center">
<form action="{router page='registration'}invite/" method="POST">
<div class="lite-note">
<button type="submit" name="submit_invite_link" class="button" style="float: none;"><span><em>{$aLang.registration_invite}</em></span></button>
</div>
</form>
</div>
это мы создаем для удобства пользователей кнопку «Регистрация по приглашению» на странице регистрации (под формой)
2) В настройках сайта включаем «Регистрацию по приглашению»
3) находим classes/actions/ActionRegistration.class.php
комментим в нем направление на страницу registration/invite
/**
* Если включены инвайты то перенаправляем на страницу регистрации по инвайтам
*/
/*if (!$this->User_IsAuthorization() and Config::Get('general.reg.invite') and !in_array(Router::GetActionEvent(),array('invite','activate','confirm')) and !$this->CheckInviteRegister()) {
return Router::Action('registration','invite');
}*/
/* отключил перенаправление */
4) Решение с неограниченным кол-вом приглашений взял из коммента пользователя bafoed к данной ветке
/classes/modules/user/User.class.php
Ищем и меняем на:
/**
* Получаем число доступных приглашений для юзера
*
* @param unknown_type $oUserFrom
* @return unknown
*/
public function GetCountInviteAvailable(ModuleUser_EntityUser $oUserFrom) {
$iCountAvailable = 9999999;
return $iCountAvailable;
}
/templates/skin/new/actions/ActionSettings/invite.tpl
{$aLang.settings_invite_available}: <strong>{if $oUserCurrent->isAdministrator()}{$aLang.settings_invite_many}{else}{$iCountInviteAvailable}{/if}</strong><br />
меняем на:
{$aLang.settings_invite_available}: <strong>{$aLang.settings_invite_many}</strong><br />
Теперь сайт открыт пользователи могут рассылать приглашения, получившие приглашению люди могут регистрироваться, из задуманного мной осталось реализовать теперь общедоступную страницу на которой бы выводились все пользователи с кол-вом приглашенных ими пользователей
Буду благодарен за советы как это реализовать
Пример того как я это вижу:
9 комментариев
Ищем и меняем на:
/templates/skin/new/actions/ActionSettings/invite.tpl
меняем на: