Lastpictures

Descrizione ed esempi delle estensioni per PHPBB 3.1
Rispondi
Topic_id: 20
Avatar utente
Micogian
Amministratore
Messaggi: 104
Iscritto il: 28/11/2014, 19:32

Lastpictures

Messaggio da Micogian »

Lastpictures & Toptentopics

L'estensione lastpictures è l'unione di 2 vecchie MOD create da Micogian (Giovanni Dose)
La prima era la MOD LastPictures che visualizzava una lista fotografica degli ultimi allegati , la MOD TopTenTopics creava la Lista degli ultimi topics, la lista degli ultimi poste e la lista dei topics più visti.
Tutte queste funzioni sono state riunite nella nuova estensione "Lastpictures & Toptentopics"
Il pacchetto scaricabile è il seguente:

ISTRUZIONI PER L'INSTALLAZIONE
1) Decomprimere il pacchetto "micogian.zip" e copiare il contenuto nel percorso "ext/micogian/lastpictures/"
2) Aprire con un programma di testo (notepad++ o similare) il file "ext/micogian/pictures/includes/lastpictures_var.php"

Codice: Seleziona tutto

<?php
global $list_attach;
global $list_topics;
global $list_posts;
global $list_views;

/** LISTA DEI FORUM DA ELABORARE */
$list_attach	= '2,6,7,8,9,10,11'; // Ultime immagini
$list_topics	= '2,6,7,8,9,10,11'; // Ultimi topics
$list_posts	= '2,6,7,8,9,10,11'; // Ultimi posts
$list_views	= '2,6,7,8,9,10,11'; // Topics più visti
?>
Modificare le 4 variabili presenti nel file sostituendo l'elenco dei forum_id con quelli che volete elaborare nel vostro Forum.
La lista dei forum_id da elaborare deve essere separata da una virgola.

Le variabili sono 4, in genere l'elenco dei forum_id è lo stesso per tutte le opzioni ma potrebbe essere necessario creare elenchi diversi in base alla struttura del Furum, ad esempio nel caso che uno volesse visualizzare le immagini solo di alcuni Forum specifici.

ATTENZIONE = le immagini allegate vengono elaborate solo se vengono allegate nel primo post, le immagini delle pagine successive non vengono inserite nella Lista, il motivo è semplice: la striscia fotografica vuol essere un indice figurato degli ultimi topics, non ha senso visualizzare immagini dello stesso topics, pertanto se l'immagine non è stata inserita nel primo post non viene presa in considerazione.

Per default sono 20 le immagini che vengono inserite nella Lista e dato che un topic potrebbe contenere più immagini, il numero dei topics elaborati sono fissati in 40.
Nel caso si volesse modificare il numero delle immagini della lista e il numero dei topics da elaborare bisogna intervenire nel file "./event/listener.php" e precisamente nelle righe seguenti:

Codice: Seleziona tutto

/**
* IMPOSTAZIONI PRINCIPALI */
$n_pic = '20' ;   // Numero delle immagini da visualizzare
$n_top = '40' ;   // Numero dei topics da considerare nella query di ricerca. (***)
                     	// (***) Dato che nei Topics ci possono essere più posts con immagini allegate ma solo una viene considerata
                        // è necessario aumentare il numero dei Topics elaborati per ottenere il numero di immagini da visualizzare
L'estensione si avvale di 2 plugin, Highslide e Jcarousel che sono free solo per siti non commerciali.

Spero che l'estensione sia di vostro gradimento.
Allegati
micogian.zip
(192 KiB) Scaricato 720 volte
Avatar utente
Micogian
Amministratore
Messaggi: 104
Iscritto il: 28/11/2014, 19:32

Re: Lastpictures

Messaggio da Micogian »

L'estensione controlla che nel primo post di un topic ci sia un allegato "jpg", per allargare la ricerca ad altri formati bisogna sostituire la query che estrae le ultime imagini con questa che invece di utilizzare il contenuto del campo "extension" (che può essere "jpg, png, gif, ecc.") viene utilizzato il campo "mimetype" che solitamente contiene il tipo di immagine (image/jpeg, image/png, image/gif, ecc.).
Con la funzione "SUBSTRING(pa.mimetype,1,5) vengono selezionati i primi 5 caratteri del contenuto del campo che sono sempre "image" indipendentemente dal resto:
La query del file "event/listener.php" va sostituita con questa:

Codice: Seleziona tutto

    //QUERY PER ESTRARRE GLI ULTIMI ALLEGATI
    $sql = "SELECT
    pf.forum_name, pf.parent_id, pf.forum_id,
    pt.topic_id, pt.forum_id, pt.topic_title, pt.topic_poster, pt.topic_first_poster_name, pt.topic_attachment, pt.topic_moved_id, pt.topic_time,pt.topic_first_poster_colour,
    pp.topic_id, pp.post_id, pp.post_time,
    pa.attach_id, pa.topic_id, pa.physical_filename, pa.post_msg_id, pa.mimetype
    FROM ". FORUMS_TABLE." pf,". TOPICS_TABLE. " pt,". POSTS_TABLE. " pp,". ATTACHMENTS_TABLE. " pa
    WHERE pt.forum_id IN (".$list_attach.")
    AND pf.forum_id = pt.forum_id
    AND pt.topic_id = pa.topic_id
    AND pt.topic_id = pp.topic_id
    AND pt.topic_time = pp.post_time
    AND pp.post_id = pa.post_msg_id
    AND pt.topic_moved_id = 0
    AND pt.topic_attachment = 1
    AND SUBSTRING(pa.mimetype, 1,5) = 'image'
    ORDER BY pt.topic_time DESC LIMIT $n_top";
Avatar utente
Micogian
Amministratore
Messaggi: 104
Iscritto il: 28/11/2014, 19:32

Re: Lastpictures

Messaggio da Micogian »

C'è la possibilità di modificare la visualizzazione della Lista fotografica delle Ultime Immagini.
Se vogliamo che sia presente solo nell'Indice del Forum useremo l'evento

Codice: Seleziona tutto

<!-- EVENT index_body_markforums_after -->
che si trova in "index_body.html". In questo caso il template dell'estensione si chiamerà "index_body_markforums_after.html".
Se vogliamo che la Striscia sia presente in tutte le pagine dobbiamo intervenire su "overall_header.html" e in tal caso useremo l'ultimo evento disponibile nella testata

Codice: Seleziona tutto

<!-- EVENT overall_header_content_before -->
In questo caso il template dell'estensione va rinominato in "overall_header_content_before.html".
Rispondi