Hacks on Joomla phpBB coppermine

Raccolta di hack per integrare Joomla con phpBB e coppermine. Queste guide provengono dal vecchio "AlmAck Wiki" e sono state riportate fedelmente qui. Le procedure qui proposte sono ormai obsolete, le versioni dei vari programmi sono cambiate.

Hack Joomla&CB

===Redirect registrazione Joomla to CB=== *Il prossimo passo consiste nel installare un piccolo bot Questo serve a deviare tutte le richieste di registrazione di Joomla e passarle invece al modulo di CB. Lo trovate [http://forge.joomla.org/sf/frs/do/viewSummary/projects.disable_joomla_registration_page/frs qui]: O scaricare direttamente da [http://www.almack.ch/files/Joomla/bot_disableCoreRegistration.zip qui] '''Versione con redirect integrato:''' [http://www.almack.ch/files/Joomla/bot_disableCoreRegistration+patch.zip qui] *Quando é installato devete ancora abilitarlo nel modulo di joomla Andate sotto "Mambots" --> "Site mambots" --> "Disable Core Registration" --> "Publish Idem" *fate alcuni test per controllare se tutto funziona correttamente. Se riscontrate problemi segnalateli nel [http://www.almack.ch/it/forum.html forum] Attenzione questo serve solo a fare in modo che i nuovi utenti che si registrano lo facciano usando il modulo di CB e non quello predefinito da Joomla ===Redirect Login Joomla to CB=== Dopo aver seguito al guida sopra "Redirect registrazione Joomla to CB" é possibile andare avanti. Questi passi servono a fare in modo di utilizzare il login di CB e non quello di Joomla in qualsiasi caso. [http://www.joomlapolis.com/component/option,com_joomlaboard/Itemid,38/func,view/id,3796/catid,18/limit,6/limitstart,0/ Link] [http://www.mehdiplugins.com/misc/wrongcblogin.htm Link2]da dove ho preso le info. *andate nella sezione "Modules" --> "Site modules" *entrate nella configurazione del modulo '''login di CB''' *cabiate la "Posizione" in una che non usate es: user8 *salvate *create una nuova pagina statica, chiamatela ad es. login *inserite solo questo: '''{mosloadposition user8}''' *create un '''nuovo menu''' con il link alla pagina statica appena creata (Collegamento - Contenuto Statico) *rendete visibile il modulo login per quella pagina **andate su "Modules" --> "Site modules" --> "LoginCB" ***selezionate dalla lista a destra la vostra pagina appena creata *salvate Il prossimo passo é quello di rendere tutto automatico, basta modificare il piccolo bot che abbiamo installato prima per aggiungere alcune righe. *aprite con un editor di testo il file /mambots/system/controlledLoginCB.php e aggiungete: {| width=100% border="2" cellspacing="0" cellpadding=18 style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; padding:10px;" | if( trim(strtolower($option)) == 'com_login' && trim(strtolower($task)) == 'login' )
{
//Should be redirected to CB login page...
mosRedirect(sefRelToAbs("login.html")); <-- nome della vostra pagina statica che avete creato prima
}
|} Questa é la versione completa, fate molta attenzione ad inserire correttamente il link di redirect. In questo caso é login.html perché uso un componente sef che semplifica gli url altrimenti dovete inserire un link tipo: index.php?option=com_content&task=view&id=26&Itemid=57 (questo link lo potete vedere se cliccate nel menu statico che avete appena creato) {| width=100% border="2" cellspacing="0" cellpadding=18 style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; padding:10px;" | Versione completa * @version $Id $
* @package Joomla
* @copyright Copyright (C) 2006 Yonca Teknoloji. All rights reserved.
* @author Alaattin Kahramanlar
**/
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
$_MAMBOTS->registerFunction( 'onAfterStart', 'checkLoginLinkForIntrusion' );

function checkLoginLinkForIntrusion ()
{
$option = mosGetParam($_REQUEST, "option", '');
$task = mosGetParam($_REQUEST, "task", '');

if( trim(strtolower($option)) == 'com_registration' && trim(strtolower($task)) == 'register' )
{
//Should be redirected to CB registration page...
mosRedirect(sefRelToAbs("index.php?option=com_comprofiler&task=registers"));
}
if( trim(strtolower($option)) == 'com_login' && trim(strtolower($task)) == 'login' )
{
//Should be redirected to CB login page...
mosRedirect(sefRelToAbs("login.html"));
}
}
?> |} *dopo queste modifiche il login dovrebbe funzionare ====riabilitare login frontpage metodo 1)==== *se volete ancora il modulo di login nel vostro sito in prima pagina su un lato basta che modificate il template e dove c'é la voce "" o simile aggiungete un'altra: in questo modo carica tutti i moduli contrassegnati con "left" ed anche il nostro login di CB ====riabilitare login frontpage metodo 2)(Migliore)==== Secondo me questa é la soluzione più pulita. Con questo sistema potete spostare la posizione del modulo all'interno degli altri, cosa che non é possibile con il metodo 1). Ho modificato per voi il file di login di CB. 1)scaricare da qui[http://www.almack.ch/files/Joomla/cblogin_hack.zip cblogin_hack.zip] 2)installare come modulo 3)abilitare nel controllo dei moduli ed ev. cambiare nome

