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

Userrechte

Eingetragen von Kourosh (81)
am 25.04.2008 - 14:20 Uhr in
  • Modulsuche
  • Drupal 5.x

Hallo Zusammen,

weiß jemand, wie man die Userrechte im Laufzeit ändern kann.

Beispiel: User A bekommt neue Rechte, nachdem er eine Formular abgeschickt hat.

Für jeden Rat bin ich sehr dankbar.

Grüße

Kourosh

‹ Formulardaten in einem Artikel anzeigen Inhalt Kategoresierung Platin, Gold, Silber.... ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Klingt nach Userpoints.

Eingetragen von eddiedrupal (191)
am 25.04.2008 - 14:45 Uhr

Klingt nach Userpoints.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ansonsten auch mit den

Eingetragen von bv (3924)
am 25.04.2008 - 15:25 Uhr

Ansonsten auch mit den Modulen Action und Triggers möglich oder auch Workflow NG.

--
bv - drupalcenter.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

Schliesse mich dem Tipp von

Eingetragen von quiptime (4972)
am 25.04.2008 - 21:12 Uhr

Schliesse mich dem Tipp von bv an.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

theoretisch sollte es

Eingetragen von Kourosh (81)
am 28.04.2008 - 08:02 Uhr

theoretisch sollte es möglich sein, ich habe allerdings keinen Action gefunden,
der Userrechte ändern kann, gibt es so ein Action?

ansonsten wie kann ich diese Rechte über php-code ändern.

Grüße

Kourosh

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du kannst die Änderungen ..

Eingetragen von UwBach (310)
am 28.04.2008 - 08:53 Uhr

.. in einem eigenen Modul setzen. Ich habe dafür neue Rollen angelegt, z. B. "Standard" und "Premium". Die Werte werden aus einem eigenen Formular übernommen.

global $user;

$irgendeinePruefung = true;
$sonstwas = true;
$uid = 0;
// Prüfen ob der User schon angelegt ist
if($user -> uid)
$uid = $user -> uid;

// Rollen im Array speichern
$roles = array();
// ermitteln des Mitgliedsstatuses
if($irgendeinePruefung)
$roles[4] = 'Standard';
elseif($sonstwas)
$roles[5] = 'Premium';

// anlegen eines Userr sin Drupal
$return = user_save(
$uid,
array(
'name' => $username,
'pass' => $password,
'mail' => $mitglied['email'],
'roles' => $roles,
'status' => 1,
'init' => $mitglied['email']
));

Der Vorteil ist das User automatisch upgedatet werden, wenn Sie existieren, und neu angelegt werden wenn Sie noch nicht existieren. Über den 'status' wird bestimmt ob es sich um einen aktiven User handelt (0 = geblockt). Über das Array $roles lassen sich beliebig viele Rollen zuweisen. Die Rollen 'anonymous user' und 'authenticated user' werden automatisch zugewiesen.

Schau dir dazu nochmal die Doku unter http://api.drupal.org/api/function/user_save an. Mit user_save werden alle Einstellung sofort übernommen.

Gruß

UwBach

  • Anmelden oder Registrieren um Kommentare zu schreiben

danke erstmal

Eingetragen von Kourosh (81)
am 28.04.2008 - 11:40 Uhr

für die schnellen Antwort.

Useranlegen funktioniert recht gut. die Rolle(n) sehe ich aber in der Liste nicht und
in der Bearbeitung sind sie nicht ausgewählt.

Userupdaten funktioniert leider nicht.
ich bekomme folgendes:

* user warning: Duplicate entry 'siamak' for key 2 query: INSERT INTO users (name, pass, mail, status, init, uid, created, access) VALUES ('siamak', 'fcea920f7412b5da7be0cf42b8c93759', 'klm@gmx.de', 0, 'kl@gmx.de', 27, 1209378967, 1209378967) in D:\xampp\htdocs\drupal-5.6\includes\database.mysql.inc on line 172.
* user warning: Duplicate entry '0-1' for key 1 query: INSERT INTO users_roles (uid, rid) values (0, 1) in D:\xampp\htdocs\drupal-5.6\includes\database.mysql.inc on line 172.
* user warning: Duplicate entry '0-2' for key 1 query: INSERT INTO users_roles (uid, rid) values (0, 2) in D:\xampp\htdocs\drupal-5.6\includes\database.mysql.inc on line 172.
* user warning: Duplicate entry '0-3' for key 1 query: INSERT INTO users_roles (uid, rid) values (0, 3) in D:\xampp\htdocs\drupal-5.6\includes\database.mysql.inc on line 172.

