I am using this code to register a user on fresh Joomla 5.2.4 but not sucessfull and getting error.
Code: Select all
<?php
ini_set("display_errors", 1);
ini_set("display_startup_errors", 1);
error_reporting(E_ALL);
define('_JEXEC', 1);
if (file_exists(__DIR__ . '/defines.php')) {
require_once __DIR__ . '/defines.php';
}
if (!defined('_JDEFINES')) {
define('JPATH_BASE', __DIR__);
require_once JPATH_BASE . '/includes/defines.php';
}
require_once JPATH_BASE . '/includes/framework.php';
use Joomla\CMS\Factory;
use Joomla\CMS\Application\CMSApplication;
use Joomla\CMS\Application\AdministratorApplication;
use Joomla\CMS\User\UserFactory;
use Joomla\CMS\User\User;
use Joomla\Session\Session;
use Joomla\Session\SessionInterface;
$container = Factory::getContainer();
if (!$container->has(SessionInterface::class)) {
$container->share(SessionInterface::class, function () {
return new Session();
});
}
$session = $container->get(SessionInterface::class);
if (!$session->isStarted()) {
$session->start();
}
if (!$container->has(CMSApplication::class)) {
$container->share(CMSApplication::class, function () use ($container) {
return $container->get(AdministratorApplication::class);
});
}
$app = $container->get(AdministratorApplication::class);
Factory::$application = $app;
$userFactory = $container->get(UserFactory::class);
$user = new User();
$user->set("name", "John Doe");
$user->set("username", "johndoe123");
$user->set("email", "[email protected]");
$user->set("password", "SecurePass123");
$user->set("groups", [2]);
if (!$user->save()) {
echo "User creation failed: " . implode(", ", $user->getErrors());
} else {
echo "User created successfully! User ID: " . $user->id;
}
Code: Select all
Attempted to load class "Joomla" from namespace "Joomla\Plugin\User\Joomla\Extension".
Did you forget a "use" statement for another namespace?