Forum : Le Guide di DieDie87

Soggetto : Visualizzare "Discussioni recenti nel Forum" con E-Xoopport

� 2011 - DieDie87 & Apache
http://diedie87.altervista.org

URL di questa discussione
http://diedie87.altervista.org/modules/newbb_plus/viewtopic.php?topic_id=1580&forum=55


 DieDie87 :

30/8/2011 09:12
 
PROBLEMA

Per chi possiede un CMS E-Xoopport su un sito di Altervista, si sarà accorto che in prima pagina non funziona più il blocco delle "Discussioni recenti nel Forum".

Al posto della consueta lista di dieci ultimi thread visualizza questo errore: 

ERROR: SELECT p.uid, p.topic_id, p.forum_id, p.post_time, p.icon, t.topic_title, t.topic_views, t.topic_replies, f.forum_name FROM ex_bbplus_posts p, ex_bbplus_forums f INNER JOIN ex_bbplus_topics t ON t.topic_last_post_id = p.post_id WHERE f.forum_id = t.forum_id GROUP BY p.topic_id ORDER BY t.topic_time DESC

Il problema è dovuto all'aggiornamento a mysql5 attuato da Altervista sui loro server e purtroppo il CMS in questione è obsoleto, non supportato da diversi anni e probabilmente ha problemi di compatibilità.
 
Cosa fare? Il blocco in questione si chiama "Discussioni recenti nel forum" e fa parte del modulo "Forum - Newbb Plus", dovremo creare un nuovo blocco e inserire il codice per poter estrarre questa funzione.
 

1° SOLUZIONE
  • Usare Altervista\Filezilla per la gestione dei files del vostro sito.
  • Navigare al percorso: /modules/newbb_plus/blocks
  • Eseguire il backup del file: newbb_new.php (non obbligatorio ma raccomandato)
  • Aprire il file originale e modificare questo blocco (da riga 36 a 53)
Quote:

SELECT
    p.uid,
    p.topic_id,
    p.forum_id,
    p.post_time,
    p.icon,
    t.topic_title,
    t.topic_views,
    t.topic_replies,
    f.forum_name
    FROM
    ".$bbTable['posts']." p,
    ".$bbTable['forums']." f
    INNER JOIN ".$bbTable['topics']." t ON t.topic_last_post_id = p.post_id
    WHERE f.forum_id = t.forum_id
    $extra
    GROUP BY p.topic_id
    ORDER BY t.topic_time DESC";


Sostituendolo con questo:
Quote:

    SELECT
        ex_users.uid,
        ex_bbplus_topics.topic_id,
        ex_bbplus_forums.forum_id,
        post_time,
        icon,
        topic_title,
        topic_views,
        topic_replies,
        forum_name
    FROM
    ".$bbTable['posts'].",".$bbTable['forums'].", ".$bbTable['topics'].", ex_users
    WHERE ex_bbplus_forums.forum_id = ex_bbplus_topics.forum_id
    AND ex_bbplus_topics.topic_last_post_id = ex_bbplus_posts.post_id
    AND ex_users.uid = ex_bbplus_posts.uid
    $extra
    GROUP BY ex_bbplus_topics.topic_id
    ORDER BY topic_time DESC";

  • Salvate il file e attivate il blocco "Discussioni recenti nel Forum" dall'Amministrazione di E-Xoopport.
2° SOLUZIONE 

Nel sistema di Amministrazione del CMS E-Xoopport, navigare in Blocchi e disabilitate la visualizzazione del blocco non funzionante  "Discussioni recenti nel Forum" con "Visibile: No"
Possiamo ora creare uno nuovo Blocco con le seguenti caratteristiche:
  • Posizione: Centrale in alto al centro
  • Mostra solo nelle pagine del tipo: [V] Pagina Iniziale (almeno questa voce fleggata)
  • Ordine: 1 (a seconda alle vostre esigenze)
  • Visibile: Si
  • Nome: Discussioni Recenti del Forum
  • Contenuto: * (vedi sotto)
  • Tipo di contenuto: CODICE PHP
  • Accesso in Lettura: {evidenziare tutti i vostri tipi utenti}

* Incollare il testo seguente, ricordandosi che:
 - Bisogna cambiare il nome del sito con il vostro (2° riga)
 - Possibilità di modificare numero max di post recenti (14° riga), default è 15.

Quote:

