MyBB.de Forum
neueste themen auf externe seite anzeigen lassen??? - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: neueste themen auf externe seite anzeigen lassen??? (/thread-507.html)

Seiten: Seiten: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30


RE: neueste themen auf externe seite anzeigen lassen??? - lenkradschloss - 18.12.2007

@Dragon: Wo genau muss denn die Datei auf dem Server hin? Doch in das Verzeichnis des Forums, oder?

Dann erhalte ich:

Zitat:Direct initialization of this file is not allowed.

Please make sure IN_MYBB is defined.

Gruß, Jens


RE: neueste themen auf externe seite anzeigen lassen??? - Michael - 18.12.2007

Dass meine Lösung nicht funktioniert liegt daran, dass folgender Code bei dir doppelt vorhanden ist:
PHP-Code:
// Letzte Themen auslesen
$query mysql_query ("SELECT subject,tid FROM ".$prefix."threads WHERE visible='1' $unviewwhere ORDER BY tid DESC LIMIT 0,".$limit.""); 
Entferne das erste Vorkommen und passe den zweiten Query dann wie geschildert an.


RE: neueste themen auf externe seite anzeigen lassen??? - StefanT - 18.12.2007

lenkradschloss schrieb:@Dragon: Wo genau muss denn die Datei auf dem Server hin? Doch in das Verzeichnis des Forums, oder?

Dann erhalte ich:

Zitat:Direct initialization of this file is not allowed.

Please make sure IN_MYBB is defined.

Gruß, Jens
Du willst die Themen auf einer externen Seite haben. Da hilft dir die Datei im Forum nicht. Wink


RE: neueste themen auf externe seite anzeigen lassen??? - Rookie-Doo - 18.12.2007

Michael schrieb:Dass meine Lösung nicht funktioniert liegt daran, dass folgender Code bei dir doppelt vorhanden ist:
PHP-Code:
// Letzte Themen auslesen
$query mysql_query ("SELECT subject,tid FROM ".$prefix."threads WHERE visible='1' $unviewwhere ORDER BY tid DESC LIMIT 0,".$limit.""); 
Entferne das erste Vorkommen und passe den zweiten Query dann wie geschildert an.

Wunderbar, jetzt funktioniert es! Herrlich... DANKE! Smile

Nur noch ein Problem: Umlaute werden nicht richtig angezeigt: http://www.cyberdyne-sky.net/

Da ich das Problem auch in einer RSS-Feed Abfrage habe: liegt das an meiner Seite generell oder oder kann man da im Script etwas verändern?

Das jetzige, funktionstüchtige Scirpt lautet:

PHP-Code:
<?php
// Daten für Verbindung zur Datenbank
$dbhost "localhost";
$dbuser "changeme";
$dbpassword "changeme";
$dbdatabase "changeme";

// Präfix
$prefix "mybb_";

// URL zum Forum
$url "http://www.cyberdyne-sky.net/mybb/";

// Anzahl der Themen
$limit "5";

// Verbindung zur Datenbank aufnehmen
$db mysql_connect($dbhost,$dbuser,$dbpassword) or die ("Verbindung fehlgeschlagen");  
mysql_select_db($dbdatabase,$db);

// Letzte Themen auslesen
$query mysql_query ("SELECT subject,tid FROM ".$prefix."threads WHERE visible='1' AND fid NOT IN (25,3,5,61,54,60,13,58) ORDER BY tid DESC LIMIT 0,".$limit."");

// Überschrift
echo "<table style=\"border-style:solid;border-width:2\" width=\"100%\" cellspacing=\"0\" id=\"rahmen_farbe\">
       <tr>
        <td id=\"hintergrund_menue\"><font id=\"text_menue\"><center>- <a href=\"index.php?m=newspost\">Neueste Themen im Forum</strong></a> -</center></font></td>
       </tr>
        <tr>
         <td>
          <center>"
;

// Liste starten
echo "<ul>";

while (
$newest_threads mysql_fetch_array($query)) 
    {
    echo 
"<li><a href=\"".$url."/showthread.php?tid=".$newest_threads['tid']."\" target=\"_blank\">".$newest_threads['subject']."</a></li>";
    }

// Liste schließen
echo "</ul>
           </font>
          </center>
         </td>
        </tr>
       </table>"
;
?>



RE: neueste themen auf externe seite anzeigen lassen??? - Michael - 19.12.2007

