Allora, premettendo che utilizzo Sourcerer, il sistema è come segue. Ti anticipo che il codice è frammentato perchè l'ho reso molto modulare.
Un modulo Joomla chiede il require di script1.php: in esso non è inizializzata alcuna sessione perchè, essendo poi incorporato nel modulo, la sessione è già attiva.
Al click del pulsante è associata una chiamata ajax a script2.php, esterno a Joomla, il quale si occupa di effettuare lo switch del valore, attendendone l'esito: al termine di script2 (e, quindi, quando "VAR" è switchata) viene riletto il <div> di script1 che contiene il pulsante (per caricare il nuovo stato di VAR).
Script2.php contiene il codice di avvio di sessione come segue:
<?php
// Starting session
define( '_JEXEC', 1 );
define( 'JPATH_BASE', '../../' );
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();
$session =& JFactory::getSession();
$database_system = $session -> get('database_system');
....
dove, all'interno di $database_system, un array, ho VAR che, dopo la sua modifica, setto così:
$session -> set('database_system', $database_system);
Questo flusso si porta a compimento perchè, quando viene riletto il div di script1, effettivamente lo stato di VAR è cambiato.
Sempre all'interno di script2, dopo la modifica di VAR, c'è un controllo: se VAR = 1 lancia un exec:
exec('wget -q UrlDelFileFileB.php > /dev/null 2>&1 &');
Questo funziona (l'ho testato), lanciando lo script in background che contiene il ciclo while (nei precedenti post era appunto fileB).
Quindi anche fileB è esterno a joomla, per questo, inizializzo la sessione così come ho fatto pet script2, usando la stessa sintassi, e caricando il valore di VAR così:
$session =& JFactory::getSession();
$database_system = $session -> get('database_system');
il suo valore è la condizione del ciclo while. Subito dopo aver inizializzato il ciclo, chiedo nuovamente di caricare VAR, come appena mostrato, in modo che ad ogni inizio ciclo si sfrutti il suo valore aggiornato. Ma qui c'è il cuore del problema e il valore non si aggiorna. Anche se, parallelamente, sto lì a giocare con script1 e script2, cambiando il valore di VAR diverse volte.
Ora non so se il while è un codice chiuso...io comunque richiedo il valore di VAR direttamente dalla sessione Joomla.......STO IMPAZZENDO!!!