Hack phpBB

==phpBB==
Se dovesse accadere che ci si registra sul forum e non in Joomla basta andare a sincronizzare gli utenti utilizzando il "Plugin control panel" del plugin di CB.

Per inserire il forum sul vostro sito basta creare un nuovo menu in Joomla e specificare il tipo wrapper che apre una pagina web in un altra e in questo caso il forum all'interno di Joomla.

Dopo aver seguito la prima parte della guida ([[Joomla_phpBB_coppermine]]) potete proseguire alle varie modifiche che sono descritte di seguito.
Queste modifiche sono abbastanza facili. Alcune modificano solo il template altre invece anche files di sistema. Se non siete sicuri di cosa state facendo fate una copia di backup del file prima di apportare le modifiche.

===Togliere il box, la scritta login e registrati===
Andremo solo a toccare il template il resto del forum resta intatto. Semplicemente andiamo a togliere le scritte che ci sono sull'intestazione del forum.
Il metodo non è uno dei migliori ma funziona. (Extra: Usando la guida [[registrationstopper]] si aggiunge la possibilità di abilitare e disabilitare la registrazione semplicemente dal pannello di controllo di phpBB)

*Aprire con un editor di testo il file /phpBB/template/nome/'''overall_header.tpl'''

*cercare la riga che contiene: hspace="3" />{L_USERGROUPS} 

*eliminare tutto fino a non compreso

'''Prima:'''
hspace="3" />{L_USERGROUPS} 
 {L_REGISTER}{L_REGISTER} 

'''Dopo:'''
hspace="3" />{L_USERGROUPS} 

Stessa identica cosa per il login e tutto quello che volete voi:

'''Prima:'''

 {L_PROFILE}{L_PROFILE}   {PRIVATE_MESSAGE_INFO}{PRIVATE_MESSAGE_INFO}   {L_LOGIN_LOGOUT}{L_LOGIN_LOGOUT} 

'''Dopo:'''

 {L_PROFILE}{L_PROFILE}   {PRIVATE_MESSAGE_INFO}{PRIVATE_MESSAGE_INFO}   

Adesso togliamo il box di login in fondo alla pagina:

Aprire con un editor di testo il file /phpBB/template/nome/index_body.tpl

cancellate tutto quello che trovate fra e

per essere sicuri che nessuno ma proprio nessuno faccia il login eliminate o rinominate il file /phpBB/template/nome/login_body.tpl

=== Redirect Login ===
Con queste modifiche é possibile indirizzare tutte le richieste di login del phpBB al form di Community Builder così da permettere un unico login.

Per semplificarvi la procedura [http://www.almack.ch/files/Joomla/login.php.txt qui] potete scaricare il file login.php con le modifiche.

La procedura é molto semplice (fate una copia di backup prima di eseguire qualsiasi modifica):

1)aprire il file login.php che trovate nella cartella del vostro forum
2)cercate questa scritta:

