Wrapper con Url
Aggiornamento: 26.12.2008:
- risolto falla sicurezza wrapper per Joomla 1.0.x
- creato nuovo hack per Joomla 1.5.x
Tutti noi che usiamo Joomla ci siamo trovati di fronte questo problema: Con un wrapper possiamo visualizzare una pagina statica all'interno del nostro sito ma non una dinamica.
Con questo hack ho risolto questo problema, in pratica adesso si può semplicemente "passare" un Url al wrapper e lui fa il resto.
IN COSA CONSISTE L'HACK:
ho modificato leggermente il wrapper di base di joomla ed ho aggiunto la possibilità di passare un parametro, in questo caso l'url desiderato.
Il codice che ho scritto controlla se viene passato un url. Se la stringa passata non è vuota allora visualizza l'url inviato altrimenti visualizza la pagina statica.
La cosa importante di questo hack é che non va a intaccare niente, tutti i nostri wrapper esistenti non si devono cambiare ma per visualizzare una pagina diversa basta aggiungere alla riga il comando l'Url e automaticamente vi fa visualizzare la pagina che volete e non quella statica.
Come user il nuovo wrapper dinamico
Se volete personalizzare le impostazioni della finestra contenente l'url dovete creare un nuovo wrapper come referenza e modificare i parametri a piacimento. L'unico inconveniente è che dovete creare un nuovo menu che sarà visibile agli altri. Altrimenti potete appoggiarvi ad uno esistente senza problemi, basta conoscere il suo numero ID.
Ecco come passare un nuovo url:
index.php?option=com_wrapper&view=wrapper&Itemid=xx&Url=
Attenzione Sostituire xx con il numero del wrapper di referenza
Senza nessun parametro ed impostazioni:
index.php?option=com_wrapper&Url=
dove Url= inserite il vostro link da visualizzare.
es completo:
index.php?option=com_wrapper&Url=http://www.almack.ch
L'unico difetto che ho riscontrato é che con un normle wrapper é possibile specificare un certo template per una singola pagina mentre se si passa l'url il wrapper agisce sulla pagina principale o quella da dove é partito il reindirizzamento. (risolto con la nuova versione)
COME INSTALLARLO:
entrate nella cartella components/com_wrapper con un programma ftp
fate un backup del file wrapper.html.php
sostituite il file l'originale con questo:
Commenti
AmNeSyS (non verificato)
Gio, 15/05/2008 - 00:17
Collegamento permanente
non riesco a scaricare il
non riesco a scaricare il com_wrapper hackato....mi scarica sempre a 0. non puoi inserirlo in uno zip ??
Grazie
AlmAck
Gio, 15/05/2008 - 01:43
Collegamento permanente
Grazie della segnalazione,
Grazie della segnalazione, ho inserito il file in uno zip.
FedericoP (non verificato)
Mer, 24/12/2008 - 11:49
Collegamento permanente
Hola Molto interessante,
Hola
Molto interessante, avresti la soluzione per Joomla 1.5.x?
AlmAck
Mer, 24/12/2008 - 19:39
Collegamento permanente
Non utilizzando più Joomla
Non utilizzando più Joomla da diverso tempo non so se questa soluzione è stata in qualche modo implementata. La cosa cmq. mi interessa e controllo meglio, se non dovessi trovare qualcosa allora potrei creare un'altro hack per Joomla 1.5.x
FedericoP (non verificato)
Ven, 26/12/2008 - 08:07
Collegamento permanente
Hola Non è stata
Hola
Non è stata implementata e non ho trovato la soluzione nella rete, sarebbe carino se te la pubblicassi
AlmAck
Ven, 26/12/2008 - 17:12
Collegamento permanente
Ecco fatto, ho modificato il
Ecco fatto, ho modificato il wrapper di Joomla 1.5 per implementare questa funzionalità
Di già ho aggiornato il wrapper per Joomla 1.0.x eliminando una falla di sicurezza.
Buon divertimento..
FedericoP (non verificato)
Lun, 29/12/2008 - 05:01
Collegamento permanente
Hola Grazie lo proverò e ti
Hola
Grazie lo proverò e ti dirò qualcosa. Feliz navidad
FedericoP (non verificato)
Lun, 29/12/2008 - 23:53
Collegamento permanente
Hola Ho provato, ho
Hola
Ho provato, ho sostituito il file wrapper.php, ho creato una nuova voce di menu e ho inserito le stringhe indicate in Parametri Standard > URL wrapper, in ambi i casi il risultato è: Warning: htmlspecialchars() expects parameter 1 to be string, array given in ......\components\com_wrapper\wrapper.php on line 56
AlmAck
Mar, 30/12/2008 - 00:11
Collegamento permanente
Devi creare un normale
Devi creare un normale wrapper e devi inserire un url vero nel campo "URL wrapper". Fatto questo salvi la nuova voce di menu e poi entri nel sito clicchi il nuovo menu e ti appare il wrapper, a questo punto editi l'url nel tuo browser ed aggiungi alla fine &Url=www.esempio.com.
Sono curioso cosa hai inserito nel campo "URL wrapper"?, io non riesco a riprodurre l'errore.
FedericoP (non verificato)
Mar, 30/12/2008 - 01:47
Collegamento permanente
Hola Dimenticavo, ho
Hola
Dimenticavo, ho sh404sef installato e mi funziona in locale con htaccess.txt e in remoto con .htaccess. Comunque, ho creato il primo menu con l'url di questa stessa pagina, mi ha dato lo stesso errore ma ha caricato la pagina. Dopodichè ho creato una nuova voce di menu ma mi da errore 404. Dici che dovrei disabilitare 404sef?
FedericoP (non verificato)
Mar, 30/12/2008 - 06:12
Collegamento permanente
Hola Ho disabilitato
Hola
Ho disabilitato sh404sef, risultati:
1) L'errore della linea 56 è sempre presente (nelle due voci di menu.
2)Nel primo menu (wrapper normale) viene il wrapper normale con questa url: .../Mio/index.php?option=com_wrapper&view=wrapper&Itemid=155
3)Nel secondo menu si vede il primo wrapper (con template incluso) dentro del template e l'Url è uguale e solo cambia l'Itemid /Mio/index.php?option=com_wrapper&view=wrapper&Itemid=156
AlmAck
Mar, 30/12/2008 - 12:04
Collegamento permanente
La cosa mi sembra molto
La cosa mi sembra molto strana, nel mio sito, in locale, funziona perfettamente.
ricapitolando:
- crea un wrapper con una url di riferimento ad es. http://www.google.com
- usa il percorso del nuovo menu generato (es. Mio/index.php?option=com_wrapper&view=wrapper&Itemid=155) ed aggiungi la stringha &Url=www.miosito.com (tutte questo modifiche le fai manulamente cambiando l'url nel browser)
FedericoP (non verificato)
Sab, 03/01/2009 - 10:37
Collegamento permanente
Hola A me no, comunque se mi
Hola
A me no, comunque se mi permetti vado un po OT. Ho un problema con fireboard 1.05.NB10 in remoto. Quando vado a vedere un post scritto di oltre 400 caratteri, mi salta fuori l'errore 500 e non si legge piu. In mysql la tabella jos_fb_messages_text è settata a text, senza limite di longitu e not null. Sapresti perche succede? Invece in locale non mi succede.
FedericoP (non verificato)
Sab, 03/01/2009 - 13:37
Collegamento permanente
Scusa post scritto di oltre
Scusa
post scritto di oltre 400 .... parole non caratteri
AlmAck
Mer, 07/01/2009 - 21:57
Collegamento permanente
Non so cosa succede, ti
Non so cosa succede, ti conviene chiedere sul forum di joomla italia o quello di fireboard direttamente
FedericoP (non verificato)
Gio, 15/01/2009 - 01:05
Collegamento permanente
Hola Grazie
Hola
Grazie
Marco (non verificato)
Gio, 31/03/2011 - 12:18
Collegamento permanente
Ciao, ho lo stesso
Ciao, ho lo stesso problema!
E' stato risolto?
Marco (non verificato)
Gio, 31/03/2011 - 12:19
Collegamento permanente
Questo errore: Warning:
Questo errore: Warning: htmlspecialchars() expects parameter 1 to be string, array given in /components/com_wrapper/wrapper.php on line 56
AlmAck
Gio, 31/03/2011 - 20:30
Collegamento permanente
Ciao Marco, ho controllato
Ciao Marco,
ho controllato adesso l'hack per la versione 1.5 e poi risolvere cosi: (da editare manualmente)
prima:
//Start AlmAck Hack
$value = htmlspecialchars( $_REQUEST );
$new_url= JRequest::getVar( 'Url', null, $value, string );
if ( $new_url != null){
$url = $new_url;
}
else $url = $params->def( 'url', '' );
//end AlmAck hack
Dopo:
//Start AlmAck Hack
$value = htmlspecialchars( $_REQUEST['url']);
$new_url= JRequest::getVar( 'Url', null, $value, string );
if ( $new_url != null){
$url = $new_url;
}
else $url = $params->def( 'url', '' );
//end AlmAck hack
In pratica modifica la prima riga con la funzione htmlspecialchars.
Fammi sapere se funziona che implemento la modifica.
Per info: per applicare la modifica anche alla nuova versione 1.6 di Joomla si puo andare in components/com_wrapper/views/wrapper/view.html.php ed applicare lo stesso hack sopra la riga 52 ($wrapper = new stdClass();) credo dovrebbe andare.
Giuseppe (non verificato)
Mar, 11/06/2013 - 13:43
Collegamento permanente
Salve,
Salve,
ho applicato questo Hack alla wrapper contenuto nella versione 2.5.11 di joomla. Purtroppo non funziona... o meglio si apre correttamente una pagina contenente l'iframe... ma l'iframe è vuoto.
Per caso sono state fatte modifiche per adattarlo anche alla 2.5 ?
Grazie