In particolare viene usata la classe JFactory e il metodo getUser ampiamente documentati sul sito di riferimento: docs.joomla.org/JFactory.
Questo il codice PHP completo:
<?php> define( '_JEXEC', 1 ); define( '_VALID_MOS', 1 ); // if you app is placed into a subfolder in Joomla root, the path will look like dirname(__FILE__) . '/..' define( 'JPATH_BASE', realpath(dirname(__FILE__) .'/' ) );// eventualmente indicare il percorso della root di joomla define( 'DS', DIRECTORY_SEPARATOR ); require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' ); require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' ); $mainframe =& JFactory::getApplication('site'); $mainframe->initialise(); $user =& JFactory::getUser(); // RECUPERO lo username dell'utente e inizializzo la variabile $utente $utente = $user->username;// $testo = "E' stato richiesto il test"; $messaggio ="Messaggio inviato da $utente"; $messaggio .= "\n"; $messaggio .= "Testo del messaggio: $testo"; $subject = "$nome Richiesta Test"; $headers = "From:<Intestazione_mittente_email>\n"; $mail_to="Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo."; mail($mail_to, $subject, $messaggio, $headers); echo "<script>"; echo "alert('Richiesta inoltrata correttamente!');"; echo "window.location=\"index.php\";"; echo "</script>"; ?>Nell'esempio ho utilizzato solo il metodo $user->username; ma come descritto nella documentazione di riferimento si possono usare anche $user->name; e $user->id; per recuperare il Nome reale e l'ID del database.La mia necessità era quella di creare un pulsante che una volta premuto invia una email contenente i dati dell'utente connesso al sito. In particolare l'ho usato per creare un bottone di richiesta di invio di un test a seguito della conclusione di un corso online che ho inserito nel sito.