Pagina 1 di 6

Richiesta MOD per visualizzare le ultime 200 foto in tabella

Inviato: 28/09/2011, 10:41
da girello
Ciao a tutti
chiedo la possibilità di poter impaginare meglio questo link:

http://www.photogirello.it/forummn/news.php

vorrei che le foto fossero impaginate in tabella con nome autore e nome foto per ogni foto

diciamo una tabella di 5 colonne e 40 righe per 200 foto.
Fattibile? Aggiungo la pagina in allegato
Grazie mille

http://www.photolandia.net

Re: Richiesta MOD per visualizzare le ultime 200 foto in tab

Inviato: 28/09/2011, 12:35
da Micogian
Ciao Girello, vedi questi esempi: http://www.actaplantarum.org/floraitali ... no2011.php
oppure http://www.apasseggionelbosco.it/mod_last_pictures.php

Il problema è un altro, si tratta di capire come sono caricate le foto, se sono allegati o bbcode [img], se vanno ridimensionate al momento (soluzione sconsigliata) o se esiste un sistema che genera delle thumbs che poi sono più facili da gestire.
Le soluzioni ci sono ma dipendono dalel condizioni, certamente gli "allegati" sono più facilmente gestibili, i bbcode sono più complicati.

Re: Richiesta MOD per visualizzare le ultime 200 foto in tab

Inviato: 28/09/2011, 12:41
da girello
Ciao bingo
le foto sono già ridimensionate e sono caricate come allegati. Mi piace molto la seconda soluzione. E' proprio ciò che stavo cercando
Parliamo di allegati e non di BBcode.
La soluzione che ridimensiona la foto e generata da una tua mod precedentemente installata ;)

Re: Richiesta MOD per visualizzare le ultime 200 foto in tab

Inviato: 29/09/2011, 14:06
da girello
si può avere allora? tnx

Re: Richiesta MOD per visualizzare le ultime 200 foto in tab

Inviato: 29/09/2011, 15:17
da Micogian
Cosa devi inserire nella Lista ?
La Mod che avevo creato estrae e ridimensiona la prima foto per ogni Topics, non tutti gli allegati.
Come visualizzi attualmente le 200 immagini ?

Re: Richiesta MOD per visualizzare le ultime 200 foto in tab

Inviato: 29/09/2011, 16:06
da girello
http://www.apasseggionelbosco.it/mod_last_pictures.php


voglio questo se possibileeeeeeeee :D troppo bello bingo :D

Re: Richiesta MOD per visualizzare le ultime 200 foto in tab

Inviato: 30/09/2011, 11:59
da girello
bingo ha scritto:Cosa devi inserire nella Lista ?
La Mod che avevo creato estrae e ridimensiona la prima foto per ogni Topics, non tutti gli allegati.
Come visualizzi attualmente le 200 immagini ?

Codice: Seleziona tutto

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);






// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();




// #######   INIZIO MOD VIEW LAST PICTURES ver. 1.0.2  by Bingo - 25/03/2010  ########
// function resize_thumbs() = crea una miniatura del file
// La function resize_thumbs() ridimensiona le immagini selezionate e le salva nella cartella thumbs
// La procedura quindi provvede a visualizzare le thumbs e non i file originali. 
// Nel caso di nuovo Topics, le thumbs vengono create al momento del primo accesso da parte di un visitatore
// in modo che i successivi utenti trovano già disponibili le miniature. 