Grüße

Kourosh

  • Anmelden oder Registrieren um Kommentare zu schreiben

Sind die Rollen korrekt ...

Eingetragen von UwBach (310)
am 28.04.2008 - 12:22 Uhr

... angelegt? Die Rollen mit der ID 1 und 2 (anonymous user, authenticated user) dürfen nicht zugewiesen werden. Ein weiterer Fehler ist das die UID nicht an die Insert-Rolle übergeben wird (ich vermute du übergibst $account (im Script $uid) nicht als Array). Normalerweise sollte das sonst in dem Modul User mit erledigt werden (Funktion user_save :: Zeile 144 (Drupal 5.7))

Du kannst auch den Code von heute morgen nochmal anpassen, $account sollte als Array übergeben werden - also

$uid['uid] = 0;
// Prüfen ob der User schon angelegt ist
if($user -> uid)
$uid['uid'] = $user -> uid;

Damit müsste die UID jetzt drin stehen (ich hatte nur neue Inserts zu erledigen, von daher brauchte ich das nicht zu beachten). Wenn nicht geht poste deinen veränderten Code nochmal (auch für die nächsten die das Problem haben).

Gruß

UwBach

  • Anmelden oder Registrieren um Kommentare zu schreiben

updaten funktioniert

Eingetragen von Kourosh (81)
am 28.04.2008 - 13:43 Uhr

wie du auch gesagt hast, wenn ich anstatt uid das komplette user-Objekt übergebe.

mit Rollenzuweisung geht es weiterhin nicht.

mein Code:
$roles[0] = 3;
$roles[1] = 4;

// anlegen eines Userr sin Drupal
$return = user_save(
$user,
array(
'name' => 'adm',
'pass' => '1234567',
'mail' => 'yxcv@gmx.de',
'roles' => $roles,
'status' => 1,
'init' => 'yxcv@gmx.de'
));

in der DB-Tabelle steht aber:
mysql> select * from drupal.role;
+-----+--------------------+
| rid | name |
+-----+--------------------+
| 1 | anonymous user |
| 2 | authenticated user |
| 3 | public |
| 4 | gggg |
+-----+--------------------+

mysql> select * from
+-----+-----+
| uid | rid |
+-----+-----+
| 1 | 0 |
+-----+-----+

wo der rid = 0 herkommt, ist mir rätselhaft.

Grüße

Kourosh

  • Anmelden oder Registrieren um Kommentare zu schreiben

jetzt klappt alles :)

Eingetragen von Kourosh (81)
am 28.04.2008 - 14:15 Uhr

meine Fehler!!

richtig wäre:

$roles[3] = "public";
$roles[4] = "irgendwas";

Danke nochmal.

Kourosh

  • Anmelden oder Registrieren um Kommentare zu schreiben

neue Mitglieder

Eingetragen von Kourosh (81)
am 28.04.2008 - 15:34 Uhr

Hallo zusammen,
hat jemand eine Idee, wie ich den Block neue Mitglieder mit bildern versehen könnte.

Grüße

Kourosh

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • 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?
Weiter

Neue Kommentare

  • Inzwischen sind wir bei
    vor 1 Tag 6 Stunden
  • Migrieren von D7 auf D8/ D10/ D11
    vor 1 Tag 22 Stunden
  • melde mich mal wieder, da ich
    vor 7 Wochen 6 Tagen
  • Hey danke
    vor 7 Wochen 6 Tagen
  • Update: jetzt gibt's ein
    vor 8 Wochen 15 Stunden
  • Hallo, im Prinzip habe ich
    vor 8 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 8 Wochen 5 Tagen
  • Kannst doch auch alles direkt
    vor 9 Wochen 2 Tagen
  • In der entsprechenden View
    vor 9 Wochen 2 Tagen
  • Dazu müsstest Du vermutlich
    vor 9 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250235
Registrierte User: 20462

Neue User:

  • marouane.blel
  • capilclinic
  • Quabzibboter

» 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 24 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