Letztes Attachmentbild im anzeigen
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Während ich schauen gehe, wie du das meinst, vielleicht hilft dir das schonmal
_attach_quota
_attachments_config
(diese beiden sind vermutlich unrelevant)
_attachments
attach_id
post_id
privmsgs_id
user_id_1
user_id_2
_attachments_desc
attach_id
physical_filename
real_filename
download_count
comment
extension
mimetype
filesize
filetime
thumbnail
_attach_quota
_attachments_config
(diese beiden sind vermutlich unrelevant)
_attachments
attach_id
post_id
privmsgs_id
user_id_1
user_id_2
_attachments_desc
attach_id
physical_filename
real_filename
download_count
comment
extension
mimetype
filesize
filetime
thumbnail
Code: Alles auswählen
<?php
//Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//Session auslesen und Benutzer-Informationen laden
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//Dieser Block kann weggelassen werden, wenn du nur den die Userdaten brauchst und auf den phpBB-Header verzichen möchtest
$page_title = '';
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
// Haupt Limit eingeben
$limit = 1;
$max_hoehe = 150;
$max_breit = 150;
// Sammle Haupt Informationen für das Bild
$sql = "SELECT * FROM `phpbb_attachments_desc` WHERE `extension` = 'jpg' OR `extension` = 'jpeg' OR `extension` = 'png' ORDER BY `attach_id` DESC LIMIT $limit";
if(!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not query last attachement', '', __LINE__, __FILE__, $sql);
}
while($attach_data = $db->sql_fetchrow($result)) {
//Sammle Informationen für die post_id
$sql = "SELECT * FROM `phpbb_attachments` WHERE `attach_id` = '".$attach_data['attach_id']."' LIMIT 1";
if(!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not query general attachement data', '', __LINE__, __FILE__, $sql);
}
$attach_general = $db->sql_fetchrow($result);
$post_id = $attach_general['post_id'];
$filename = $phpbb_root_path.'files/'.$attach_data['physical_filename'];
$filetime = $attach_data['filetime'];
$filetime = date('d.m.Y H:i', $filetime);
// Lade Username und User Id aus der Datenbank
$sql = "SELECT `username`, `user_id` FROM `".USERS_TABLE."` WHERE `user_id` = '".$attach_general['user_id_1']."' LIMIT 1";
if(!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not query userdata', '', __LINE__, __FILE__, $sql);
}
$attach_user = $db->sql_fetchrow($result);
// Ermitteln von Daten für kleineres Bild
$size = getimagesize($filename);
$height = $size[1];
$width = $size[0];
if ($height > $max_hoehe)
{
$height = 150;
$percent = ($size[1] / $height);
$width = ($size[0] / $percent);
}
else if ($width > $max_breite)
{
$width = 150;
$percent = ($size[0] / $width);
$height = ($size[1] / $percent);
}
// Ausgeben
$post_link = append_sid($phpbb_root_path.'viewtopic.'.$phpEx.'?p='.$post_id.'#'.$post_id);
$user_link = append_sid($phpbb_root_path.'profile.'.$phpEx.'?mode=viewprofile&u='.$attach_user['user_id']);
echo '<a href="'.$post_link.'"><img src="'.$filename.'" border="0" width="'.$width.'" height="'.$height.'" /></a><br />';
echo 'Von <a href="'.$user_link.'">'.$attach_user['username'].'</a>';
} // Ende der While Schleife
//Footer - nur dann weglassen, wenn du auch den Header weglässt
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Und hier kannst du sogar kleinere Einstellungen vornehmen:
Code: Alles auswählen
$limit = 1;
$max_hoehe = 150;
$max_breit = 150;
Und max_hoehe und max_breite bestimmt die maximale ausgabegrösse der Bilder in höhe und breite

EDIT:
Habs jetzt getestet, funktioniert, und nen Bug oben im Script habe ich auch noch entfernt, aber jetzt funktioniert das so wie gewüsncht

Zuletzt geändert von fanrpg am 28.11.2005 20:03, insgesamt 1-mal geändert.