Ersetze
PHP-Code:
echo "<li><a href=\"".$url."/showthread.php?tid=".$newest_threads['tid']."\" target=\"_blank\">".$newest_threads['subject']."</a></li>"
mal durch:
PHP-Code:
echo "<li><a href=\"".$url."/showthread.php?tid=".$newest_threads['tid']."\" target=\"_blank\">".htmlentities(utf8_decode($newest_threads['subject']))."</a></li>"



RE: neueste themen auf externe seite anzeigen lassen??? - Rookie-Doo - 19.12.2007

Michael schrieb:Ersetze
PHP-Code:
echo "<li><a href=\"".$url."/showthread.php?tid=".$newest_threads['tid']."\" target=\"_blank\">".$newest_threads['subject']."</a></li>"
mal durch:
PHP-Code:
echo "<li><a href=\"".$url."/showthread.php?tid=".$newest_threads['tid']."\" target=\"_blank\">".htmlentities(utf8_decode($newest_threads['subject']))."</a></li>"

Astrein, es läuft endlich so wie ich es wollte. Vielen Dank Euch allen! Smile


RE: neueste themen auf externe seite anzeigen lassen??? - Rookie-Doo - 23.12.2007

Hallo zusammen,

ich würde doch gerne eine ausführlichere Foren-Vorschau einbinden. Es gab ja hier eine Lösung, die auch den letzten Beitragsverfasser anzeigt.

Rookie-Doo schrieb:
PHP-Code:
<?php

// Anzahl der Themen
$limit "5";

// Überlange Themen kürzen (0 = Nein, x = Anzahl der auszugebenden Zeichen)
$length "0";


require(
"./../mybb/inc/init.php");
### Konfiguration ###

