Einfache Anzeige der letzten Themen in Div-Box

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt, um einen neuen Mod zu entwickeln, geht's in [3.0.x] Mods in Entwicklung weiter.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Latza
Gesperrt
Beiträge: 531
Registriert: 05.05.2009 17:57

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von Latza »

achso. dann hat sich das thema hier erledigt. ich dachte das ist sowas wie auf deinem test board. Na hoffentlich ist der Mod bald öffentlich ;).
SilverB
Mitglied
Beiträge: 78
Registriert: 08.03.2009 22:33

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von SilverB »

Danke habe ich gesucht *Daumen hoch*

Kann man da hinzufügen wer als letztes gepostet hat ?

Mfg.
SilverB
Mitglied
Beiträge: 78
Registriert: 08.03.2009 22:33

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von SilverB »

Mir ist aufgefallen das die Themen wieder nach oben rutschen wen man darauf geantwortet hat, kann man das irgendwie aufheben ?

EDIT: Habe es gefunden :D
mxdDanel
Mitglied
Beiträge: 5
Registriert: 10.10.2010 18:53

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von mxdDanel »

Hallo,

ist etwas alt das Thema, aber es war bisher das beste was ich zu diesem Thema gefunden hab.

Funktioniert alles soweit nur eine Frage hätte ich:
Gibt es eine Erweiterung, dass auch die Berechtigungen berücksichtigt werden?
Oder wie kann ich das selbst implementieren?

Wenn ich zwei Gruppen habe möchte ich, dass auch nur den Leuten mit der richtigen Gruppe/Berechtigungsstufe die letzten Beiträge angezeigt werden:
Forum 1 -> Gruppe 1
Forum 2 -> Gruppe 1 & Gruppe 2

Wenn ich nun im Forum 1 was poste, sollen es auch nur die Leute von der Gruppe 1 sehen können.
Oft verrät der Titel schon viel und das soll vermieden werden.

Einige Seite davor hat die Frage bereits jmd. gestellt, jedoch ohne Antwort.

Vl. kann mir hier jmd. helfen.

vielen Dank.

lg
mx....

edit: Formulierung
Benutzeravatar
Luuq
Mitglied
Beiträge: 1007
Registriert: 25.09.2007 17:42
Wohnort: 51° 23′ N, 7° 42′ O
Kontaktdaten:

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von Luuq »

Hi Leute,

habe mir das auch mal eingebaut.
So sieht mein latest.php aus:

Code: Alles auswählen

<?php
// ############ Anfang Festlegung der Vorgaben ########################################

// Laenge der angezeigten Themenueberschrift in Buchstaben
$topic_length = '20';

// Maximal angezeigte Beiträge
$topic_limit = '5';

// Eingeschraenkte Forumsanzeige ('0' = Aus; '1' = Ein)
$special_forums = '0';

// IDs der zugelassenen Foren (nur wenn Forumsanzeige = "1"); Trennung der IDs mit einem Komma
$forum_ids = '3,4,5,20,21,22,7,9,8,10,11,12,13,14,15,16,17,18,19,23';

// Trennzeichen für spaetere Pfadkonstruktion (config.php)
$config_path = '/';

// Pfad des Forums auf dem Server, bitte eingeben !!!
$root_path = 'http://gewi-forum.at/';



// ############ Ende Vorgaben #######################################

//Ermittlung des aktuellen Server-Verzeichnisses
$path = dirname(__FILE__);

// Einbinden der phpBB-Konfigurationsdatei und somit Ermittlung der MySQL-Zugangsdaten
include_once($path.$config_path .'config.php');

// Verbindungsaufbau mit Zugangsdaten aus config.php, Fehlermeldung bei Problemen
mysql_connect($dbhost, $dbuser, $dbpasswd) OR die('Serververbindung fehlgeschlagen');

// Verbindung mit der phpBB-Datenbank herstellen
mysql_select_db($dbname) OR die('Datenbankverbindung fehlgeschlagen!');

// ############## Ausgabe der Tabelle (Teil1)##############

