Scusami,
ma ti chiedo la cortesia di non commentare in maniera sgarbata; il tutto non è chiaro se non l'hai capito e non mastico molto bene il php.
Comunque tante cose non sono chiare :
1) Se ho ben capito non tutto il codice va inserito, giusto ? Dove lo posso collocare, in Index.php ?
2) la variabile $utente mi restituisce l'utente in linea, giusto ?
3) Questa variabile, è globale e la posso utilizzare nella mia query del mio componente ArtTable?
4) fammi sapere se non ti costa molto il ritaglio di codice che può servirmi e semmai chiedo la cortesia a te o qualcuno mi dia delle risposte a riguardo.
5) H anche il problema come va utilizzato ArtTable ma per questo ho messo un altro post (ve ne sarei grati se voleste aiutarmi anche in questo)
Saluti
Ok ok hai le tue ragioni anche tu.
1). Il codice non va inserito in index.php a motivo che per accedere all' utente bisogna che siano prima caricate le librerie di Joomla. Salvo errori il codice va inserito in quello dell'estensione visform. La posizione dipende da come è fatta l'estensione stessa; un file di nome helper.php oppure default.php dovrebbe andare bene. Anzi, meglio ancora: fai un tuo file da immergere in uno dell'estensione tramite include del php, sarà più facile la manutenzione in caso di aggiornamenti.
2). $utente = $user->username; restituisce l'utente in linea. Questa variabile fa parte del più generale oggetto JUser che contiene tutte le informazioni che potrebbero servirti al riguardo.
3). La variabile è utilizzabile nella tua query, esatto.
4). Posto un frammento di codice che, come il precedente trova l'
user presente ed è anche molto simile al codice dell'articolo menzionato. Il nucleo è sempre JFactory::getUser(); però è assente un passaggio per riferimento che invece c'era in joomla 1.5 e quindi il frammento non ha problemi con le versioni recenti di php. Il frammento, come il precedente articolo, se ricordo giusto funziona senza bisogno di immergerlo in un file di joomla, si esegue anche da solo ed è utile come esempio dell'oggetto JUser e come estrarlo.
Non lamentarti che mastichi poco il php. Joomla utilizza un php complesso in grado di dare filo da torcere a chiunque!
<?php
if (!defined('_JEXEC')){
// Initialize Joomla framework
define('_JEXEC', 1);
}
// Load system defines
if (file_exists(dirname(__FILE__) . '/defines.php')){
require_once dirname(__FILE__) . '/defines.php';
}
if (!defined('JPATH_BASE')){
define('JPATH_BASE', dirname(__FILE__));
}
if (!defined('_JDEFINES')){
require_once JPATH_BASE . '/includes/defines.php';
}
// Get the framework.
require_once JPATH_BASE . '/includes/framework.php';
$app = JFactory::getApplication('site');
$app->initialise();
$user = JFactory::getUser();
echo "id:".$user->id;
echo '<br>';
var_dump($user);
/* output:
id:0
object(JUser)#44 (26) {
["isRoot":protected]=> bool(false)
["id"]=> int(0)
["name"]=> NULL
["username"]=> NULL
["email"]=> NULL
["password"]=> NULL
["password_clear"]=> string(0) ""
["block"]=> NULL
["sendEmail"]=> int(0)
["registerDate"]=> NULL
["lastvisitDate"]=> NULL
["activation"]=> NULL
["params"]=> NULL
["groups"]=> array(1) {
[0]=> string(1) "1"
}
["guest"]=> int(1)
["lastResetTime"]=> NULL
["resetCount"]=> NULL
["requireReset"]=> NULL
["_params":protected]=> object(Joomla\Registry\Registry)#45 (2) {
["data":protected]=> object(stdClass)#46 (0) { }
["separator"]=> string(1) "."
}
["_authGroups":protected]=> array(1) { [0]=> int(1) }
["_authLevels":protected]=> array(2) { [0]=> int(1) [1]=> int(1) }
["_authActions":protected]=> NULL
["_errorMsg":protected]=> NULL
["userHelper":protected]=> object(JUserWrapperHelper)#47 (0) { }
["_errors":protected]=> array(0) { }
["aid"]=> int(0)
}
*/
Ciao!