Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

[gelöst]Rolle User zuweisen

Eingetragen von dontgotanick (156)
am 16.04.2010 - 14:42 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hi,

ich will einem USer in einem bestimmten Fall eine Rolle zuweisen wenn er sich registriert, die Rolle hat die ID 3.

Das Problem ist er speichert nicht in die db wenn ich eine eigene Insert query ausführe.

Die Methode sieht aus wie folgt ( die Email werden versandt daher funktioniert der Rest):

<?php

function cwg_registration_user($op, &$edit, &$account, $category = NULL){


switch (
$op) {

    case
'insert':

     
$array = explode("@", $account->mail);
     
$sql = " SELECT Count(*) FROM drupal_access WHERE status = 1 AND mask LIKE '%%%s' ";
     
$t = db_result(db_query($sql, $array[1]));
     
      if(
$t > '0'){
     
     
     
//$test = db_query("INSERT INTO {users_roles} (uid, rid) VALUES ('%d', 3)",$account->uid);
     
     
$account->roles = 3;
     
     
drupal_set_message(t('Saved @uid.', array('@uid' =>  $account->uid)));
     
$trans = array (
       
"%username" => $account->name
     
);
     
     
$body = db_fetch_object(db_query('SELECT confirmation_mail FROM {cwg_registration'));
     
$email = db_fetch_object(db_query('SELECT mail_addresses FROM {cwg_registration}'));
     
     
     
$message = array(
       
'to' => $email->mail_addresses,
       
'subject' => t('Admin approved your registration.'),
       
'body' => strtr($body->confirmation_mail, $trans),
       
'headers' => array('From' => 'webmaster@configuration-workgroup.com'),
      );

     
drupal_mail_send($message);
     
     
      }
       



?>

Das Problem ist ich weis nicht wie ich einem Account die Rolle zuweise.

Weis mir da wer abhilfe?

LG

dave

‹ [gelöst] Anfängerproblem: Link in einem Block erscheinen lassen Irgendeine nützliche Idee für ein Intro-Modul? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Wie wärs mit Auto Assign

Eingetragen von Sammelzwerg (377)
am 16.04.2010 - 20:06 Uhr

Wie wärs mit Auto Assign Role? Damit kannst Du automatisch Rollen vergeben bei der Registrierung.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Oder mit Rules, damit dürfte

Eingetragen von Exterior (2903)
am 18.04.2010 - 01:33 Uhr

Oder mit Rules, damit dürfte das auch funktionieren.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi,

Eingetragen von dontgotanick (156)
am 18.04.2010 - 07:32 Uhr

naja das problem ist das ich die rolle nur verteilen will wenn di eemail addresse in der Acces list ist.
Daher entfalen die 2 Module da ich da sonst customizen muss, dann kann ich es gleich selbst programmieren.

Aber danke für die tipps

lg

dave

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hö? Einfach in Rules eine

Eingetragen von Exterior (2903)
am 18.04.2010 - 12:45 Uhr

Hö? Einfach in Rules eine kleine PHP-Abfrage machen, dann als Action die Rolle zuweisen, fertig, das macht man in 5 Minuten.

Wenn ich mir deinen geposteten Quelltext ansehe, dann kommst du mit Rules weitaus besser weg, schließlich musst du da nur eine kleine Abfrage machen und überprüfen, das sind 3 oder 4 Zeilen. Da sind zwischen Rules und selbst programmieren schon noch große Unterschiede, zumal das mit deinem Quelltext ja nicht so recht zu klappen scheint. Das hast du mit Rules wesentlich schneller gezaubert, wenn man bedenkt, dass du erst herausfinden musst, wo da der Wurm drin usw.

Also ich würde dir nach wie vor Rules empfehlen, "customizen" musst du vermutlich überall.

Zumal, was genau ist denn diese "Access list"? Liegt die in einer extra Tabelle in der Drupal-DB? Wenn ja, dann musst du ohnehin selbst Hand anlegen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das brauch ich aber nicht

Eingetragen von dontgotanick (156)
am 19.04.2010 - 08:14 Uhr

Das Modul das ich Schreibe soll ja nich nur diese Rolle zuweisen.

Die AccesList ist eine Lsite die jedes Drupal hat, dort kann man festlegen welche domains beim registrieren sofort activiert werden und blockiert.

Das komische ist das der Rest des Codes einwandfrei funktioniert nur das mit den Rollen nicht, warum auch immer.

Ein anderes Modul ist keine Option für mich weil ich will nicht lauter Module haben die ich sogesehen nicht brauche, das ist nur Datenmüll in der DB und unnötiger Administrationsaufwand.

Aber trotzdem danke für die Tipps.

LG

dave

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das Problem

Eingetragen von dontgotanick (156)
am 19.04.2010 - 08:55 Uhr

liegt daran, dass er im SQL Befehl die Variable nicht mag.
Wenn ich einen statischen Wert wie 1234 nehme, dann wird die Query ausgeführt mit jeglicher variable nicht.

Jemand ne Idee.

lg

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielleicht soltest Du in der

Eingetragen von wla (9461)
am 19.04.2010 - 11:57 Uhr

Vielleicht soltest Du in der Query statt '%%%s' nur %s schreiben. Die äußeren Quotes sind völlig ausreichend.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi

Eingetragen von dontgotanick (156)
am 19.04.2010 - 12:04 Uhr

ne diese SQL Query tut ja was sie soll, und da es ein Like Befehl ist indem gestattet ist das nur vor dem Text noch was anderes stehen darf stimmt das genau.

Ich meinte den auskommentierten Befehl

Aber ich habe das Problem erkannt, da der User noch nicht gespeichert ist löscht drupal automatisch alle Rolleneinträge in der users_role, damit keine Probleme auftreten können, denn das Statement wurde ohne Fehler ausgeführt.

Naja egal ich mache die Rollenzuweisung beim ersten einloggen des Users da funktioniert es einwandfrei.

Aber trotzdem Danke für eure Ratschläge.

LG

dave

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 16 Stunden
  • Hey danke
    vor 2 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 2 Wochen 2 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 6 Wochen 13 Stunden
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 1 Tag

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 22 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association