Gli ultimi post nel blog

Joomla 1.6 Beta 2

Disponibile la nuova beta 2 di Joomla 1.6, con oltre 150 bug risolti rispetto alla beta 1.



Abilitare la scelta della lingua in Joomla

Joomla 1.5 permette di presentare un sito in molteplici lingue, ma non è previsto lo switch di un linguaggio tramite parametro URL: bisogna che l'utente scelga la lingua di preferenza dalle proprie impostazioni utente - il che richiede anche che l'utente sia registrato.

Ovviamente per tradurre il contenuto di un sito è necessario usare JoomFish, ma per una semplice traduzione di moduli o componenti custom JoomFish è eccessivo.

Per presentare una lingua diversa a seconda del valore di un parametro 'lang' inserito nell'URL è possibile usare un system plugin, come questo:

 
< ?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
 
jimport('joomla.event.plugin');
 
class plgSystemSetLanguage extends JPlugin
{
    public function plgSystemSetLanguage( &$subject )
    {
		parent::__construct( $subject );
		$this->setLanguage();
    }
 
    function setLanguage()
    {
		global $mainframe;
 
    	        $default = $this->getDefaultLanguage();
		$selected = $this->getRequestedLanguage();
 
		if (($selected != '') && ($selected != $default))
		{
			$options = array();
			$options['language'] = $selected;
			$mainframe->initialise($options);
		}
    }
 
	function getRequestedLanguage()
	{
		$lang = JRequest::getString('lang');
 
		if ($lang=='en') $lang='en-GB';
		if ($lang=='it') $lang='it-IT';
 
		if (($lang != '') && JLanguage::exists($lang))
		{
			return $lang;
		}
	}
 
	function getDefaultLanguage()
	{
		$user = & JFactory::getUser();
		$lang = $user->getParam('language');
 
		if ($lang && JLanguage::exists($lang))
		{
			return $lang;
		}
		else
		{
			$params = JComponentHelper::getParams('com_languages');
			$client	=& JApplicationHelper::getClientInfo(0);
			$lang = $params->get($client->name, 'en-GB');
 
			if (!JLanguage::exists( $lang ))
			{
				$lang = 'en-GB';
			}
 
			return $lang;
		}
	}
}
?>
 

Al variare del parametro, es. 'lang=it' o 'lang=en', Joomla pescherà le stringhe di moduli e componenti nella lingua prescelta. Ovviamente deve essere installata nel sistema la traduzione relativa alla lingua di interesse.



Rilasciato Joomla 1.5.18

Disponibile un nuovo aggiornamento per Joomla 1.5.

Nello specifico è stato corretto un problema di sicurezza nel backend, che consentiva ad utenti con permessi di accesso al backend di iniettare codice JavaScript in alcune pagine dell'amministrazione.

Inoltre è stato fatto un rollback del cambiamento introdotto nella 1.5.16 per quanto riguarda la gestione dei plugin che causavano errore (link).



I tweet della settimana 2010-05-23



Projects, web app per la gestione di progetti

E' online all'indirizzo http://projects.joocode.com Projects, applicazione web pensata per la gestione dei compiti che devono essere completati durante lo sviluppo di un progetto, o una semplice "task list".

Non soddisfatto dall'eccessiva pesantezza e complessità di altre applicazioni web dedicate a questo scopo, come Atrium o Redmine, ho pensato di realizzare una applicazione su misura per le mie esigenze.. e oltre a me potrebbe essere utile anche ad altre persone, per cui ho deciso di renderla pubblica.

Questa app è ora disponibile per chiunque voglia provarla ed utilizzarla. Attualmente non è previsto l'accesso di più persone allo stesso account, ma l'applicazione viene pensata come repository di idee personale.

La semplicità è il punto di forza di questa applicazione, *nome in codice* Projects. E' possibile creare uno o più progetti, che vengono aggiunti al menu principale con l'iniziale del loro nome per un rapido accesso.

Aggiunta di un progetto

Ogni progetto è formato da un elenco di task, chiamati 'issues'. La lettera ¶ indica la presenza di una descrizione, e posizionando il mouse sopra l'issue è possibile visualizzarla. I pulsanti a lato permettono di indicare rapidamente un task come "Resolved", oppure declinarlo marchiandolo "Rejected".

Per il momento l'interfaccia è soltanto in versione inglese, ma prevedo la traduzione italiana a breve.