Come da oggetto, volevo utilizzare l'estensione "View Last Pictures 2" sul mio forum che è alla versione 3.2.0 con php 7.0.16.
Ho provato ad installarla ma, come mi aspettavo, non funziona.
L'estensione installata non da errori di php, ha solo dei problemi minori legati allo style (facili da risolvere) ma purtroppo, mentre resituisce correttamente la finestra col riquadro dove dovrebbero essere mostrate le thumbnails, e non ha problemi a produrre in output le thumbnails medesime (sono rinvenibili nell'apposita cartella), purtroppo non le mostra nel riquadro dedicato, credo per un problema di estrazione dal database dei thread e degli autori. Credo che il problema sia legato al cambiamento delle variabili tra una versione e l'altra del forum, ma essendo che io di php ne capisco poco, non sono in grado di capire dove sia il problema.
Sono comunque abbastanza sicuro che si trovi in questo file:
Codice: Seleziona tutto
// ####### INIZIO MOD VIEW LAST PICTURES ##########
// function che copia l'allegato in formato thumb
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)
$new_height = '120' ;
$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" ;
}
$forum_attach_id = 1; // ATTENZIONE inserire il forum_id (padre) dal quale si vuole estrarre gli allegati
// Redirect to login upon emailed notification links
if (isset($_GET['e']) && !$user->data['is_registered'])
{
login_box('', $user->lang['LOGIN_NOTIFY_FORUM']);
}
$sql = "SELECT f.*
FROM ".FORUMS_TABLE." f
WHERE f.forum_id = " . (isset($forum_attach_id) ? $forum_attach_id : 0);
$result = $db->sql_query($sql);
$forum_attach_data = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
// Check if forum exist
if (!$forum_attach_data)
{
trigger_error('NO_FORUM');
}
// Check if user have permissions
if (!$auth->acl_gets('f_list', 'f_read', $forum_attach_id) || ($forum_attach_data['forum_type'] == FORUM_LINK && $forum_attach_data['forum_link'] && !$auth->acl_get('f_read', $forum_attach_id)))
{
if ($user->data['user_id'] != ANONYMOUS)
{
trigger_error('SORRY_AUTH_READ');
}
login_box('', $user->lang['LOGIN_VIEWFORUM']);
}
// Check if forum is passworded
if ($forum_attach_data['forum_password'])
{
login_forum_box($forum_attach_data);
}
//query per estrarre gli ultimi 5 Topics con allegati
$sql = "SELECT
pt.topic_id, pt.forum_id, pt.topic_title, pt.topic_first_poster_name, pt.topic_attachment, pf.forum_name, pf.parent_id, pf.forum_id, pt.topic_time
FROM ". TOPICS_TABLE." pt,". FORUMS_TABLE. " pf
WHERE pf.parent_id = $forum_attach_id
AND pt.forum_id = pf.forum_id
AND pt.topic_attachment = 1
ORDER BY pt.topic_time DESC LIMIT 6";
$db->sql_query($sql);
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$topic_id = $row['topic_id'];
// ricerca il primo attach_id dei topics selezionati
$sql_pic = "SELECT pa.attach_id, pa.topic_id, pa.physical_filename, pa.extension
FROM ". ATTACHMENTS_TABLE." pa
WHERE pa.topic_id = $topic_id
AND pa.extension = 'jpg'
ORDER BY pa.attach_id LIMIT 1" ;
$db->sql_query($sql_pic);
$result1 = $db->sql_query($sql_pic);
$row1 = $db->sql_fetchrow($result1);
$attach_id = $row1['attach_id'];
$physical = $row1['physical_filename'];
$thumbs = "thumbs/". $attach_id . ".jpg" ;
if (is_file($thumbs)){
$thumb_cor = $thumbs ; // se il file thumb esiste visualizza questo
}else{
$thumb_cor = resize_thumbs($physical, $attach_id); // altrimenti lo crea
}
// 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
));
}
//$db->sql_freeresult($result);
// ####### FINE MOD VIEW LAST PICTURES ##########