// Do a full login page dohickey if

// user not already logged in

3)sostiuite la riga che seque con questa:

if( $userdata['session_logged_in'] && $userdata['user_level'] == ADMIN)

4)andare in fondo al file e sostituire questo

redirect(append_sid("index.$phpEx", true));

5)inserite in sostituzione questo

?>

;

parent.location.href='../index.php?option=com_login&task=login';

;

<?php

Questo breve java script devia tutte le chiamate di login alla pagina principale di Joomla. (ho provato di tutto e l'unica é stata quella di usare uno script, dovrei riprovare a cercare una soluzione in php)
6)controllate che sotto Global Configuration (in Joomla) si abilitata l'opzione Frontend Login:
7)per fare un buon lavoro continuate qui: [[Hack_Joomla&CB]]

Joomla phpBB coppermine

==Introduzione== Usate la guida semplificata che riassume tutti i passaggi che dovete fare, la trovate qui: http://www.almack.ch/joomla-cb-phpbb-integrazione/introduzione-integrazione.html La guida sul wiki serve solo a far vedere ogni singolo passaggio per l'integrazione. Con questa guida si vuole spiegare in modo semplice come integrare gli utenti con Joomla, forum phpBB e la gallery Coppermine. La guida è suddivisa in punti. Questa guida può soddisfare i seguenti bisogni: Integrare il forum phpBB con Joomla Integrare il forum phpBB con Joomla e Coppermine con phpBB Il vantaggio di questo processo è quello di non dover modificare a mano il database ma viene fatto tutto automaticamente in modo grafico rendendo il tutto dinamico. In questa guida troverete del software, testatelo prima di metterlo su un sito di produzione! Per i temerari ho inglobato tutte le modifiche extra nella sezione [[Joomla_phpBB_coppermine#Hack]], non sono difficili ma con queste alla fine avrete una integrazione perfetta tra Joomla+CB+phpBB+Coppermine. ==Joomla== Joomla è un potente CMS gratuito e scaricabile da qui [http://www.joomla.org www.joomla.org] o dai vari siti con le varie lingue preferite, ad es. in italiano [http://www.joomla.it www.joomla.it] Per poter integrare gli utenti di phpBB in Joomla è disponibile un componente che permette oltre alla condivisione di utenti anche di creare delle comunità virtuali. Questo componente di chiama Community Builder. Con un apposito plugin (rilasciato come non stabile) si può integrare e condividere i vari utenti. ===Installazione di Joomla=== L'installazione è semplicissima basta scaricare il pacchetto che si vuole dal sito di joomla. Spacchettare il file .zip in una cartella temporanea sul computer. Collegarsi al proprio sito via ftp o altri metodi e copiare tutto il contenuto della cartella temporanea appena creata sul web. A questo punto basta accedere da un normale browser al proprio sito e concludere l'installazione. Per coloro che hanno già un sito funzionante esistono dei plugin per fare il backup del sito vedere anche su [http://www.joomla.org www.joomla.org] ===Configurazione di CB (Community Builder)=== Adesso che Joomla è installato scarichiamo il pacchetto da qui [http://www.almack.ch/files/Joomla/CBuilder1_0_2_unzip1st.zip Community Builder 1.0.2] o direttamente dal sito originale [http://www.joomlapolis.com/ www.joomlapolis.com] (occorre registrarsi). Salvarlo sul computer e come prima operazione spacchettarlo. Troverete altri 4 files .zip. A questo punto basta entrare con un brower sul vostro sito ed accedere all'interfaccia di amministrazione. 1)Cliccare su installa nuovo componenete ed installare il file comprofiler.zip. 2)Installare mod_comprofileronline.zip come modulo (permette di visualizzare gli utenti online) 3)Installare mod_comprofilermoderator.zip come modulo 4)Installare cblogin.zip come modulo (serve per sostituire il normale login di joomla) 5)Disabilitare il modulo di login standard di Joomla ed abilitare quello appena installato (cblogin). 6)Sincronizzate gli utenti Joomla con CB entrando nel menu di CB e cliccatre su Tools e poi Synchronize Users A questo punto si è installato CB in Joomla, ci resta soltanto di mettere ancora il plugin che permetta di condividere gli utenti con Joomla e phpBB. ===Installare il plugin=== Se avete eseguito tutte le istruzioni riportate sopra e tutto funziona correttamente potete continuare con questa procedura. Attenzione fare un backup del database e delle cartelle del vostro sito, quello che seguirà è un'operazione che potrebbe causare perdita di dati o utenti, non mi assumo nessuna responsabilità in caso di problemi. Potete comunque scrivere sul [http://www.almack.ch/it/forum.html forum]. Scaricare il plugin da [http://www.almack.ch/files/Joomla/plug_phpbbconnector_v1.0.2+patch.zip plug_phpbbconnector_v1.0.2.zip](Attenzione é senza patch dunque funziona solo con le versioni vecchie di Joomla) o dal sito originale [http://www.joomlapolis.com www.joomlapolis.com], ho aggiunto la versione patchata che risolve alcuni problemi, la potete trovare qui [http://www.almack.ch/files/Joomla/plug_phpbbconnector_v1.0.2+patch-v2.zip plug_phpbbconnector_v1.0.2+patch-v2.zip]. Nuova versione modificata personalmente. Ho risolto un bug: quando si carica una nuova immagine in CB viene inserita l'immagine ridimensionata nel forum e non l'immagine originale. [http://www.almack.ch/files/Joomla/plug_phpbbconnector_v1.0.2+patch-v2.zip plug_phpbbconnector_v1.0.2+patch-v2 for CB.zip] Ho aggiornato i files con una nuova patch che toglie dei warning durante la visualizzazione del plugin, potete trovare [http://www.joomlapolis.com/component/option,com_joomlaboard/Itemid,38/func,view/id,20590/catid,34/ qui] la descrizione del problema. Questo plugin è marcato come non stabile e potrebbe creare problemi, nel mio caso è sempre funzionato tutto alla perfezione. Se avete installato una versione di Joomla maggiore della 1.0.8 é consigliabile installare il plugin con la patch. Elenco delle modifiche nella nuova patch beta: {| width=100% border="2" cellspacing="0" cellpadding=18 style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; padding:10px;" | ===README.txt for Patch Files=== 1) phpbbconnector.php This file patches a found bug which causes users to not be activated in phpBB when in CB "Require Admin Approval" is set to No. Fix for already exported users is to check the phpbb_users table and make sure user_active is 1. (except for Anonymous, User_id=-1... keep his user_active to 0) Updated 4-19-2006... also has "remember me" login fix 2) LIMIT phpbbgui.php This file patches the control panel. Some users with large user databases had trouble importing or exporting the users. This file limits it to 2000 users at a time and generally makes it work. Rename the file to phpbbgui.php and replace the current file. Side issue that was seen includes users with special characters in their names causing problems during import. A patch is not complete for this yet. Part of the issue is that Joomla does not allow special characters and it looks like phpBB does... not to mention the obvious lack of escaping database values upon import... This will be fixed in 1.0.3 3) phpbbgui.php This file includes the LIMIT phpbbgui patch above as well as include modifications so that the newer (Joomla 1.0.8 or so) admin login is used. This should prevent the bug where the ADMIN login was shown when clicking on the Control Panel. You should only see the admin login when the admin session is expired. Please report if this is not the case. This also includes the fix for RG_EMULATION=OFF |} Qui trovate il sito ufficiale: [http://developer.joomla.org/sf/frs/do/viewRelease/projects.phpbb_connector/frs.phpbb_connector_patches.version_1_0_2 Patch phpBBconnector] Una volta scaricato entrare con il vostro browser nel pannello di Joomla. Entrate nel componente Community Builder e apparirà nella lista un'opzione per l'installazione di plugin (Plugin manager). Cliccate ed andate in fondo alla pagina dove trovate il posto per poter fare l'installazione. Dopo aver installato il plugin (sempre nella stessa pagina dei plugin di CB) cliccate su di esso e vi apparià una finestra, immettete il nome della cartella dove è contenuto il forum (es: phpBB o forum, ecc...). Salvate e per motivi sconosciuti chiudete la finestra e poi subito dopo ricliccate sul plugin per riaprirla. A questo punto può cominciare la condivisione vera e propria, cliccate su "Plugin control panel" e apparirà una finestra di popup. In quest'ultima potete importare e sincronizzare gli utenti tra phpBB e Joomla. Finita la sincronizzazione potete accedere da Joomla ed automaticamente sarete loggati anche sul forum. Se non fosse il caso è possibile che la prima volta ci si deve loggarsi anche su forum con l'opzione memorizza password selezionata. ==Hack== ===Intro=== In questa sezione é possibile fare in modo di escludere completamente la registrazione ed il login di phpBB e Joomla ed utilizzare invece esclusivamente il componente Community Builder per l'amministrazione gli utenti. ===Hack phpBB=== Per usare lo stesso login di CB con phpBB, togliere le scritte login ecc.. trovate la guida qui: [[hack_phpBB]] ===Hack Joomla&CB=== Per fare il redirect delle richieste di registrazione e login di Joomla e passarle al componente CB.. trovate la guida qui: [[hack_Joomla&CB]] ==Coppermine== Questa parte è semplicissima, infatti in coppermine sotto "Strumenti Admin" c'è la possibilità di condividere gli utenti con un forum phpBB od altri. 1)Entrare in coppermine come amministratore e cliccare su "Strumenti Admin" 2)scorrere la lista fino in fondo e cliccare su "Bridge Manager" 3)scegliere dalla lista il forum phpBB versione maggiore di 2.0.18 4)Concludere ==Conclusioni== Seguendo questi semplici passi è stato possibile installare Joomla, phpBB e Coppermine condividendo gli utenti tra i tre. Il sistema non è ancora stabilissimo e potrebbero accadere fatti strani, questo per causa del plugin di CB che non è stabile. Per mia esperienza fino adesso ha sempre funzionato tutto alla perfezione senza nessun problema. Se avete domande o miglioramenti scrivete pure sul [http://www.almack.ch/it/forum.html forum].

