Перейти к контенту

Группа пользователя, в зависимости от пола


Рекомендуемые сообщения

Очень хотелось бы, чтобы сделали мод, который бы в зависимости от указанного пользователем пола, перемещал его в нужную группу.

Описание:

На страницу регистрации выведело поле выбора пола. Нужно сделать так, чтобы от пола зависило в какую группу попадёт пользователь.

Например юзер, указавший пол "Ж" попадает в группу "Участницы",а юзеры с полом "М" соотв в "Участники".

Можно и на платной основе...если готовы написать такой мод, скажите сколько это будет стоить. :D

Ссылка на комментарий
Поделиться на других сайтах

Ссылка на комментарий
Поделиться на других сайтах

Так возьмёшься?

И ещё...как быть с неактивированными пользователями? Ведь в эту группу попадают сразу после реги...

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...

В общем если еще актуально:

1. Открываем ./cache/lang_cache/язык/lang_register.php, добавляем в массив следующее:

'm_gender'			=> "Пол",
'm_gender_dest'			=> "Укажите Ваш пол",
'm_gender_as_female'		=> "Женский",
'm_gender_as_male'		=> "Мужской",

Сохраняем, закрываем.

 

2. Открываем шаблон skin_register->ShowForm, ищем:

<!--{OPTIONAL.FIELDS}-->

 

Добавляем перед:

<fieldset>
<legend>{$this->ipsclass->lang['m_gender']}</legend>
<div class="desc">{$this->ipsclass->lang['m_gender_dest']}</div><br />
	<select class='select' name='gender'>
		<option value='male'>{$this->ipsclass->lang['m_gender_as_male']}</option>
		<option value='female'>{$this->ipsclass->lang['m_gender_as_female']}</option>			
		</select>
</fieldset><br />

 

Сохраняем.

 

3. Открываем ./sources/action_public/register.php, ищем в функции create_account(!):

Ищем:

$members_display_name = trim( $this->ipsclass->input['members_display_name'] );

Добавляем после:

$gender 			  = $this->ipsclass->input['gender'];

 

ищем

$this->ipsclass->DB->do_insert( 'members', $member );

 

Добавляем после:

//-----------------------------------------
// Insert: gender
//-----------------------------------------
$this->ipsclass->DB->do_insert( 'profile_portal', array( 
'pp_member_id'				 => $member['id'],
'pp_gender'   => $gender) );

Сохраняем, закрываем.

4. Открываем /sources/action_admin/member_tools.php

Ищем:

$this->ipsclass->DB->do_update( 'members', array( 'mgroup' => $row['real_group'] ), "id=".$row['id'] );

 

Добавляем перед:

$gender = $this->ipsclass->DB->simple_exec_query( array( 'select' => '*', 'from' => 'profile_portal', 'where' => "pp_member_id=".$row['id'] ) );
if($gender['pp_gender'] == "male")
$row['real_group'] = 7; // id(номер) группы "Участник";
else
$row['real_group'] = 8; // id(номер) группы "Участница"

 

Сохраняем, закрываем.

 

Фишка работает при активации админом. Работает ли при активации через мыло - х.з. Если нет - напиши, посмотрю, где зашита активация через мыло (кстати может подскажет кто ?).

Ссылка на комментарий
Поделиться на других сайтах

Спасибо! Но уже решил вопрос по другому.

Вывел на страницу регистрации выбор группы на усмотрение пользователя( Участники и Участницы)

Ссылка на комментарий
Поделиться на других сайтах

4. Открываем /sources/action_admin/member_tools.php

Ищем:

$this->ipsclass->DB->do_update( 'members', array( 'mgroup' => $row['real_group'] ), "id=".$row['id'] );

 

Добавляем перед:

$gender = $this->ipsclass->DB->simple_exec_query( array( 'select' => '*', 'from' => 'profile_portal', 'where' => "pp_member_id=".$row['id'] ) );
if($gender['pp_gender'] == "male")
$row['real_group'] = 7; // id(номер) группы "Участник";
else
$row['real_group'] = 8; // id(номер) группы "Участница"

 

Сохраняем, закрываем.

По моему достаточно только 4 пункта, т.к. все пункты выше добавляют обязательный пункт при регистрации ПОЛ, поправьте если не так.

Ссылка на комментарий
Поделиться на других сайтах

По моему достаточно только 4 пункта, т.к. все пункты выше добавляют обязательный пункт при регистрации ПОЛ, поправьте если не так.

Так то оно так. Но если при регистрации не указать пол (т.е. не делать пункты до 4), то откуда тогда брать вот это :

$gender = $this->ipsclass->DB->simple_exec_query( array( 'select' => '*', 'from' => 'profile_portal', 'where' => "pp_member_id=".$row['id'] ) );

Ссылка на комментарий
Поделиться на других сайтах

ну это уже другой вопрос :D

p.s. У меня встречный вопрос: "Как быть с теми кто уже зареген и пола не указал(до установки этого апдейта)"

Ссылка на комментарий
Поделиться на других сайтах

ну это уже другой вопрос :D

p.s. У меня встречный вопрос: "Как быть с теми кто уже зареген и пола не указал(до установки этого апдейта)"

Написать мод, который будет переносить юзера в нужную группу, при указании пола в профиле - дело трех минут =))

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.