//Inizializzo query per la visualizzione di tutti i Records
$mioSito = 'http://diedie87.altervista.org';
$query = mysql_query('SELECT  icon, ex_users.uid, uname,
        ex_bbplus_topics.topic_id, topic_title,
        ex_bbplus_forums.forum_id, forum_name,
        topic_replies,
        topic_views,
FROM_UNIXTIME(post_time) as post_time
FROM ex_bbplus_posts, ex_bbplus_forums, ex_bbplus_topics, ex_users
WHERE ex_bbplus_forums.forum_id = ex_bbplus_topics.forum_id
AND ex_bbplus_topics.topic_last_post_id = ex_bbplus_posts.post_id
AND ex_users.uid = ex_bbplus_posts.uid
ORDER BY topic_time DESC
LIMIT 0 , 15');

//Costruisco una tabella con tutti i records
echo "<table border=1>
    <tr align='center'>
        <td></td>
        <td><b>Argomento</b></td>
        <td><b>Forum</b></td>
        <td><b>Risposte</b></td>
        <td><b>Visite</b></td>
        <td><b>Data</b></td>
        <td><b>Autore</b></td>
    </tr>";
    while($rd = mysql_fetch_array($query)){
        echo "<tr align='center'>
                <td><img src='$mioSito/images/subject/$rd[icon]'></td>
                <td><a href='$mioSito/modules/newbb_plus/viewtopic.php?topic_id=$rd[topic_id]&forum=$rd[forum_id]'>$rd[topic_title]</a></td>
                <td><a href='$mioSito/modules/newbb_plus/viewforum.php?forum=$rd[forum_id]'>$rd[forum_name]</a></td>
                <td>$rd[topic_replies]</td>
                <td>$rd[topic_views]</td>
                <td>$rd[post_time]</td>
                <td><a href='$mioSito/userinfo.php?uid=$rd[uid]'>$rd[uname]</a></td>
            </tr>";
}
echo   "</td></table>";


Testato su: E-Xoopport -  Samsara 3.1

Per chiarimenti, suggerimenti sono a vostra disposizione.

 zeppo :

1/9/2011 12:24
 Nel mio caso non ha funzionato la soluzione. La versione di E-Xoopport del mio sito è la 1.1 , quindi precedente alla Samsara. Ho perfino difficoltà nel creare un blocco nuovo dal pannello di Amministrazione, ma ho notato che tra i file del sito gestibili da altervista.org ce n'è uno che si chiama newbb_new.php (percorso: nomesito/modules/newbb_plus/blocks) che risulta direttamente collegato a quella porzione di homepage in cui comparivano prima le ultime discussioni. Modificando il codice PHP di quel file, si modifica la visualizzazione di quella parte. A questo punto conto di inserire il codice che mi serve direttamente lì, senza passare dal pannello di Amministrazione. In ogni caso, resto in attesa di una soluzione. Ci spero tanto. Il sito in questione ha un flusso di visitatori molto grande ogni giorno e non nascondo che siamo ormai in condizioni di urgenza. Grazie all'autore di questa guida e a chi vorrà collaborare per una soluzione che vada bene anche nel mio caso. Saluti.

 DieDie87 :

1/9/2011 14:47
 Ciao zeppo,
Quote:
  Ho perfino difficoltà nel creare un blocco nuovo dal pannello di Amministrazione

Spiegati meglio.


Quote:

ho notato che tra i file del sito gestibili da altervista.org ce n'è uno che si chiama newbb_new.php (percorso: nomesito/modules/newbb_plus/blocks) che risulta direttamente collegato a quella porzione di homepage in cui comparivano prima le ultime discussioni.

Ho aggiornato la guida con una soluzione alternativa. Provala e vediamo cosa succedere, con la mia versione funziona.

Se non dovesse funzionare posta il file in questione. [ Modificato da DieDie87 il 1/9/2011 15:26 ]

 zeppo :

1/9/2011 15:35
 In pratica non riesco a creare un blocco nuovo con codice PHP, Visibile, con il titolo e le caratteristiche indicate nel primo post di questa discussione:
Nel sistema di Amministrazione del CMS E-Xoopport, navigare in Blocchi e disabilitate la visualizzazione del blocco non funzionante "Discussioni recenti nel Forum" con "Visibile: No" Possiamo ora creare uno nuovo Blocco con le seguenti caratteristiche: Posizione: Centrale in alto al centro Mostra solo nelle pagine del tipo: [V] Pagina Iniziale (almeno questa voce fleggata) Ordine: 1 (a seconda alle vostre esigenze) Visibile: Si Nome: Discussioni Recenti del Forum Contenuto: * (vedi sotto) Tipo di contenuto: CODICE PHP Accesso in Lettura: {evidenziare tutti i vostri tipi utenti}
Anche per questo la procedura non viene portata a termine. Ho cercato di aggirare l'ostacolo andando a modificare solo il codice e il titolo di un blocco già esistente. In questo caso il codice PHP suggerito dalla tua guida viene letto, ma il messaggio è sempre quello, solito errore.
Per quanto riguarda il file newbb_new.php , ripeto il percorso è miosito/modules/newbb_plus/blocks/newbb_plus.php
Il codice originario, presente nel file dall'inizio e una volta funzionante è quello che ti ho allegato a questo messaggio. Ecco il link per il download del file: http://www.2shared.com/file/ETLqdMUG/newbb_new.html [ Modificato da zeppo il 1/9/2011 15:37 ]

 DieDie87 :

1/9/2011 15:41
 
Quote:
zeppo ha scritto: Il codice originario, presente nel file dall'inizio e una volta funzionante è quello che ti ho allegato a questo messaggio. Ecco il link per il download del file: http://www.2shared.com/file/ETLqdMUG/newbb_new.html [ Modificato da zeppo il 1/9/2011 15:37 ]


Forse non ti sei accorto che ho aggiornato la guida... prova la 1° soluzione. ;-)

 zeppo :