//Nicht sichtbare Foren ausschließen
$unviewable get_unviewable_forums();
if(
$unviewable)
{
$unviewwhere "AND t.fid NOT IN (".$unviewable.")";


// Head ausgeben
echo "<table width=\"100%\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\"><tr><td colpan=\"4\"><strong></strong></td></tr><tr><td>Forum</td><td>Benutzer</td><td>Datum</td><td>Thema</td></tr>";

// Themen aus Datenbank holen
$query $db->query ("SELECT subject,username,uid,tid,fid,dateline FROM ".TABLE_PREFIX."threads WHERE visible='1' $unviewwhere ORDER BY tid DESC LIMIT 0,".$limit."");
while(
$threads $db->fetch_array($query))
{
// Forum ermitteln
$query2 $db->query ("SELECT name FROM ".TABLE_PREFIX."forums WHERE fid = '".$threads['fid']."'");
$forums $db->fetch_array($query2);

// Betreff kürzen?
if ($length != 0)
{
    if (
strlen($threads['subject']) > $length
    {
    
$threads['subject'] = substr($threads['subject'],0,$length) . "...";
    }
}

// Daten ausgeben
echo "<tr><td><a href=\"".$mybb->settings['bburl']."/forumdisplay.php?fid=".$threads['fid']."\" target=\"_blank\">".htmlentities($forums['name'])."</a></td>
<td><a href=\""
.$mybb->settings['bburl']."/member.php?action=profile&amp;uid=".$threads['uid']."\" target=\"_blank\">".htmlentities($threads['username'])."</a></td>
<td>"
.htmlentities(mydate($mybb->settings['dateformat'], $threads['dateline'])).", ".htmlentities(mydate($mybb->settings['timeformat'], $threads['dateline']))."</td>
<td><a href=\""
.$mybb->settings['bburl']."/showthread.php?tid=".$threads['tid']."\" target=\"_blank\">".htmlentities($threads['subject'])."</a></td></tr>";
}

// Footer ausgeben
echo "</table>";
?>

Jedoch erhalte ich dort folgende Fehlermeldung:

PHP-Code:
Warningmain() [function.main]: open_basedir restriction in effectFile(./../mybb/inc/init.phpis not within the allowed path(s): (/srv/www/vhosts/cyberdyne-sky.net/httpdocs:/tmpin /srv/www/vhosts/cyberdyne-sky.net/httpdocs/php/news.php on line 8

Warning
main(./../mybb/inc/init.php) [function.main]: failed to open streamOperation not permitted in /srv/www/vhosts/cyberdyne-sky.net/httpdocs/php/news.php on line 8

Warning
main() [function.main]: open_basedir restriction in effectFile(./../mybb/inc/init.phpis not within the allowed path(s): (/srv/www/vhosts/cyberdyne-sky.net/httpdocs:/tmpin /srv/www/vhosts/cyberdyne-sky.net/httpdocs/php/news.php on line 8

Warning
main(./../mybb/inc/init.php) [function.main]: failed to open streamOperation not permitted in /srv/www/vhosts/cyberdyne-sky.net/httpdocs/php/news.php on line 8

Warning
main() [function.main]: open_basedir restriction in effectFile(./../mybb/inc/init.phpis not within the allowed path(s): (/srv/www/vhosts/cyberdyne-sky.net/httpdocs:/tmpin /srv/www/vhosts/cyberdyne-sky.net/httpdocs/php/news.php on line 8

Warning
main(./../mybb/inc/init.php) [function.main]: failed to open streamOperation not permitted in /srv/www/vhosts/cyberdyne-sky.net/httpdocs/php/news.php on line 8

Fatal error
main() [function.require]: Failed opening required './../mybb/inc/init.php' (include_path='.:.:/usr/share/php'in /srv/www/vhosts/cyberdyne-sky.net/httpdocs/php/news.php on line 8 

Line 8 ist:
PHP-Code:
require("./../mybb/inc/init.php"); 

Welche Rechte muss diese init.php haben? Reicht 644?

Nochmal zum Verständnis der Pfade, nicht, dass die Pfadangabe irgendwie falsch ist: root/index.php ruft root/php/news.php auf, letztere soll root/mybb/inc/init.php aufrufen.

Vielen Dank im Voraus und besinnliche Feiertage! Smile


RE: neueste themen auf externe seite anzeigen lassen??? - CKOne - 24.12.2007

Hallo.

Ich wollte in meine Homepage auch die neusten Themen aus meinem Forum einbauen. Ich hab deshalb den Code auch eingefügt. Allerdings erscheint statt der Themen folgender Text:

Zitat:- Neueste Themen im Forum -
\n"; // Liste starten echo "

* \n"; while ($newest_threads = mysql_fetch_array($query)) { echo "".htmlentities(utf8_decode($newest_threads['subject']))."
\n"; } // Liste schließen echo "

\n"; ?>

Wo liegt da mein Fehler?

Der Code, mit dem ich das eingefügt habe, sieht so aus:
Code:
<?php
// Daten für Verbindung zur Datenbank
$dbhost = "localhost";
$dbuser = "---";
$dbpassword = "---";
$dbdatabase = "---";

// Präfix
$prefix = "mybb_";

// URL zum Forum
$url = "http://www.fieselschweif.de";

// Anzahl der Themen
$limit = "5";

// Verbindung zur Datenbank aufnehmen
$db = mysql_connect($dbhost,$dbuser,$dbpassword) or die ("Verbindung fehlgeschlagen");  
mysql_select_db($dbdatabase,$db);

// Letzte Themen auslesen
$query = mysql_query ("SELECT subject,tid FROM ".$prefix."threads WHERE visible='1' AND fid NOT IN (2) ORDER BY tid DESC LIMIT 0,".$limit."");

// Überschrift
echo "<table style=\"border-style:solid;border-width:2\" width=\"100%\" cellspacing=\"0\">
       <tr>
        <td><center>- <a href=\"index.php?m=newspost\">Neueste Themen im Forum</strong></a> -</center></td>
       </tr>
        <tr>
         <td>
          <center> \n";

// Liste starten
echo "<ul> \n";

while ($newest_threads = mysql_fetch_array($query))
    {
    echo "<li><a href=\"".$url."/showthread.php?tid=".$newest_threads['tid']."\" target=\"_blank\">".htmlentities(utf8_decode($newest_threads['subject']))."</a></li> \n";
    }

// Liste schließen
echo "</ul>
           </font>
          </center>
         </td>
        </tr>
       </table> \n";
?>
(Die Zugangsdaten zur Datenbank hab ich natürlich zensiert.)

Ich hoffe, es kann mir jemand hier helfen.


Frohe Weihnachten wünscht
CKOne. Smile


RE: neueste themen auf externe seite anzeigen lassen??? - Michael - 24.12.2007

Das ist jetzt geraten, aber versuche mal die Leerzeichen vor den \n zu entfernen. Wenn das nicht hilft entferne mal alle \n.


RE: neueste themen auf externe seite anzeigen lassen??? - CKOne - 24.12.2007

Ohne hab ich das auch schon probiert. Ich hab die ja auch nur eingefügt, weil ich dachte, dass es vielleicht daran liegen könnte.