Traduzioni moduli

Questa sezione é dedicata alle traduzioni e modifiche in intaliano dei componenti di Joomla. Attenzione: non sono traduzioni ufficiali ma solo anteprime per sviluppatori. In futuro spero che li troverete nei pacchetti originali. ------------------------------------------------------------------ !!!!!!!!!!!!!!!!!!!!!! excaledar é stato rimpiazzato dal [http://extensions.joomla.org/component/option,com_mtree/task,viewlink/link_id,1401/Itemid,35/ JCal Pro Calendar]. In JCal Pro é compresa la traduzione in italiano, dunque non vi serve più il mio file. !!!!!!!!!!!!!!!!!!!!!! Ecco il file con le modifiche che ho apportato. Il file originale causa errori quando si vuole editare o eliminare un messaggio. Anche gli accenti sui giorni della settimana sono giusti. Sono state corrette anche tutti gli accenti sulle é è Il file lo trovate [http://www.almack.ch/files/Joomla/Traduzioni/extcalendar/index.php.zip qui]: ''' Installazione: ''' sostiuire il file originale che si trova sotto components/com_extcalendar/languages/italian/ (fare una copia per sicurezza) con il mio. ------------------------------------------------------------------ Ho tradotto Jambook in italiano per voi ;) [http://www.almack.ch/files/Joomla/Traduzioni/jambook/italian.zip Qui] potete scaricarlo Aggiornamenti: - 02.05.07 aggiunte alcune traduzioni Nota: la traduzione contiene ancora alcune parti in inglese ''' Installazione: ''' Sostituite il file english.php sotto la cartella /components/com_jambook/language/ con il mio (fate una copia prima di procedere)