Back to top

Autore Topic: Plugin JFornero  (Letto 343 volte)

Offline M_W_C

  • Cyborg
  • ******
  • Post: 12326
  • Web Solutions
    • Mostra profilo
    • Milano Web City
Plugin JFornero
« il: 12 Mag 2012, 12:08:04 »
Ovvero come ti tolgo (o ti sostituisco) dal render i tag che voglio

Non è il top dell'eleganza ma a volte è pratico o come si dice "quick and dirty"

... mi servono quelli che io chiamo i macro eventi, quelli di sistema e piazzare la mia ministra quando si verifica il completamento del render... quindi plugin tipo system e trigger onAfterRender()
Codice: [Seleziona]
class plgSystemFornero extends JPlugin{

function onAfterRender(){

// mi piglio tutto ciò che joomla ha pazientemente costruito fino a quì
$html = JResponse::getBody();

// ora, ogni tag che voglio togliere lo riconosco e sostituisco con niente

//-> images
        $html = preg_replace('|<img[^>]*?/?>|is','', $html);
        //-> iframes
        $html = preg_replace('|<iframe.*?</iframe>|is', '', $html);
        $html = preg_replace('|<iframe.*?/?>|is', '', $html);
        //-> object
        $html = preg_replace('|<object.*?</object>|is', '', $html);
        $html = preg_replace('|<object.*?/?>|is', '', $html);
        //-> embeds
        $html = preg_replace('|<embed.*?</embed>|is', '', $html);
        $html = preg_replace('|<embed.*?/?>|is', '', $html);
        //-> applets
        $html = preg_replace('|<applet.*?</applet>|is', '', $html);
        $html = preg_replace('|<applet.*?/?>|is', '', $html);
        //-> scripts
        $html = preg_replace('|<script.*?</script>|is', '', $html);
        //-> stylesheets
        $html = preg_replace('|<link rel="stylesheet".*?/?>|is', '', $html);
        $html = preg_replace('|<link rel="stylesheet".*?</link>|is', '', $html);

// Ridò a Joomla il contenuto dopo le tasse
JResponse::setBody($html);

// Chiudo
   }
}

M.
Uno 0Day contro il razzismo
...mi avanzavano 2 ore di insonnia... ho comprato una board Arduino...

Offline M_W_C

  • Cyborg
  • ******
  • Post: 12326
  • Web Solutions
    • Mostra profilo
    • Milano Web City
Re:Plugin JFornero
« Risposta #1 il: 12 Mag 2012, 20:43:58 »
...poi c'è un'altro trigger interessante da sfruttare per la manipolazione del nostro template..
Codice: [Seleziona]
function onAfterDispatch(){
       
            $mainframe =& JFactory::getApplication();

            $mainframe->setTemplate('beez5');

cosa succede facendo così?

sono cose molto semplici da implementare, ... magari un template per il mobile? ... per diversi mobile? visto che JBrowser funziona abbastanza bene...

dovete solo ricordarvi di includerla:
Codice: [Seleziona]
jimport( 'joomla.environment.browser' );
e istanziarla (magari nel costruttore):
Codice: [Seleziona]
$this->navigator = JBrowser::getInstance();
e usarne i metodi (es.):
Codice: [Seleziona]

if($this->navigator->isMobile() ){
  $mainframe->setTemplate('mobile');
}

M.
« Ultima modifica: 12 Mag 2012, 21:04:37 da mau_develop »
Uno 0Day contro il razzismo
...mi avanzavano 2 ore di insonnia... ho comprato una board Arduino...

Online maicolstaip

  • Global Moderator
  • Cyborg
  • ********
  • Post: 13787
  • Sesso: Maschio
    • Mostra profilo
    • http://www.hoteledelweiss.net/
Re:Plugin JFornero
« Risposta #2 il: 12 Mag 2012, 21:01:12 »
10/10 per il titolo mau
Non si legge bene? Non si risponde a PM tecnici. Postate sul forum. Grazie.
Joomla devi metterlo su Server linux, altrimenti ciccia!

Offline M_W_C

  • Cyborg
  • ******
  • Post: 12326
  • Web Solutions
    • Mostra profilo
    • Milano Web City
Re:Plugin JFornero
« Risposta #3 il: 12 Mag 2012, 21:09:22 »
:) ... perchè è brutale... non sta a vedere se lo script serve o meno... se hai deciso di segare "script"... basta script!

M.

EDIT:  aldilà dello scherzo, questo post perchè.... perchè cercavo una soluzione semplice e rapida per poter visualizzare un sito in un certo modo solo con un determinato agent del browser.
Non ho pensato subito a scriverlo quanto a smanacciare qualcosa di esistente... mi son venuti i brividi, strano che non siano state segnalate vulnerabilità....
Molti si infilano in mobile joomla che , per l'amor diddio è un gran lavoro, interfacciare con le api di tera non è semplice... però è pesantissimo e le peculiarità nessuno le sfrutta, così mi sono messo a pasticciare con i trigger per manipolare la visualizzazione.... ma si può fare molto di più e non è così difficile
« Ultima modifica: 12 Mag 2012, 21:37:02 da mau_develop »
Uno 0Day contro il razzismo
...mi avanzavano 2 ore di insonnia... ho comprato una board Arduino...

 



Web Design Bolzano Kreatif