Page 1 of 1

Benutzer anlegen „am Stück“

Posted: Mon Sep 23, 2013 2:12 pm
by yellowled
Wie es aussieht, muss ich demnächst und vermutlich in einem Jahr noch einmal in einem Blog ziemlich viele (ca. 50-60) Benutzer anlegen, da eine Selbstregistrierung über die entsprechenden Plugins ausdrücklich nicht erwünscht ist. :roll:

Das kann ja kein Mensch von Hand machen wollen. Gibt es eine schnieke Methode, sowas (meinetwegen über ein externes PHP-Script oder MySQL, wenn's denn sein muss) zu automatisieren? (Nein, ich kann mir sowas leider nicht „mal eben selber schreiben“.)

Brecht Euch aber nicht die Finger – wenn's nur kompliziert geht, muss ich eben in den Klickflöz und das per Backend von Hand machen.

YL

Re: Benutzer anlegen „am Stück“

Posted: Tue Sep 24, 2013 1:33 pm
by garvinhicking
Hi!

Klar, man kann via:

Code: Select all

<?php
include 'serendipity_config.inc.php';
serendipity_addAuthor($username, $password, $realname, $email, $userlevel);
anpassen. Die User könnte man z.b. auch in eine CSV Datei oder ähnliches packen, die man per fgetcsv() ausliest:

Code: Select all

include 'serendipity_config.inc.php';
$fp = fopen('benutzer.csv', 'rb');
while (($data = fgetcsv($fp)) !== FALSE) {
  serendipity_addAuthor($data[0], $data[1], $data[2], $data[3], $data[4]);
}
Das CSV müsste dann per kommagetrennt sowas beinhalten:

Code: Select all

#$username, $password, $realname, $email, $userlevel
garvin,meinpasswort,Garvin Hicking,mail@example.com,255
Grüße,
Garvin

Re: Benutzer anlegen „am Stück“

Posted: Tue Sep 24, 2013 2:53 pm
by yellowled
garvinhicking wrote:

Code: Select all

include 'serendipity_config.inc.php';
$fp = fopen('benutzer.csv', 'rb');
while (($data = fgetcsv($fp)) !== FALSE) {
  serendipity_addAuthor($data[0], $data[1], $data[2], $data[3], $data[4]);
}
Das sieht ja schon mal supersexy aus. Das könnte ich ja sogar aufbohren und die Passwörter (Sicherheitsbauchweh mal außen vor) direkt per mail() an die Benutzer schicken, also sowas in der Art hier:

Code: Select all

while (($data = fgetcsv($fp)) !== FALSE) {
  serendipity_addAuthor($data[0], $data[1], $data[2], $data[3], $data[4]);
  $message = "Your username: " . $data[0] . "\nYour password: " . $data[1] . "\n\nPlease login at http://foo.bar.de and change your password as soon as possible.";
  mail($data[3], "Your login data", $message);
}
oder? Und dann rufe ich einfach die PHP-Datei im Browser auf und zonk?

YL

Re: Benutzer anlegen „am Stück“

Posted: Tue Sep 24, 2013 3:03 pm
by yellowled
Hm, nicht ganz unwichtige Zusatzfrage: Ich verwende im System dort Benutzergruppen für die Berechtigungen. Wie funktioniert denn da die Gruppenzuweisung? Werden die alle als Standard Editor/Redakteur angelegt?

Nachtrag: Ah, die Gruppen werden leider gar nicht gesetzt, dafür funktioniert der Rest – zumindest auf meinem Testserver, harrharr – wunderbar. Gibt's irgendeine passende Funktion, mit der ich die Gruppe im gleichen Atemzug setzen könnte? (Ich such schon mal selbst, aber wer weiß, ob ich's finde …)

YL

Re: Benutzer anlegen „am Stück“

Posted: Tue Sep 24, 2013 3:56 pm
by yellowled
yellowled wrote:Gibt's irgendeine passende Funktion, mit der ich die Gruppe im gleichen Atemzug setzen könnte? (Ich such schon mal selbst, aber wer weiß, ob ich's finde …)
Ja, natürlich gibt es die. Ich werd hier noch zum PHP-Coder, meine Fresse.

Code: Select all

<?php
include 'serendipity_config.inc.php';
$fp = fopen('users.csv', 'rb');
while (($data = fgetcsv($fp)) !== FALSE) {
  $cid = serendipity_addAuthor($data[0], $data[1], $data[2], $data[3], $data[4]);

  $groups = array("1");
  serendipity_updateGroups($groups, $cid);

  $message = "Your username: " . $data[0];
  $message .= "\nYour password: " . $data[1];
  $message .= "\n\nPlease login at http://foo.bar.de and change your password as soon as possible.";

  $from = "From: mail@example.com";

  mail($data[3], "Your login data", $message, $from);
}
Das ist jetzt natürlich ziemlich krude, weil z.B. die Gruppen-ID hart einkodiert ist, aber für mich tut das. Schaut nochmal jemand drüber, ob das halbwegs vertretbar ist? Danke. (die .php/.csv-Dateien würde ich nach Benutzung einfach wieder vom Server werfen.)

YL

Re: Benutzer anlegen „am Stück“

Posted: Wed Sep 25, 2013 9:13 am
by garvinhicking
Hi!

Die GruppenID kannst Du durchaus auch in die CSV-Datei reinpacken und dann per $data[x] zuweisen...

Grüße,
Garvin

Re: Benutzer anlegen „am Stück“

Posted: Wed Sep 25, 2013 2:18 pm
by yellowled
garvinhicking wrote:Die GruppenID kannst Du durchaus auch in die CSV-Datei reinpacken und dann per $data[x] zuweisen...
Äh, ja. Hätte man drauf kommen können … :mrgreen:

Danke Dir sehr!

YL

Re: Benutzer anlegen „am Stück“

Posted: Sat Sep 28, 2013 10:01 am
by mattsches
(Notiert für Metatron)

Re: Benutzer anlegen „am Stück“

Posted: Sat Sep 28, 2013 2:08 pm
by yellowled
mattsches wrote:(Notiert für Metatron)
Würde mir hier übrigens (glaube ich) dank des „günstigen“ Hostingpaketes nichts nützen, ist aber generell sicherlich sehr sinnvoll. Eventuell könnte man dann auch einen Zufallsgenerator für temporäre Passwörter einbauen?

YL