Benutzer anlegen „am Stück“

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
User avatar
yellowled
Regular
Posts: 7111
Joined: Fri Jan 13, 2006 11:46 am
Location: Eutin, Germany
Contact:

Benutzer anlegen „am Stück“

Post by yellowled » Mon Sep 23, 2013 2:12 pm

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
amazon Wishlist - Serendipity-Podcast (German only, sorry)

User avatar
garvinhicking
Core Developer
Posts: 30020
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Benutzer anlegen „am Stück“

Post by garvinhicking » Tue Sep 24, 2013 1:33 pm

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
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/

User avatar
yellowled
Regular
Posts: 7111
Joined: Fri Jan 13, 2006 11:46 am
Location: Eutin, Germany
Contact:

Re: Benutzer anlegen „am Stück“

Post by yellowled » Tue Sep 24, 2013 2:53 pm

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
amazon Wishlist - Serendipity-Podcast (German only, sorry)

User avatar
yellowled
Regular
Posts: 7111
Joined: Fri Jan 13, 2006 11:46 am
Location: Eutin, Germany
Contact:

Re: Benutzer anlegen „am Stück“

Post by yellowled » Tue Sep 24, 2013 3:03 pm

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
amazon Wishlist - Serendipity-Podcast (German only, sorry)

User avatar
yellowled
Regular
Posts: 7111
Joined: Fri Jan 13, 2006 11:46 am
Location: Eutin, Germany
Contact:

Re: Benutzer anlegen „am Stück“

Post by yellowled » Tue Sep 24, 2013 3:56 pm

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
amazon Wishlist - Serendipity-Podcast (German only, sorry)

User avatar
garvinhicking
Core Developer
Posts: 30020
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Benutzer anlegen „am Stück“

Post by garvinhicking » Wed Sep 25, 2013 9:13 am

Hi!

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

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/

User avatar
yellowled
Regular
Posts: 7111
Joined: Fri Jan 13, 2006 11:46 am
Location: Eutin, Germany
Contact:

Re: Benutzer anlegen „am Stück“

Post by yellowled » Wed Sep 25, 2013 2:18 pm

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
amazon Wishlist - Serendipity-Podcast (German only, sorry)

mattsches
Regular
Posts: 440
Joined: Sat Nov 05, 2005 9:35 pm
Location: Wiesbaden, Germany
Contact:

Re: Benutzer anlegen „am Stück“

Post by mattsches » Sat Sep 28, 2013 10:01 am

(Notiert für Metatron)

User avatar
yellowled
Regular
Posts: 7111
Joined: Fri Jan 13, 2006 11:46 am
Location: Eutin, Germany
Contact:

Re: Benutzer anlegen „am Stück“

Post by yellowled » Sat Sep 28, 2013 2:08 pm

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
amazon Wishlist - Serendipity-Podcast (German only, sorry)

Post Reply