Joomla: aggiungere helpers personalizzati a JHTML

Di seguito riporto alcuni appunti che indicano come aggiungere degli helpers personalizzati alla classe JHTML che potranno essere richiamati con la classica chiamata

JHTML::_( "prefix.file.function", ........ );

Con il parametro riportato sopra “prefix.file.function” si indica l’helper da richiamare specificando il prefisso della classe (opzionale, se non riportato viene assunto il valore JHTML), il nome del file che poi deve anche essere il suffisso della classe, e il metodo della classe da richiamare.

Per esempio, generalmente si utilizza la seguente chiamata

JHTML::_( "grid.publisher", $row, $i );

per generare codice HTML con il quale eseguire il rendering del pulsante di pubblicazione/non pubblicazione.

Nel caso sopra indicato viene in pratica eseguita la chiamata a JHTMLGrid::publisher(). Per eseguire tale chiamata viene composto il nome della classe, nome delle funzione e nome del file da caricare prendendo il primo argomento fornitoro a JHTML::_():

  • classe JHTMLGrid: composta dal prefisso JHTML (preso di default perché non specificato) e dal suffisso Grid preso dalla prima parte di grid.published
  • funzione published(): presa dalla seconda parte di grid.published
  • file grid.php da cui da cui caricare la classe: preso dalla prima parte grid.published

A questo punto capito il meccanismo con cui viene richiamato l’helper possiamo crearne uno nostro. Di seguito riporto come esempio l’helper che ho creato per eseguire un  nuovo tipo di pubblicazione ovvero chiamato publishedHd, che dovrebbe servire per eseguire la pubblicazione/non pubblicazione di un elemento che qui non sto a specificare.

La chiamata viene eseguita nel seguente modo:

JHTML::_( "extendedgrid.publisherHd", $row, $i );

che in pratica richiama JHTMLExtendgrid::publishedHd( $row, $i ) contenuta nel file extendedgrid.php

Di seguito riporto il codice sorgente della classe JHTMLExtendedgrid:

class JHTMLExtendgrid extends JHTMLGrid
{
  function publishedHd( &$row, $i, $imgY = 'tick.png', $imgX = 'publish_x.png', $prefix='' )
  {
    $img    = $row->published_hd ? $imgY : $imgX;
    $task   = $row->published_hd ? 'unpublish_hd' : 'publish_hd';
    $alt    = $row->published_hd ? JText::_( 'Published' ) : JText::_( 'Unpublished' );
    $action = $row->published_hd ? JText::_( 'Unpublish Item' ) : JText::_( 'Publish item' );
 
    $href = '
    <a title="'. $action .'" onclick="return listItemTask(\'cb'. $i .'\',\''. $prefix.$task .'\')" href="javascript:void(0);">
    <img src="images/'. $img .'" border="0" alt="'. $alt .'" /></a>';
 
    return $href;
  }
}

Il precedente sorgente contenuto nel file extendgrid.php è stato salvato nella cartella helpers/html/ nella parte amministrativa del componente sviluppato. Il path di tale directory dovrà essere fornita JHTML per sapere dove andare a cercare i files contenenti gli helpers da caricare e viene fatto con la seguente chiamata che ho inserito nell’entrypoint del componente:

JHTML::addIncludePath( array( JPATH_COMPONENT_ADMINISTRATOR.DS.'helpers'.DS.'html' ) );

Aggiungere le notifiche di Gmail al MessagingMenu di Ubuntu 10.04

Grazie al pacchetto gm-notify è possibile integrare le notifiche anche per Gmail nel nuovo MessagingMenu di Ubuntu 10.04.

L’installazione avviene mediante i seguenti comandi i quali provvedono anche ad aggiungere l’apposito repository:

sudo add-apt-repository ppa:gm-notify-maintainers/ppa
sudo apt-get update && sudo apt-get install gm-notify

Continue reading “Aggiungere le notifiche di Gmail al MessagingMenu di Ubuntu 10.04”

