Przydzielanie do grupy przy rejestracji

Zaczęty przez LukaszP, 16 Listopad 2005, 11:05

0 użytkowników i 1 Gość przegląda ten wątek.

LukaszP

Przydzielanie użytkownika do grupy zaraz przy rejestracji:

Plik Register.template.php

Znajdź:
</tr><tr>
<td width="40%">
<b>', $txt[82], ':</b>
</td>
<td>
<input type="password" name="passwrd2" size="30" />
</td>
</tr>


Poniżej dodaj:
<tr>
<td width="40%">
<b>Group:</b>
</td>
<td>
<select name="group" size="30">
<option value="{group_id}">Nazwa grupy 1</option>
<option value="{group_2_id}">Nazwa grupy 2</option>
...
</select>
</td>
</tr>


Plik Sources/Register.php:

Jeśli ma to być regularna grupa:

Znajdź:
if ($user_info['is_admin'])
$register_vars['ID_GROUP'] = empty($_POST['group']) ? 0 : (int) $_POST['group'];


Zamień:
if($_POST['group'] == 1 && !$context['user']['is_admin'])
{
    $register_vars['ID_GROUP'] = 0;
}
else
{
    $register_vars['ID_GROUP'] = empty($_POST['group']) ? 0 : (int) $_POST['group'];
}


Inaczej:

Znajdź:
'ID_POST_GROUP' => 4,

Poniżej dodaj:
'additionalGroups' => "'$_POST[group]'",



Aby automatycznie nadać grupę:

Plik Register.php

Zaraz po pierwszej lini "global"
Dodaj:
$query = db_query("SELECT ID_GROUP, groupName FROM {$db_prefix}membergroups WHERE minPosts = '-1'", __FILE__, __LINE__);
$myarray = mysql_fetch_assoc($query);
foreach($myarray AS $group)
{
    // These are all the groups we don't want them to join (admin, global mod, moderator, etc.)
    if(in_array($myarray['ID_GROUP'], array('1', '2', '3'))
        continue;
    $context['groupstuff'] = array('ID' => $group['ID_GROUP'], 'name' => $group['groupName'],);
}
mysql_free_result($query);


Plik Register.template.php

<option value="', $context['groupstuff']['ID'], '">', $context['groupstuff']['name'], '</option>


Ceal

Hej,
A dało by się zrobić tak, by użytkownicy w trakcie rejestracji podawali haslo i na tej podstawie byli przydzielani do jakiejs grupy?

Albo - by mogli w profilu wybrac grupe chroniona haslem?

Pozdrawiam,