Mach es doch über das von Joomla bereitgestellt User-Objekt: (das einbinden der Joomla Dateien hab ich von joom-passreset.php)
PHP-Code:
<?php
define('JPATH_BASE', dirname(__FILE__) );
define( 'DS', DIRECTORY_SEPARATOR );
if ((file_exists(JPATH_BASE .DS.'incfludes'.DS.'framework.php'))) {
define( '_JEXEC', 1 );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
$mainframe =& JFactory::getApplication('administrator');
$db =& JFactory::getDBO();
$user =& JFactory::getUser();
$newuser = new JUser();
$Benutzerdaten = array(
"name" => "", // voller Name
"username" => "" , // Benutzername
"email" => "" , // E-Mail-Adresse
"password" => "" , // Neues Passwort } nur, wenn klartext-passwort
"password2" => "" , // Passwort bestätigen } nur, wenn klartext-passwort
"gid" => 18, // Benutzergruppe-ID :(Registriert: 18)
"block" => 0 , // Benutzer sperren
"sendEmail" => 0 , // Systemnachrichten empfangen
"params" => "", // Parameter, kann ein Array sein
"id" => 0 , // Benutzer-ID, wird nicht verwendet
"cid" => array();
);
$newuser->bind($Benutzerdaten);
// das Passwort muss nachträglich gesetzt werden, wenn es schon als MD5 vorliegt.
// JUser->bind nimmt nur Klartextpasswörter an.
$newuser->set( 'password', "DER_MD5_HASH");
// Zum Test nur Ausgabe des Objekts
header("Content-type: text/plain");
print_r($newuser);
// speichern:
/*
$newuser->save();
*/
// Objekt freigeben
$newuser = NULL;
} else {
echo "<html><head><title>User erstellen - Fehler</title></head><body><h1>Datei liegt nicht im Joomla 1.5-Root</h1><p>user_add muss im Root liegen</p></body></html>";
}
?>
Lesezeichen