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.
Questo serve a deviare tutte le richieste di registrazione di Joomla e passarle invece al modulo di CB.
Lo trovate qui:
O scaricare direttamente da qui
Versione con redirect integrato: qui
Andate sotto "Mambots" --> "Site mambots" --> "Disable Core Registration" --> "Publish Idem"
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
Il prossimo passo é quello di rendere tutto automatico, basta modificare il piccolo bot che abbiamo installato prima per aggiungere alcune righe.
if( trim(strtolower($option)) == 'com_login' && trim(strtolower($task)) == 'login' )<BR> |
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)
Versione completa <?php /**<BR>
?> |
<?php mosLoadModules ( 'user8', -3 ); ?>
in questo modo carica tutti i moduli contrassegnati con "left" ed anche il nostro login di CB
Ho modificato per voi il file di login di CB.
1)scaricare da quicblogin_hack.zip
2)installare come modulo
3)abilitare nel controllo dei moduli ed ev. cambiare nome
__TOC__
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.
<div style="border:0; margin:0.8em;" valign="top">
<div style="margin-left:5px; margin-bottom:5px; padding:0px; border:1px solid #aaaaaa; width:53em;">
<div style="font-size:105%; line-height:120%; padding: 0.4em; background-color:#eeeeee; border-bottom:1px solid #aaaaaa;">
Prima:
hspace="3" />{L_USERGROUPS}</a>
<a href="{U_REGISTER}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_register.gif" width="12" height="13" border="0" alt="{L_REGISTER}" hspace="3" />{L_REGISTER}</a>
</span></td>
Dopo:
hspace="3" />{L_USERGROUPS}</a>
</span></td>
</div>
</div>
</div>
Stessa identica cosa per il login e tutto quello che volete voi:
<div style="border:0; margin:0.8em;" valign="top">
<div style="margin-left:5px; margin-bottom:5px; padding:0px; border:1px solid #aaaaaa; width:53em;">
<div style="font-size:105%; line-height:120%; padding: 0.4em; background-color:#eeeeee; border-bottom:1px solid #aaaaaa;">
Prima:
<tr>
<td height="25" align="center" valign="top" nowrap="nowrap"><span class="mainmenu"> <a href="{U_PROFILE}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_profile.gif" width="12" height="13" border="0" alt="{L_PROFILE}" hspace="3" />{L_PROFILE}</a> <a href="{U_PRIVATEMSGS}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_message.gif" width="12" height="13" border="0" alt="{PRIVATE_MESSAGE_INFO}" hspace="3" />{PRIVATE_MESSAGE_INFO}</a> <a href="{U_LOGIN_LOGOUT}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_login.gif" width="12" height="13" border="0" alt="{L_LOGIN_LOGOUT}" hspace="3" />{L_LOGIN_LOGOUT}</a> </span></td>
</tr>
Dopo:
<tr>
<td height="25" align="center" valign="top" nowrap="nowrap"><span class="mainmenu"> <a href="{U_PROFILE}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_profile.gif" width="12" height="13" border="0" alt="{L_PROFILE}" hspace="3" />{L_PROFILE}</a> <a href="{U_PRIVATEMSGS}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_message.gif" width="12" height="13" border="0" alt="{PRIVATE_MESSAGE_INFO}" hspace="3" />{PRIVATE_MESSAGE_INFO}</a> </span></td>
</tr>
</div>
</div>
</div>
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 <!-- BEGIN switch_user_logged_out --> e <!-- END switch_user_logged_out -->
per essere sicuri che nessuno ma proprio nessuno faccia il login eliminate o rinominate il file /phpBB/template/nome/login_body.tpl
Per semplificarvi la procedura 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:
<div style="border:0; margin:0.8em;" valign="top">
<div style="margin-left:5px; margin-bottom:5px; padding:0px; border:1px solid #aaaaaa; width:53em;">
<div style="font-size:105%; line-height:120%; padding: 0.4em; background-color:#eeeeee; border-bottom:1px solid #aaaaaa;">
// Do a full login page dohickey if
// user not already logged in
</div>
</div>
</div>
3)sostiuite la riga che seque con questa:
<div style="border:0; margin:0.8em;" valign="top">
<div style="margin-left:5px; margin-bottom:5px; padding:0px; border:1px solid #aaaaaa; width:53em;">
<div style="font-size:105%; line-height:120%; padding: 0.4em; background-color:#eeeeee; border-bottom:1px solid #aaaaaa;">
if( $userdata['session_logged_in'] && $userdata['user_level'] == ADMIN)
</div>
</div>
</div>
4)andare in fondo al file e sostituire questo
<div style="border:0; margin:0.8em;" valign="top">
<div style="margin-left:5px; margin-bottom:5px; padding:0px; border:1px solid #aaaaaa; width:53em;">
<div style="font-size:105%; line-height:120%; padding: 0.4em; background-color:#eeeeee; border-bottom:1px solid #aaaaaa;">
redirect(append_sid("index.$phpEx", true));
</div>
</div>
</div>
5)inserite in sostituzione questo
<div style="border:0; margin:0.8em;" valign="top">
<div style="margin-left:5px; margin-bottom:5px; padding:0px; border:1px solid #aaaaaa; width:53em;">
<div style="font-size:105%; line-height:120%; padding: 0.4em; background-color:#eeeeee; border-bottom:1px solid #aaaaaa;">
?>
<script language="JavaScript">;
parent.location.href='../index.php?option=com_login&task=login';
</script>;
<?php
</div>
</div>
</div>
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
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, non sono difficili ma con queste alla fine avrete una integrazione perfetta tra Joomla+CB+phpBB+Coppermine.
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.
Scaricare il plugin da plug_phpbbconnector_v1.0.2.zip(Attenzione é senza patch dunque funziona solo con le versioni vecchie di Joomla) o dal sito originale www.joomlapolis.com, ho aggiunto la versione patchata che risolve alcuni problemi, la potete trovare qui 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.
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 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:
README.txt for Patch Files1) 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) 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. 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 |
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.
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 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 qui:
Installazione:
sostiuire il file originale che si trova sotto components/com_extcalendar/languages/italian/ (fare una copia per sicurezza) con il mio.
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)