23. November 2017, 14:10:27
SMFPortal.de

Autor Thema: SMF 2.0.x: Gruppenauswahl bei Registrierung möglich?  (Gelesen 878 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

13. März 2012, 15:33:24
Gelesen 878 mal

Inti31

Gast
« Letzte Änderung: 19. August 2012, 18:04:51 von Inti31 »

13. März 2012, 15:38:07
Antwort #1

Parmaster

Administration
Eine digitale Welt zur Neugestaltung des menschlichen Daseins

13. März 2012, 15:50:40
Antwort #2

Inti31

Gast
« Letzte Änderung: 19. August 2012, 18:04:33 von Inti31 »

13. März 2012, 16:03:21
Antwort #3

Parmaster

Administration
Naja, ist doch kein Problem für dich das auf Version 2 anzupassen. ;)
Eine digitale Welt zur Neugestaltung des menschlichen Daseins

13. März 2012, 18:39:33
Antwort #4

Inti31

Gast
« Letzte Änderung: 19. August 2012, 18:04:12 von Inti31 »

13. März 2012, 20:24:45
Antwort #5

TE

Gast
DB-Abfragen im SMF 2 sehen etwas anders aus, als noch unter 1.1.

aus
Code
$request = db_query("
SELECT m.groupName, m.ID_GROUP AS GROUP_ID, m.minPosts, p.permission AS disallowedPerm
FROM {$db_prefix}membergroups as m
LEFT JOIN $join
WHERE m.ID_GROUP != 3 AND m.ID_GROUP != 1 AND m.minPosts = -1
ORDER BY m.groupName", __FILE__, __LINE__);
würde beim SMF 2 in etwa so aussehen (ungetestet!):

Code
$smcFunc['db_query']('', '
SELECT m.group_name, m.id_group AS GROUP_ID, m.min_posts, p.permission AS disallowedPerm
FROM {$db_prefix}membergroups as m
LEFT JOIN $join
WHERE m.id_group NOT IN ({array_int:disallowed_groups}) AND m.min_posts = -1
ORDER BY m.group_name',
array(
'disallowed_groups' => array(1,3),
)
);

bei den Tabellen-Feldern werden aus UPPERCASE dann lowercase, aus camelCase werden lower_case_mit_underscore
Beispiele:
ID_GROUP => id_group
minPosts => min_posts

der JOIN hat den Zweck die Tabelle Permissions abzufragen und gegen die vordefinierten Rechte in $disallowed zu prüfen:
Code
$join = "{$db_prefix}permissions as p ON (p.id_group = m.id_group AND p.permission IN ('" . implode("','", $disallowed) . "'))";
wenn also eine der folgenden Rechte in einer Gruppe vorhanden ist wird sie aus Sicherheitsgründen von der Auswahl ausgeschlossen:
Code
$disallowed = array('admin_forum','manage_permissions','moderate_forum', 'manage_boards','manage_attachments','manage_smileys', 'edit_news', 'manage_attachments', 'manage_permissions', 'manage_bans', 'send_mail');
Die hier definierten Rechte sind Admin- bzw. Mod-Rechte und die Sollte man seinen Usern keinesfalls direkt beim Registrieren verpassen.
« Letzte Änderung: 13. März 2012, 20:29:07 von TE »

13. März 2012, 22:25:33
Antwort #6

Inti31

Gast
« Letzte Änderung: 19. August 2012, 18:03:16 von Inti31 »

14. März 2012, 05:56:30
Antwort #7

TE

Gast
COPPA ist eine "Jugenschutz"-Funktion, im Amiland dürfen unter 13-jährige Foren erst nach schriftlicher Zustimmung der Eltern besuchen und dort schreiben. Wenn COPPA aktiviert wurde kommt beim Registrieren eine Abfrage nach Alter, und wenn du U13 angibst kommt ein Hinweis mit einem Fax, welches an den Foren-Betreiber geschickt werden muss, bevor der Account freigeschaltet werden darf.

Edit: Wikipedia hat auch eine nette Erkärung:
http://de.wikipedia.org/wiki/Children%E2%80%99s_Online_Privacy_Protection_Act
« Letzte Änderung: 14. März 2012, 05:58:44 von TE »

 

Internes

Nutzungsbedingungen Impressum

Wissenswertes

Hilfe Knowledge Base

Nützliches

Downloads Kleinanzeigen Socialmedia