1/9/2011 16:16
 Niente, non va bene nemmeno questa soluzione :/

 DieDie87 :

2/9/2011 07:33
 
Quote:
zeppo ha scritto: Niente, non va bene nemmeno questa soluzione :/

  1. Da sempre lo stesso errore?
  2. Che versione hai del Forum Newbb (io la 0.70)?

 zeppo :

2/9/2011 16:39
 L'errore è: ERROR: SELECT ex_users.uid, ex_bbplus_topics.topic_id, ex_bbplus_forums.forum_id, post_time, icon, topic_title, topic_views, topic_replies, forum_name FROM rh_bbplus_posts,rh_bbplus_forums, rh_bbplus_topics, ex_users WHERE ex_bbplus_forums.forum_id = ex_bbplus_topics.forum_id AND ex_bbplus_topics.topic_last_post_id = ex_bbplus_posts.post_id AND ex_users.uid = ex_bbplus_posts.uid GROUP BY ex_bbplus_topics.topic_id ORDER BY topic_time DESC

La versione del forum è la 0,70 anche per me.
Versione: 0.70 Descrizione: Newbb (E-Xoops 1.05 Rev3) con premessi di gruppo, allegati, sondaggi, notifica e-mail ed altro!

PS: scusami non ho ancora capito come andare a capo nella risposta
[Modificato da zeppo il 2/9/2011 16:41 ] [ Modificato da zeppo il 2/9/2011 16:41 ]

 DieDie87 :

4/9/2011 08:18
 ddsdsasdas dasd as d sad asd asdas
Quote:
zeppo ha scritto: L'errore è: ERROR: SELECT ex_users.uid, ex_bbplus_topics.topic_id, ex_bbplus_forums.forum_id, post_time, icon, topic_title, topic_views, topic_replies, forum_name FROM rh_bbplus_posts,rh_bbplus_forums, rh_bbplus_topics, ex_users WHERE ex_bbplus_forums.forum_id = ex_bbplus_topics.forum_id AND ex_bbplus_topics.topic_last_post_id = ex_bbplus_posts.post_id AND ex_users.uid = ex_bbplus_posts.uid GROUP BY ex_bbplus_topics.topic_id ORDER BY topic_time DESC

La versione del forum è la 0,70 anche per me.
Versione: 0.70 Descrizione: Newbb (E-Xoops 1.05 Rev3) con premessi di gruppo, allegati, sondaggi, notifica e-mail ed altro!

PS: scusami non ho ancora capito come andare a capo nella risposta
[Modificato da zeppo il 2/9/2011 16:41 ] [ Modificato da zeppo il 2/9/2011 16:41 ]


A questo punto, è chiaro che necessiti dell'aggiornamento a Samsara 3.1 affichè possa eseguire correttamente le modifiche.

 zeppo :

4/9/2011 10:44
 Capisco.. Ti ringrazio tanto per tutto il supporto. Nel caso ci siano delle novità fammi sapere. Saluti.

� 2011 - DieDie87 & Apache
http://diedie87.altervista.org

URL di questa discussione
http://diedie87.altervista.org/modules/newbb_plus/viewtopic.php?topic_id=1580&forum=55