Abilitare il wifi sul Dell Mini 9 con Ubuntu 9.10 Netbook Remix

Dell Mini 9A seguito dell’installazione di Ubuntu 9.10 Netbook Remix sul Dell Mini 9 non viene riconosciuta la scheda di rete wireless.

Per attivarla deve essere installato manualmente il driver digitando i seguenti comandi:

sudo apt-get update
sudo apt-get --reinstall install bcmwl-kernel-source

Una volta terminata l’installazione bastera riavviare il sistema e la connettività wifi sarà magicamente funzionante.

Attenzione !!! Pollycoke stà per tornare

É si, nessuno ci aveva creduto fino in fondo, quando alcuni mesi fa il famigerato Felipe dichiarò di chiudere Pollycoke. Quando oramai in molti si erano rassegnati ecco che arriva la notizia bomba:

pollycoke.net è stato venduto !!!
 

e con una mossa da doppiogiochista Felipe ha subitoto riaperto pollycoke.org su cui è imminente l’arrivo di nuovi turpiloqui 😉

pollycoke.net è morto

lunga vita a pollycoke.org

I retroscena sull’accaduto potete leggerli QUI, forniti direttamente da Felipe.

Sostituzione Hard Disk guasto su Debian Lenny e ripristino sistema

Ieri sera mi ha dato l’addio l’hard disk da 2,5 pollici con capacità da 80GByte del mio mini pc che funge da server casalingo grazie ad una Debian Lenny (ne parlavo qui L’oggetto del mistero svelato ). In tutta fretta ho recuperato un altro hard disk di taglia un po più piccola, 60 GByte, e l’ho sostituito ripristinando il sistema dal vecchio disco, ( che nel frattempo a sprazzi  a ripreso a funzionare ) per mezzo della seguente procedura:

Recuperando un’interfaccia pata-to-usb per hd da 2,5 pollici ho collegato il disco guasto al mio sistema ubuntu 9.10 che fortunatamente l’ha riconosciuto senza problemi e l’ha montato in /media/cfc20d0f-6d8c-4687-ad2d-f5f440f36135

Quindi ho creato la directory backup nella mia home dove ho provveduto a copiare il contenuto del disco incriminato:

Continue reading “Sostituzione Hard Disk guasto su Debian Lenny e ripristino sistema”

L’oggetto del mistero svelato

Nel’ormai vecchio post Asus WL500gP v2 …… addio !!! dichiaravo di avere sostituito l’Asus wl-500gp v2, su cui appoggiavano vari servizi della rete casaligna, in favore di un altro oggetto da me ambito da diverso tempo, lasciando l’identità di quest ultimo avvolta nel mistero.

Purtroppo sommerso da impegli familiari e lavorativi non ho potuto fare luce sull’identità del oggetto misterioso e soltanto adesso ho trovato un po di tempo per dare qualce spiegazione.

L’oggetto è un eBox-3853, distribuito da Sintekno. L’ho acquistato su eBay completo di harddisk da 80GByte e doppio alimentatore per 110 €. Direi un prezzo molto interessante tenuto conto che nuovo si aggira intorno ai 250 € più iva (penso senza harddisk).

Si distingue per essere un mini pc fanless a basso consumo di cui mi ha stupito molto il case completamente in alluminio che appare di una solidità veramente unica.

Continue reading “L’oggetto del mistero svelato”

Debian Lenny: abilitare Logwatch

Logwatch è un comoda utiliy di sistema che ogni notte analizza i log della giornata li elabora restituendo un report con gli aventi di sistema più interessanti inviandoli via mail a root o ai suoi alias.

E’ possibile installarlo semplicemente digitando da root il seguente comando:

apt-get install logwatch

Continue reading “Debian Lenny: abilitare Logwatch”

Debian Lenny: forward messaggi di sistema verso e-mail esterna con exim

eximUn piccolo appunto su come configurare Debian Lenny per fare in modo che i messaggi di sistema diretti verso root vengano inviati verso un indirizzo mail esterno.