function resize_thumbs($physical,$attach_id){
    $img_des = $phpbb_root_path . "thumbs/" . $attach_id . ".jpg" ; 
    // Ottengo le informazioni sull'immagine originale
    list($width, $height, $type, $attr) = getimagesize($phpbb_root_path . "files/" . $physical);

    // Creo la versione ridimensionata dell'immagine (thumbnail)
    // Modificare il valore di $new_height per ottenere thumbs di altezza diversa 
    // (la larghezza si adatta in proporzione)
    $new_height = '100' ;
    $new_width = ($width * $new_height / $height);
    $thumb = imagecreatetruecolor($new_width, $new_height);
    $source = imagecreatefromjpeg($phpbb_root_path . "files/" . $physical);
    imagecopyresized($thumb, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

    // Salvo l'immagine ridimensionata
    imagejpeg($thumb, $img_des, 75);
   return "thumbs/". $attach_id . ".jpg" ;
}

// IMPOSTAZIONI PRINCIPALI
// scegliere una delle due seguenti condizioni di ricerca: per parent_id o per forum_id
// e inserire l'elenco dei parent_id o dei forum_id dove fare la selezione
    $where_list = 'pf.parent_id IN(7)';   // mode=parent_id (Elenco dei forum_id del tipo parent_id)
    //$where_list = 'pt.forum_id IN(4,5,6,7,8,9,10,11,12,13)';  // mode=forum_id (Elenco dei forum_id normali)
    
    $n_pic = '200' ;   // Numero delle immagini da visualizzare
    $n_top = '600' ;  // 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

//query per estrarre gli ultimi n_topics con allegati
$sql = "SELECT
pf.forum_name, pf.parent_id, pf.forum_id,
pt.topic_id, pt.forum_id, pt.topic_title, pt.topic_first_poster_name, pt.topic_attachment, pt.topic_moved_id, pt.topic_time,
pp.topic_id, pp.post_id, pp.post_time,
pa.attach_id, pa.topic_id, pa.physical_filename, pa.extension, pa.post_msg_id
FROM ". FORUMS_TABLE." pf,". TOPICS_TABLE. " pt,". POSTS_TABLE. " pp,". ATTACHMENTS_TABLE. " pa
WHERE $where_list
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 pa.extension = 'jpg'
AND pt.topic_moved_id = 0
AND pt.topic_attachment = 1
AND pa.extension = 'jpg'
ORDER BY pt.topic_time DESC LIMIT $n_top";

$db->sql_query($sql);

$result = $db->sql_query($sql);
$topic_cor = '' ;
$x = '0' ;
while ($row = $db->sql_fetchrow($result))
{
   if ($topic_cor != $row['topic_id'] && $x < $n_pic ) {
   $attach_id = $row['attach_id'];
   $physical = $row['physical_filename'];
   $thumbs = "thumbs/". $attach_id . ".jpg" ;
   if (is_file($thumbs)){
   $thumb_cor = $thumbs ;
   }else{
   $thumb_cor = resize_thumbs($physical, $attach_id);
   }

// assegna le variabili da passare al file HTML
$template->assign_block_vars('attach_list', array(
      'MY_TOPIC_ID'        => $row['topic_id'],
      'MY_FORUM_ID'        => $row['forum_id'],
      'MY_TOPIC_TITLE'     => $row['topic_title'],
      'MY_TOPIC_LINK'      => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 't='.$row['topic_id']),
      'MY_ATTACH_LINK'     => append_sid("{$phpbb_root_path}download/file.$phpEx", 'id='.$attach_id),
      'MY_FORUM_NAME'      => $row['forum_name'],
      'MY_TOPIC_AUTHOR'    => $row['topic_first_poster_name'],
      'MY_ATTACH_ID'       => $attach_id,
   'MY_THUMBS'          => $thumb_cor
   ));
   $topic_cor = $row['topic_id'] ;
   $x = ++$x ;
   }
}
// #######   FINE MOD VIEW LAST PICTURES   ##########

page_header('News');

$template->set_filenames(array(
    'body' => 'news_body.html',
));


make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
?>

Re: Richiesta MOD per visualizzare le ultime 200 foto in tab

Inviato: 30/09/2011, 12:43
da Micogian
Già che ci sei posta anche il file new_body.html.

Re: Richiesta MOD per visualizzare le ultime 200 foto in tab

Inviato: 30/09/2011, 12:48
da girello
in allegato ;) non fare caso al titolo poi sistemo. era iniziato come pagina news poi ho cambiato idea

Re: Richiesta MOD per visualizzare le ultime 200 foto in tab

Inviato: 30/09/2011, 13:57
da Micogian
Girello, ma se invece di usare la variabile MY_ATTACH_LINK tu usi MY_THUMB dovresti velocizzare l'apertura della pagina.
In pratica la riga

Codice: Seleziona tutto

<!-- BEGIN attach_list -->
      <a href="{attach_list.MY_TOPIC_LINK}" title="{attach_list.MY_TOPIC_TITLE} (di {attach_list.MY_TOPIC_AUTHOR})"><img src="{attach_list.MY_ATTACH_LINK} alt="{attach_list.MY_FORUM_NAME}" border="0" height="75"></a>
      <!-- END attach_list-->
dovrebbe diventare

Codice: Seleziona tutto

<!-- BEGIN attach_list -->
      <a href="{attach_list.MY_TOPIC_LINK}" title="{attach_list.MY_TOPIC_TITLE} (di {attach_list.MY_TOPIC_AUTHOR})"><img src="{attach_list.MY_THUMB} alt="{attach_list.MY_FORUM_NAME}" border="0" height="75"></a>
      <!-- END attach_list-->
Le miniature dovrebbero esserci già, si tratta solo di aggiungere Titolo e Autore.