Hallo,
ich habe unter Joomla 3 eine Webseite in einem iFrame eingebunden, die den in Joomla eingeloggten User auslesen konnte.
PHP
<?php
include "header.html";
include "mysql.php";
require_once "vendor/autoload.php";
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
define('_JEXEC', 1);
define('JPATH_BASE', $_SERVER[ 'DOCUMENT_ROOT' ]);
define('DS', DIRECTORY_SEPARATOR);
require_once JPATH_BASE.DS.'includes'.DS.'defines.php';
require_once JPATH_BASE.DS.'includes'.DS.'framework.php';
require_once JPATH_BASE.DS.'libraries'.DS.'joomla'.DS.'database'.DS.'/factory.php';
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
use Joomla\CMS\Factory;
$userdetails = getUserDetail();
echo $userdetails[0];
echo $userdetails[1];
echo $userdetails[2];
Alles anzeigen
Code
function getUserDetail() {
$user =& JFactory::getUser();
$userid = $user->id;
$returnArr = [];
if ($userid > 0) {
$username = JFactory::getUser()->get('name');
$userEmail = JFactory::getUser()->get('email');
array_push($returnArr,$username,$userEmail,$userid);
} else {
array_push($returnArr,'Error', 'Error');
}
return $returnArr;
}
Alles anzeigen
Leider scheint das unter Joomla 4 nicht mehr zu funktionieren, weil an dem angegebenen Ort
/var/www/intranet/libraries/joomla/database/ die Datei "factory.php" nicht exstiert, bzw. es diesen Pfad so überhaupt nicht mehr existiert.
Weis jemand hier, wie ich meine Anwendung unter Joomla 4 wieder zum laufen bekomme und den angemeldeten User auslesen kann?
Danke im voraus.
Gruß
Dirk