Pastebin

Recent Topics

von bcs

Dein Code:
  1. <?php
  2. // Script basiert auf dieser Anleitung: https://www.phpbb.de/community/viewtopic.php?f=87&t=168403&sid=5574c04aa44cbb76c35133a8f17e2c39&start=10
  3. // ############ Anfang Festlegung der Vorgaben ########################################
  4.  
  5. // Laenge der angezeigten Themenueberschrift in Buchstaben
  6. $topic_length = '100';
  7.  
  8. // Maximal angezeigte Beiträge
  9. $topic_limit = '20';
  10.  
  11. // Eingeschraenkte Forumsanzeige ('0' = Aus; '1' = Ein)
  12. $special_forums = '1';
  13.  
  14. // IDs der nicht zugelassenen Foren (nur wenn Forumsanzeige = "1"); Trennung der IDs mit einem Komma
  15. $forum_ids = '52';
  16.  
  17. // Trennzeichen für spaetere Pfadkonstruktion (config.php)
  18. $config_path = '/';
  19.  
  20. // Pfad des Forums auf dem Server, bitte eingeben !!!
  21. $root_path = '/';
  22.  
  23.  
  24.  
  25. // ############ Ende Vorgaben #######################################
  26.  
  27. //Ermittlung des aktuellen Server-Verzeichnisses
  28. $path = dirname(__FILE__);
  29.  
  30. // Einbinden der phpBB-Konfigurationsdatei und somit Ermittlung der MySQL-Zugangsdaten
  31. //include_once($path.$config_path .'config.php');
  32. include_once($path.$config_path.'config.php');
  33.  
  34. // Verbindungsaufbau mit Zugangsdaten aus config.php, Fehlermeldung bei Problemen
  35. mysql_connect($dbhost, $dbuser, $dbpasswd) OR die('Serververbindung fehlgeschlagen');
  36.  
  37. // Verbindung mit der phpBB-Datenbank herstellen
  38. mysql_select_db($dbname) OR die('Datenbankverbindung fehlgeschlagen!');
  39.  
  40. // ############## Ausgabe der Tabelle (Teil1) - Tabellenkopf ##############
  41.  
  42. // "$topic_limit" kann aus dieser Tabelle geloescht werden, da nur fuer Ausgabe Anzahl Beitraege zustaendig
  43. echo '<html><head>
  44. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /></head>
  45. <body text="#000000" link="#000000" vlink="#333333" alink="#333333">
  46. <table border="0" cellpadding="0" cellspacing="0" style="width: 100%" id="Table_DSF-Top5">
  47. <tr>
  48. <td colspan="4"><span class="small"><font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">
  49. Die '. $topic_limit .' letzten Themen im Forum<br><br></font></span></td><br>
  50. </tr>
  51. <tr>
  52.  
  53. <td style="width: 90%"><span class="small"><strong>
  54. <font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">Thema</font>
  55. </strong>
  56. <font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:9px"></font
  57. </strong></span></td>
  58. <td style="width: 10%"><span class="small">
  59. <strong>
  60. <font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">Datum</font>
  61. </strong></span></td>
  62.  
  63. </tr>';
  64.  
  65. // ############## Ende der Tabellenausgabe (Teil1) ##############
  66.  
  67. //Abfrage ob Foreneinschraenkung gesetzt per Verzweigung und Uebergabe der moeglichen IDS an die Variable
  68. $where_forums = ( $special_forums == '0' ) ? '' : 't.forum_id NOT IN ('. $forum_ids .') AND ';
  69.  
  70. //Definition der SQL-Abfrage
  71. $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
  72. 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
  73. 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
  74. ORDER BY t.topic_last_post_id DESC LIMIT $topic_limit";
  75.  
  76.  
  77. //Durchfuehrung der SQL-Abfrage und Ergebnisuebergabe an $result
  78. $result = mysql_query($sql);
  79.  
  80. // Wenn Abfrafge fehlgeschlagen = Fehlermeldung
  81. if( !$result )
  82.  
  83. {
  84. die('SQL-Abfrage fehlgeschlagen!: '. mysql_error());
  85. exit();
  86. }
  87.  
  88. //Definition Array für Aufnahme der Abfragedaten
  89. $line = array();
  90.  
  91. // Uebergabe der Daten bis zum letzten Datensatz an Array per Schleife
  92. while( $row = mysql_fetch_array($result) )
  93.  
  94. {
  95. $line[] = $row;
  96. }
  97.  
  98. // Strukturiertes Auslesen des Arrays und Variablenuebergabe
  99. for( $i = 0; $i < count($line); $i++ )
  100. {
  101. $forum_id = $line[$i]['forum_id']; //Forums-ID
  102. $forum_url = $root_path .'viewforum.php?f='. $forum_id; //Forums-Link
  103. $topic_id = $line[$i]['topic_id']; //Themen-ID
  104. $topic_url = $root_path .'viewtopic.php?t='. $topic_id; //Themen-Link
  105. // Ausgabeformat der Beitragsueberschrift (Thema)
  106. $topic_title = ( strlen($line[$i]['topic_title']) < $topic_length ) ? $line[$i]['topic_title'] : substr(stripslashes($line[$i]['topic_title']), 0, $topic_length) .'...';
  107.  
  108. // Themenklassifizierung
  109. $topic_type = ( $line[$i]['topic_type'] == '2' ) ? 'Beitrag ': '';
  110. $topic_type .= ( $line[$i]['topic_type'] == '3' ) ? 'Globaler Beitrag ': '';
  111. $topic_type .= ( $line[$i]['topic_type'] == '1' ) ? 'Kritischer Beitrag ': '';
  112. $topic_type .= ( $line[$i]['topic_vote'] ) ? 'Abstimmung ': '';
  113.  
  114. $views = $line[$i]['topic_views'];
  115. $replies = $line[$i]['topic_replies'];
  116.  
  117. $first_time = date('d.m.Y', $line[$i]['topic_time']);
  118. $first_author = ( $line[$i]['first_poster_id'] != '-1' ) ? '<a href="'. $root_path .'profile.php?mode=viewprofile&amp;u='. $line[$i]['first_poster_id'] .'" target="_top">'. $line[$i]['first_poster'] .'</a>' : ( ($line[$i]['first_poster_name'] != '' ) ? $line[$i]['first_poster_name'] : 'guest' );
  119. $last_time = date('d.m.Y', $line[$i]['post_time']);
  120. $last_author = ( $line[$i]['last_poster_id'] != '-1' ) ? $line[$i]['last_poster'] : ( ($line[$i]['last_poster_name'] != '' ) ? $line[$i]['last_poster_name'] : 'guest' );
  121. $last_url = '<a href="'. $root_path .'viewtopic.php?p='. $line[$i]['topic_last_post_id'] .'#'. $line[$i]['topic_last_post_id'] .'" target="_top">'. $last_author .'</a>';
  122.  
  123. // ############## Eigentliche Ausgabe der Beitraege (Tabelle Teil 2) - Tabellenkörper ##############
  124.  
  125. echo '<tr>
  126. <td style="width: 80%"><a href="'. $topic_url .'" target="_top">
  127. <font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">'. $topic_title .'</font></a></td>
  128. <td style="width: 20%">
  129. <font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">'. $last_time .'</font></td>
  130. </tr>';
  131.  
  132. // ############## Ende Eigentliche Ausgabe (Tabelle Teil 2) ##############
  133. }
  134.  
  135. echo '</table>'; //Ende der Tabelle
  136. mysql_close(); // Beendigung der Datenbankverbindung
  137. ?>

Quellcode

Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. Alternativ kannst du den gesamten Eintrag auch als Datei herunterladen.