// "$topic_limit" kann aus dieser Tabelle geloescht werden, da nur fuer Ausgabe Anzahl Beitraege zustaendig
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><head><style type="text/css">
body { background-color:#12A3EB; color:#FFFFFF; font-family: "Trebuchet MS"; font-size: 11px; text-decoration: none; }
a:link	{ color: #ffffff; }
a:visited	{ color: #ffffff; }
a:hover	{ color: #89EBF8; }
a:active	{ color: #ffffff; }
.menu-hr {
	border: 0 none #FFFFFF;
	border-top: 1px solid #FFFFFF;
	margin: 5px 20px 5px 0px;
	display: block;
	clear: both;
}
</style> </head><body>';

// ############## Ende der Tabellenausgabe (Teil1) ##############

//Abfrage ob Foreneinschraenkung gesetzt per Verzweigung und Uebergabe der moeglichen IDS an die Variable
$where_forums = ( $special_forums == '0' ) ? '' : 't.forum_id NOT IN ('. $forum_ids .') AND ';

//Definition der SQL-Abfrage
$sql = "SELECT t.*, f.forum_id, f.forum_name, u.username AS first_poster, u.user_id AS first_poster_id, u2.username AS last_poster, u2.user_id AS last_poster_id, p.post_username AS first_poster_name, p2.post_username AS last_poster_name, p2.post_time
FROM ". $table_prefix ."topics t, ". $table_prefix ."forums f, ". $table_prefix ."users u, ". $table_prefix ."posts p, ". $table_prefix ."posts p2, ". $table_prefix ."users u2
WHERE $where_forums t.topic_poster = u.user_id AND f.forum_id = t.forum_id AND p.post_id = t.topic_first_post_id AND p2.post_id = t.topic_last_post_id AND u2.user_id = p2.poster_id
ORDER BY t.topic_last_post_id DESC LIMIT $topic_limit";


//Durchfuehrung der SQL-Abfrage und Ergebnisuebergabe an $result
$result = mysql_query($sql);

// Wenn Abfrafge fehlgeschlagen = Fehlermeldung
if( !$result )

{
die('SQL-Abfrage fehlgeschlagen!: '. mysql_error());
exit();
}

//Definition Array für Aufnahme der Abfragedaten
$line = array();

// Uebergabe der Daten bis zum letzten Datensatz an Array per Schleife
while( $row = mysql_fetch_array($result) )

{
$line[] = $row;
}

// Strukturiertes Auslesen des Arrays und Variablenuebergabe
for( $i = 0; $i < count($line); $i++ )
{
$forum_id = $line[$i]['forum_id']; //Forums-ID
$forum_url = $root_path .'viewforum.php?f='. $forum_id; //Forums-Link
$topic_id = $line[$i]['topic_id']; //Themen-ID
$topic_url = $root_path .'viewtopic.php?t='. $topic_id; //Themen-Link
// Ausgabeformat der Beitragsueberschrift (Thema)
$topic_title = ( strlen($line[$i]['topic_title']) < $topic_length ) ? $line[$i]['topic_title'] : substr(stripslashes($line[$i]['topic_title']), 0, $topic_length) .'...';

// Themenklassifizierung
$topic_type = ( $line[$i]['topic_type'] == '2' ) ? 'Beitrag ': '';
$topic_type .= ( $line[$i]['topic_type'] == '3' ) ? 'Globaler Beitrag ': '';
$topic_type .= ( $line[$i]['topic_type'] == '1' ) ? 'Kritischer Beitrag ': '';
$topic_type .= ( $line[$i]['topic_vote'] ) ? 'Abstimmung ': '';

$views = $line[$i]['topic_views'];
$replies = $line[$i]['topic_replies'];

$first_time = date('d.m.Y', $line[$i]['topic_time']);
$first_author = ( $line[$i]['first_poster_id'] != '-1' ) ? '<a href="'. $root_path .'profile.php?mode=viewprofile&u='. $line[$i]['first_poster_id'] .'" target="_blank">'. $line[$i]['first_poster'] .'</a>' : ( ($line[$i]['first_poster_name'] != '' ) ? $line[$i]['first_poster_name'] : 'guest' );
$last_time = date('d.m.Y', $line[$i]['post_time']);
$last_author = ( $line[$i]['last_poster_id'] != '-1' ) ? $line[$i]['last_poster'] : ( ($line[$i]['last_poster_name'] != '' ) ? $line[$i]['last_poster_name'] : 'guest' );
$last_url = '<a href="'. $root_path .'viewtopic.php?p='. $line[$i]['topic_last_post_id'] .'#'. $line[$i]['topic_last_post_id'] .'" target="_blank">'. $last_author .'</a>';

// ############## Eigentliche Ausgabe der Beitraege (Tabelle Teil 2)##############

echo '
<a href="'. $topic_url .'" target="_top">'. $topic_title .'</a><br />
geschrieben von '. $last_author .'<br />
in <a href="'. $forum_url .'" target="_top">'. $line[$i]['forum_name'] .'</a><br /> am '. $last_time .'
<div class="menu-hr"></div>
';

// ############## Ende Eigentliche Ausgabe (Tabelle Teil 2) ##############
}

echo '</table>'; //Ende der Tabelle
mysql_close(); // Beendigung der Datenbankverbindung
?>
Ich weiß, ist nicht der beste Code, aber es läuft.
Nun habe ich das Problem mit den Umlauten. Was muss ich am Code ändern, damit die Umlaute auch angezeigt werden?

Gruß,
Luuq
-Zu wissen, was man weiß, und zu wissen, was man tut, das ist Wissen.-
phpBB.de - Kostenlose phpBB-Hilfe!
Benutzeravatar
Luuq
Mitglied
Beiträge: 1007
Registriert: 25.09.2007 17:42
Wohnort: 51° 23′ N, 7° 42′ O
Kontaktdaten:

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von Luuq »

Hi,

hab ich schon. Ohne Erfolg.
Ich finde die Stellen nicht (auch in der unbearbeiteten latest.php), deswegen habe ich meine .php eingefügt.

Gruß,
Luuq
-Zu wissen, was man weiß, und zu wissen, was man tut, das ist Wissen.-
phpBB.de - Kostenlose phpBB-Hilfe!
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von BNa »

Du hast ein etwas anderes Script. Hier in diesem Thread kursieren aber auch inzwischen 20 Versionen :grin:

Finde

Code: Alles auswählen

echo '
<a href="'. $topic_url .'" target="_top">'. $topic_title .'</a><br />
geschrieben von '. $last_author .'<br />
in <a href="'. $forum_url .'" target="_top">'. $line[$i]['forum_name'] .'</a><br /> am '. $last_time .'
<div class="menu-hr"></div>
'; 
Ändere in

Code: Alles auswählen

echo '
<a href="'. $topic_url .'" target="_top">'. iconv("ISO-8859-1", "UTF-8", $topic_title) .'</a><br />
geschrieben von '. iconv("ISO-8859-1", "UTF-8", $last_author) .'<br />
in <a href="'. $forum_url .'" target="_top">'. iconv("ISO-8859-1", "UTF-8", $line[$i]['forum_name']) .'</a><br /> am '. $last_time .'
<div class="menu-hr"></div>
'; 
Benutzeravatar
Luuq
Mitglied
Beiträge: 1007
Registriert: 25.09.2007 17:42
Wohnort: 51° 23′ N, 7° 42′ O
Kontaktdaten:

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von Luuq »

Hey,

super, danke dir, hat funktioniert.
Schönen Abend noch.

Gruß,
Luuq
-Zu wissen, was man weiß, und zu wissen, was man tut, das ist Wissen.-
phpBB.de - Kostenlose phpBB-Hilfe!
thoerske
Mitglied
Beiträge: 66
Registriert: 14.12.2008 16:09

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von thoerske »

So ich habe auch eine der zahlreichen Varianten genommen:

Code: Alles auswählen

<link href="styles/prosilver/theme/vorschau.css" rel="stylesheet" type="text/css" />
<?php
// ############ Anfang Festlegung der Vorgaben ########################################

// Laenge der angezeigten Themenueberschrift in Buchstaben
$topic_length = '50';

// Maximal angezeigte Beiträge
$topic_limit = '5';

// Eingeschraenkte Forumsanzeige ('0' = Aus; '1' = Ein)
$special_forums = '1';

// IDs der zugelassenen Foren (nur wenn Forumsanzeige = "1"); Trennung der IDs mit einem Komma
$forum_ids = '1,26,33,39,52';

// Relative Pfadangabe zur config.php
$config_path = '/';

// Absoluter Pfad des Forums auf dem Server, bitte eingeben !!!
$root_path = 'http://forum.fishtownsozis.de/';



// ############ Ende Vorgaben #######################################

//Ermittlung des aktuellen Server-Verzeichnisses für Einbindung config.php
$path = dirname(__FILE__);

// Einbinden der phpBB-Konfigurationsdatei und somit Ermittlung der MySQL-Zugangsdaten
include_once($path.$config_path .'config.php');

// Verbindungsaufbau mit Zugangsdaten aus config.php, Fehlermeldung bei Problemen
mysql_connect($dbhost, $dbuser, $dbpasswd) OR die('Serververbindung fehlgeschlagen');

// Verbindung mit der phpBB-Datenbank herstellen
mysql_select_db($dbname) OR die('Datenbankverbindung fehlgeschlagen!');


//Abfrage ob Foreneinschraenkung gesetzt per Verzweigung und Uebergabe der moeglichen IDS an die Variable
$where_forums = ( $special_forums == '0' ) ? '' : 't.forum_id NOT IN ('. $forum_ids .') AND ';

//Definition der SQL-Abfrage
$sql = "SELECT t.*, f.forum_id, f.forum_name, u.username AS first_poster, u.user_id AS first_poster_id, u2.username AS last_poster, u2.user_id AS last_poster_id, p.post_username AS first_poster_name, p2.post_username AS last_poster_name, p2.post_time
FROM ". $table_prefix ."topics t, ". $table_prefix ."forums f, ". $table_prefix ."users u, ". $table_prefix ."posts p, ". $table_prefix ."posts p2, ". $table_prefix ."users u2
WHERE $where_forums t.topic_poster = u.user_id AND f.forum_id = t.forum_id AND p.post_id = t.topic_first_post_id AND p2.post_id = t.topic_last_post_id AND u2.user_id = p2.poster_id
ORDER BY t.topic_last_post_id DESC LIMIT $topic_limit";


//Durchfuehrung der SQL-Abfrage und Ergebnisuebergabe an $result
$result = mysql_query($sql);

// Wenn Abfrafge fehlgeschlagen = Fehlermeldung
if( !$result )

{
die('SQL-Abfrage fehlgeschlagen!: '. mysql_error());
exit();
}

//Definition Array für Aufnahme der Abfragedaten
$line = array();

// Uebergabe der Daten bis zum letzten Datensatz an Array per Schleife
while( $row = mysql_fetch_array($result) )

{
$line[] = $row;
}

// Strukturiertes Auslesen des Arrays und Variablenuebergabe
for( $i = 0; $i < count($line); $i++ )
{
$forum_id = $line[$i]['forum_id']; //Forums-ID
$forum_url = $root_path .'viewforum.php?f='. $forum_id; //Forums-Link
$topic_id = $line[$i]['topic_id']; //Themen-ID
$topic_url = $root_path .'viewtopic.php?t='. $topic_id; //Themen-Link
// Ausgabeformat der Beitragsueberschrift (Thema)
$topic_title = ( strlen($line[$i]['topic_title']) < $topic_length ) ? $line[$i]['topic_title'] : substr(stripslashes($line[$i]['topic_title']), 0, $topic_length) .'...';

// Themenklassifizierung
$topic_type = ( $line[$i]['topic_type'] == '2' ) ? 'Beitrag ': '';
$topic_type .= ( $line[$i]['topic_type'] == '3' ) ? 'Globaler Beitrag ': '';
$topic_type .= ( $line[$i]['topic_type'] == '1' ) ? 'Kritischer Beitrag ': '';
$topic_type .= ( $line[$i]['topic_vote'] ) ? 'Abstimmung ': '';

$views = $line[$i]['topic_views'];
$replies = $line[$i]['topic_replies'];

$first_time = date('d.m.Y', $line[$i]['topic_time']);
$first_author = ( $line[$i]['first_poster_id'] != '-1' ) ? '<a href="'. $root_path .'profile.php?mode=viewprofile&u='. $line[$i]['first_poster_id'] .'" target="_blank">'. $line[$i]['first_poster'] .'</a>' : ( ($line[$i]['first_poster_name'] != '' ) ? $line[$i]['first_poster_name'] : 'guest' );
$last_time = date('d.m.Y', $line[$i]['post_time']);
$last_author = ( $line[$i]['last_poster_id'] != '-1' ) ? $line[$i]['last_poster'] : ( ($line[$i]['last_poster_name'] != '' ) ? $line[$i]['last_poster_name'] : 'guest' );
$last_url = '<a href="'. $root_path .'viewtopic.php?p='. $line[$i]['topic_last_post_id'] .'#'. $line[$i]['topic_last_post_id'] .'" target="_blank">'. $last_author .'</a>';

// ############## Eigentliche Ausgabe der Beitraege #############

echo '<div>';
// Forumsname und Link, bei Bedarf loeschen
echo '<p><a href="'. $forum_url .'" target="_blank">'. $line[$i]['forum_name'] .'</a><br />';
// Thema und Link, Bei Bedarf loeschen
echo '<a href="'. $topic_url .'" target="_blank">'. $topic_title .'<br />';
// User, Bei Bedarf loeschen
echo $last_url.'<br />';
// Datum, Bei Bedarf loeschen
echo $last_time.'<br /></font></a></p></div>';

// ############## Ende Eigentliche Ausgabe ##############
}

mysql_close(); // Beendigung der Datenbankverbindung
?>
Nun meine Frage, obwohl ich eine eingeschränkte Auswahl an IDs genommen habe, werde alle neuen Artikel angezeigt. Eben auch aus meinem internen Bereich, was ich eindeutig nicht möchte. Wo habe ich den Fehler gemacht? Bzw. geht folgendes: Auf der Seite forum.fishtownsozis.de gibts Kategorien (so heißt das was ich meine zum mindest beim Anlegen im Adminbereich) und die werden auch unter forum_id geführt. Um es mir einfach zu machen habe ich nur die fünf Kategorien-Foren angegeben, damit ich nicht alle Ober-und Unterforen abgeben muss. Liegt es daran, dass es dann nicht funktioniert?
Antworten

Zurück zu „[3.0.x] Mod Suche/Anfragen“