Views Bulk Operation Passwort auf Defaultwert setzen

am 24.09.2009 - 20:49 Uhr in
Hallo,
ich würde gern in einer Bulk-Operation-View bei allen ausgewählten Usern das Passwort auf einen bestimmten Wert setzen.
In der Auswahl der Aktionen habe ich diese (Passwort auf einen bestimmten Wert setzen) nicht gefunden.
Müsste ich eine solche Aktion selber schreiben oder habe ich etwas übersehen?
Oder hat jemand eine solche oder vergleichbare Aktion selber geschrieben?
Ich wäre sehr dankbar für Hinweise.
Gruss
Adriana
- Anmelden oder Registrieren um Kommentare zu schreiben
VBO reset password
am 24.09.2009 - 22:36 Uhr
Ja, das musst Du Dir selbst zusammenbasteln.
Und zwar funktioniert das in Verbindung mit Rules. Du erstellst Dir eine neue Regel, die als Parameter ein Nutzerobjekt (
$user
) erwartet und führst dann eine PHP-Aktion (<?php
$user->password = md5('dingens');
return $user
?>
Jetzt kannst Du im View bei den Einstellungen für VBO die neue Regel auswählen und hast sie nach dem Speichern des Views in der Auswahlliste zur Verfügung.
hth,
Stefan
--
sei nett zu Deinem Themer
Vielen Dank! Ich denke, das
am 25.09.2009 - 21:34 Uhr
Vielen Dank! Ich denke, das löst mein Problem... nur komme ich mit dem Rules-Modul nicht wirklich klar:
Ich habe das Rules-Modul installiert, habe aber nicht herausgefunden, wie ich eine Rule definieren kann. Unter "Rule Sets" habe ich zwar die Möglichkeit "Add Rule" gefunden, inwzischen auch die Möglichkeit Code einzufügen (Execute custom PHP code ?), aber nicht, wie ich den Parameter angeben soll ..
Für Hilfe oder Hinweise wäre ich sehr dankbar...
Adriana
Offenbar habe ich mich
am 28.09.2009 - 14:13 Uhr
Offenbar habe ich mich ungeschickt oder unklar ausgedrückt:
Ich bin unsicher, ob meine Vorgehensweise mit Stephans Lösung übereinstimmen, da ich noch nicht ans Ziel gekommen bin.
1. ich habe das Modul Rules installiert
2. ich erstelle ein neues Rules Set
3. unter Parameter habe ich Benutzer ausgewählt (Beschriftung und maschinenlesbare Bezeichnung lautet auch user)
4. einen neue Rule hinzugefügt: beim Erstellen "execute custom PHP code" ausgewählt, und Stephans Code eingefügt.
Die Rule kann ich in der View auswählen.
Wenn ich nun in der View (listet alle Benutzer auf) einen Benutzer auswähle und auf resetpw klicke, die Anfrage bestätige, passiert nichts.
Ich wäre sehr dankbar für Hinweise darauf, was ich falsch gemacht habe....
Gruss
Adriana
password-reset
am 28.09.2009 - 16:23 Uhr
Versuch mal diesen Code:
<?php
$user->password = md5('dingens');
return array('user' => $user);
?>
In der Form steht das übrigens beim Erstellen der Aktion auch unter den verfügbaren Variablen.
hth,
Stefan
--
sei nett zu Deinem Themer
Vielen Dank für Deine
am 28.09.2009 - 16:38 Uhr
Vielen Dank für Deine Antwort! Auch das hatte ich schon versucht, aber vergeblich (den Hinweis im GUI habe ich gesehen und Dein erstes Skript entsprechend abgewandelt)
Beim Paramenter habe ich den Typ Benutzer ausgewählt, in meiner View werden Benutzer angezeigt.
Irgendwie scheint das Skript auch ausgeführt zu werden, da Fehlermeldungen kommen wenn ich bei der Return-Zeile etwas falsch schreibe... aber das Passwort wird nicht ersetzt...
Falls Du noch irgendeine Idee hast, wäre ich Dir sehr dankbar!!
Gruss
Adriana
Kennwort zurücksetzen
am 28.09.2009 - 19:23 Uhr
Ok, ich war irrtümlicherweise davoon ausgegangen, dass "intelligent saving" auch für Benutzerobjekte funktioniert. Dem ist leider nicht so.
Jedoch funktioniert ein Einfaches
<?php
user_save($user, array('pass' => 'test'));
?>
user_save
).hth,
Stefan
--
sei nett zu Deinem Themer
Vielen herzlichen Dank!!!
am 28.09.2009 - 19:39 Uhr
Vielen herzlichen Dank!!!
In der View von VBO wird die
am 09.10.2009 - 05:47 Uhr
In der View von VBO wird die angelegte Regel bei mir nicht bei den Operationen angezeigt.
Ich habe Drupal 6.14 und folgende Modulversionen laufen:
Views Bulk Operations (VBO) 6.x-1.8
Rules 6.x-1.1
Welche Version verwendest Du?
Und wo wird die Regel bei Dir angezeigt?
Vielleicht habe ich was übersehen.
ich verwende die gleichen
am 09.10.2009 - 08:27 Uhr
ich verwende die gleichen Versionen. Die Regel wird bei mir bei den Operationen angezeigt.
Meine Rule Set und die entsprechende Rule nehmen ein User-Objekt entgegen, in der View zeige ich auch User an (View Type: User)
Gruss
Adriana
Update auf Drupal 7
am 04.07.2013 - 08:56 Uhr
Hallo,
nach einem Update auf Drupal 7 stelle ich fest dass der Code
<?php
user_save($user, array('pass' => 'test'));
?>
nicht mehr funktioniert. Wie müsste ich das formulieren, damit auch in Drupal 7 das Passwort zurückgesetzt wird?
Wenn ich den alten Code verwende, bekomme ich eine Fehlermeldung (siehe unten) und das PW wird nicht geändert.
Für Hinweise wäre ich sehr dankbar.
Gruss
Adriana
An AJAX HTTP error occurred. HTTP Result Code: 500 Debugging information follows. Path: /batch?id=3275&op=do StatusText: Service unavailable (with message) ResponseText: PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 2: INSERT INTO {users} (uid, created, uuid) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2); Array ( [:db_insert_placeholder_0] => 3276 [:db_insert_placeholder_1] => 1372924055 [:db_insert_placeholder_2] => 8c5de921-b812-46b0-ae72-23dea7f83b4d ) in drupal_write_record() (line 7136 of .../includes/common.inc).
Du solltest einfach mal in
am 04.07.2013 - 09:19 Uhr
Du solltest einfach mal in die API Dokumentation zu user_save von Drupal sehen. Bei Drupal 7 braucht es ein Account-Objekt als ersten Parameter. Ist Dein $user ein solches Object?
Beste Grüße
Werner
hab ich... die Beschreibung
am 04.07.2013 - 09:25 Uhr
hab ich... die Beschreibung ist dieselbe... mit der $user-Variablen hatte es funktioniert
(https://api.drupal.org/api/drupal/modules!user!user.module/function/user_save/6
$account: The user object for to modify or add. If you want to modify an existing user account, you will need to ensure that (a) $account is an object, and (b) you have set $account->uid to the numeric user ID of the user account you wish to modify. Pass in NULL or any non-object to add a new user.)