Da root eseguire i seguenti passi:

  • Definire il destinatario dei messaggi nel file /etc/aliases andando ad aggiungere alla riga che inizia per root: l’indirizzo mail desiderato, se è presente gia uno separarli da una virgola. Esempio:
    root: david, pinco.pallino@gmail.com
  • Eseguire il comando newaliases
  • Riavviare exim con il comando
    /etc/init.d/exim4 restart

Se i messaggi non dovessero essere recapitati, riconfigurare exim con il comando

dpkg-reconfigure exim4-config

e scegliere la configurazione del tipo “sito internet; posta inviata e ricevuta direttamente con SMTP“.

Installare Debian Lenny in modalità netinstall da penna usb

Creare una partizione FAT16 sulla penna usb e renderla attiva, formattare la partizione con:

mkfs.msdos /dev/sdd1

Creiamo la cartella e scarichiamo ciò che ci interessa:

mkdir debian
cd debian
wget http://chuangtzu.acc.umu.se/debian-cd/5.0.3/i386/iso-cd/debian-503-i386-netinst.iso
wget ftp://ftp.debian.org/debian/dists/lenny/main/installer-i386/current/images/hd-media/boot.img.gz
wget ftp://ftp.debian.org/debian/dists/lenny/main/installer-i386/current/images/hd-media/initrd.gz
wget ftp://ftp.debian.org/debian/dists/lenny/main/installer-i386/current/images/hd-media/vmlinuz

Copiamo sulla penna usb il contenuto di boot.img.gz, il kernel, l’immagine iso del cd da installare e infine smontiamo la penna usb:

sudo mkdir /mnt/sdd1
sudo mkdir /mnt/loop
sudo mount /dev/sdd1 /mnt/sdd1
gzip -d boot.img.gz
sudo mount -o loop boot.img /mnt/loop
sudo cp -rv /mnt/loop/* /mnt/sdd1/
sudo cp vmlinuz /mnt/sdd1/
sudo cp debian-503-i386-netinst.iso /mnt/sdd1/
sudo umount /mnt/sdd1 /mnt/loop

Installiamo syslinux:

sudo syslinux -sf /dev/sdd1

A questo punto possiamo eseguire il boot da penna usb. Se il pc non si avviasse (il bios deve supportare il boot da usb) possiamo a reinstallare il master boot record sulla penna:

install-mbr /dev/sdd1

Il comando install-mbr è presente nel pacchetto mbr.

Asus WL500gP v2 …… addio !!!

wl-500gpv2Questo post penso sia l’ultimo della serie dedicata a questo fantastico router. In seguito al crash dell’hard disk usb che vi avevo collegato ho deciso di mettere l’oggetto in disuso e optare per qualcosa di più performante. Si perchè nonostante il WL500gP sia il coltellino svizzero dei router e possa essere utilizzato con una moltitudine di servizzi, per l’uso che ne devo fare io pecca di due grossi difetti: poca ram (appena 16MB) e l’usb stralenta.

Dato quindi che non usavo le funzionalità per cui è nato (intefaccia wireless e router) ma solo come mini server di rete a basso consumo ho deciso di staccarvi la spina e passare a un altro oggetto sempre a basso consumo a cui davo la caccia da diverso tempo ma la cui reperibiltà qui in Italia ( a qunto ne so) aveva dei costi un po’ troppo alti. E invece recentemente sono riuscito ad aggiudicarmelo su ebay ad un prezzo decisamente interessante.

Se ho stuzzicato la curiosità di qualcuno…. be aspettate qualche giorno e sicuramente quando mi arriverà l’oggetto seguiranno alcuni post in merito.

Comunque sia l’Asus WL500gP v2 ha avuto una gloriosa carriera quindi riepilogo qui sotto i post ad esso dedicato con le funzioni che copriva presso la mia abitazione:

Per tutti coloro che sono sempre interessati a questo router e hanno domande o suggerimenti da porre i posts rimangono sempre aperti ai commenti e quindi siete invitati a postare quello che vi passa per la testa.