[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
phpbb aktuelle Beiträge / Users Online - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
gfc
Beiträge: 152
Registriert: 27. Dez 2005, 22:46
Kontaktdaten: Website

phpbb aktuelle Beiträge / Users Online

29. Dez 2006, 20:18

Viel wurde nachgefragt über eine Interaktion zwischen phbbb und redaxo. Ich habe dies auf www.parkrocker.net so geführt, dass im Redaxo die aktuellen Beiträge und die aktuellen online user von Forum ausgelesen werden und als Liste ausgegeben werden. Dies passiert über die DB Klasse von Redaxo, daher relativ flott (keine neue DB Verbindung).

Dieser Thread sollte für die grundlegende Anleitung und allenfalls Fragen dienen. Und vielleicht als Anregungen für weitere Interaktion, vieles ist möglich..

Zu finden ist es hier:

http://www.redaxo.de/168-Templatedetail ... late_id=40


EINSATZ
======

Erstellt wie gewohnt ein neues Template. Dieses muss im Haupttemplate - wie gewohnt - includiert werden

Aufgerufen kann das ganze dann via
<?php print $navLeftCol; ?>
werden

PARAMETER
=======

Im Template selbst müssen einige Parameter angegeben werden:

$topic_length = '60';
Gibt die Anzahl Zeichen an, die ein Titel max. haben kann

$topic_limit = '6';
Gibt die Anzahl Beiträge an, die Ausgelesen werden

$special_forums = '0';
Normalerweise werden NUR Foren aufgerufen, wo ein Normaler User Lese Rechte hat. Zusätzlich können die Foren eingeschränkt werden. Dazu den Wert 1 eintragen. Normalerweise die Einstellung behalten, wie sie ist!

$forum_ids = '';
Falls man die Foren beschränkt hat, hier die Foren angeben, die man auslesen möchte, getrennt mit Kommas. Z.b. '1,2,4,12'

$table_prefix = 'phpbb_';
Der Prefix des phpbb in der Datenbank. Standardmässig 'phpbb_' , Orion-User haben z.B. 'orion_'

$root_path = '/../../../../forums/'; // link zum Forumspfad
Pfad zum Forum. Hier ist ein wenig "tüfteln" angesagt!


So, das wars fürs erste
http://www.parkrocker.net/ - Die Rock im Park Community

Maidenaustria
Beiträge: 293
Registriert: 7. Mär 2006, 10:43
Wohnort: Österreich

25. Jan 2007, 15:10

Ich hab's geschafft!
Hab dein Template am laufen!
Vielen Dank für die Arbeit!

Nur ein kleiner Hinweis:
Dein Template aus dem Downloadbereich einfach herauskopiert und in das eigene Redaxo einfügt, sollte man aus dem Kopfbereich des templates deine Erklärung rauslöschen denn

// Im Haupttemplate normal includieren und an gewünschter Stelle
// via <?php print $navLeftCol; ?> aufrufen!


wird dann sofort ausgeführt ;)

(Zumindest bei mir)

Benutzeravatar
gfc
Beiträge: 152
Registriert: 27. Dez 2005, 22:46
Kontaktdaten: Website

29. Jan 2007, 00:25

echt? bei mir gehts samt kommentaren. Lustig :)

Aber danke fürs Lob.
http://www.parkrocker.net/ - Die Rock im Park Community

Maidenaustria
Beiträge: 293
Registriert: 7. Mär 2006, 10:43
Wohnort: Österreich

30. Jan 2007, 13:31

Liegt viell. daran das ich noch mit Redaxo 3.1 arbeite....

...egal...

Dr KillerJoe
Beiträge: 1711
Registriert: 24. Nov 2005, 22:29
Kontaktdaten: ICQ Website Yahoo Messenger

30. Jan 2007, 14:10

Mach doch einfach einen mehrzeiligen kommentar ;)

mfg
Flo
Die Doku und Wiki sind Deine Freunde!!!

borisb2
Beiträge: 59
Registriert: 30. Jan 2007, 11:24
Wohnort: Frankfurt
Kontaktdaten: Website

8. Feb 2007, 21:03

super template..

verstehe nur nicht ganz, warum Du "$navLeftCol;" als Ausgabe benutzt.
Ich lasse in Deinem template stattdessen eine Variable "$phpbbThreads" generieren .. die kann ich dann frei in meinem Haupt-template platzieren, während $navLeftCol; weiterhin nur für die navigation benutzt wird..

gruß,
Boris

Havard
Beiträge: 150
Registriert: 20. Jan 2005, 19:59

9. Feb 2007, 13:57

irgendwie wird bei mir gar nichts angezeigt.. kann mir mal jemand helfen? finde übrigens die variable von boris logischer ;)

borisb2
Beiträge: 59
Registriert: 30. Jan 2007, 11:24
Wohnort: Frankfurt
Kontaktdaten: Website

9. Feb 2007, 15:22

Hast Du das include korrekt abgelegt und im template includiert?

Stimmt der Pfad im include ? ($root_path)
-> Du mußt ihn (jedenfalls bei mir war es so) relativ angeben.

gruß

Havard
Beiträge: 150
Registriert: 20. Jan 2005, 19:59

9. Feb 2007, 15:28

habe ich alles geändert und schon zich varianten ausprobiert!

Benutzeravatar
gfc
Beiträge: 152
Registriert: 27. Dez 2005, 22:46
Kontaktdaten: Website

11. Feb 2007, 11:29

borisb2 hat geschrieben:super template..

verstehe nur nicht ganz, warum Du "$navLeftCol;" als Ausgabe benutzt.
Ich lasse in Deinem template stattdessen eine Variable "$phpbbThreads" generieren .. die kann ich dann frei in meinem Haupt-template platzieren, während $navLeftCol; weiterhin nur für die navigation benutzt wird..

gruß,
Boris
Hallo Boris

das hat mit meinem "eigentlichen" Template zu tun. Da hab ich die gesamte Navi in der navLeftCol, daher auch die Threads. Und ich habs nur daraus extrahiert. Aber es steht dir natürlich frei, die Variable umzubennen. Ich habe den Downloadbereich hier immer als "Gedankanregungen", nicht als fixfertige Lösungen gesehen :)
http://www.parkrocker.net/ - Die Rock im Park Community

Goldacker
Beiträge: 148
Registriert: 1. Jul 2007, 13:27
Wohnort: Hamburg / Berlin / Neubrandenburg
Kontaktdaten: Website

Läuft nicht

4. Jul 2007, 19:02

Hallo,
also ich bekomme das nicht zum laufen.

Ich habe das Forum unter /forum/ installiert. Läuft auch.
Hab das Modul angelegt:

Im Backend folgender Fehler:
Unable to open extension.inc. Feeling helpful? Send an email to the webmaster.

Was nun? Was ist falsch konfiguriert? Ist noch etwas mehr nötig als Modul und phpBB-Forum??

Edit: Modulcode entfernt, da nicht relevant (kills)

Goldacker
Beiträge: 148
Registriert: 1. Jul 2007, 13:27
Wohnort: Hamburg / Berlin / Neubrandenburg
Kontaktdaten: Website

Fehler ohne Forumbeiträge

23. Okt 2007, 17:46

ich habe nun doch noch eine Lösung gefunden.
Außerdem stellte ich fest, dass es sein kann, dass eine Fehlermeldung erscheint, wenn keine Forumbeiträge im phpBB sind. Hierzu habe ich einfach ein if Schleife gebaut, die das Problem abfängt.

Mein vollständiges Template:

Code: Alles auswählen

<?php

// PHPBB Interaktion mit Redaxo
// Autor: Roman Urnaut
// www.parkrocker.net / www.urnaut.com

// EXPLODE PATH
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");

// GET CURRENTS
$path1 = $PATH[1];
$path2 = $PATH[2];
$path3 = $PATH[3];


// ############         Edit below         ########################################
$topic_length = '60';        // laenge des Titels
$topic_limit = '2';        // Anzahl beitraege
$special_forums = '0';        // auf Foren beschraenken ('0' = no; '1' = yes)
$forum_ids = '';                // Falls auf Foren beschraenkt, dann hier die IDs angeben
$table_prefix = 'phpbb_'; // Der Prefix in der Datenbank
$root_path = '/forum/';                // link zum Forumspfad
// ############         Edit above         ########################################



// RECENT FORUM POSTS

$navLeftCol .='<h1>Aktuell im Forum</h1>';
$navLeftCol .='';



$where_forums = ( $special_forums == '0' ) ? '' : 't.forum_id IN ('. $forum_ids .') AND ';
$qry = "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 AND f.auth_view < 2
        ORDER BY t.topic_last_post_id DESC LIMIT $topic_limit";



$sql = new sql();
$sql->setQuery($qry);

$result = $sql->get_array($qry);

//falls kein Forumbeiträge (mehr) vorhanden sind
//von Jan-Goldacker.de

if ($result == null) {
        // ############## output ##############
        $navLeftCol .= 'Kein aktueller Eintrag';
        // ############## output ##############
}
else{

//hier gehts normal weiter mit abschließender Klammer

foreach($result as $line)
{
        $forum_id = $line['forum_id'];
        $forum_url = $root_path .'forum.html'. $forum_id;
        $topic_id = $line['topic_id'];
        $topic_url = $root_path .'ftopic.html'. $topic_id;

        $topic_title = ( strlen($line['topic_title']) < $topic_length ) ? $line['topic_title'] : substr(stripslashes($line['topic_title']), 0, $topic_length) .'...';

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

        $first_time = date('G:i', $line['topic_time']);
        $last_time = date('G:i', $line['post_time']);
        $last_author = ( $line['last_poster_id'] != '-1' ) ? $line['last_poster'] : ( ($line['last_poster_name'] != '' ) ? $line['last_poster_name'] : 'guest' );
        $last_url = '<a href="'. $root_path .'sutra.html'. $line['topic_last_post_id'] .'#'. $line['topic_last_post_id'] .'">&raquo; '. $topic_title .'</a>';

        // ############## output ##############
        $navLeftCol .= 'In <a href="'. $forum_url .'">&raquo; '. $line['forum_name'] .'</a><!-- um '.$last_time.'</span>--><br>'.$last_url .'<br>';
        // ############## output ##############
}


$navLeftCol .='';

//abschließende Klammer, wenn kein Beitrag
}

// USER ONLINE
/**

$navLeftCol .='<h1>Aktuell Online</h1>';
$navLeftCol .='<ul>';



$qry = "SELECT u.user_id, u.username, u.user_allow_viewonline, s.session_logged_in, s.session_time
        FROM ". $table_prefix . "users u, ". $table_prefix . "sessions s WHERE u.user_id = s.session_user_id
                AND s.session_time >= (".time()." - 300) ORDER by u.username ASC";

$sql = new sql();
$sql->setQuery($qry);

$result = $sql->get_array($qry);
$guests = 0;
$users = "";
foreach($result as $line)
{
        $username = $line['username'];
        $userid = $line['user_id'];
       if ($userid <0)
       {
        $guests++;
        }
        else
        {
        if ($users == "")
        {
        $users.= $username;
        }
        else
        {
        $users.= ', '. $username;
        }
        }


}

$navLeftCol .= '<li>'.$users.'</li><li>' . $guests. ' G&auml;ste</li>';

$navLeftCol .='</ul>';

**/


borisb2
Beiträge: 59
Registriert: 30. Jan 2007, 11:24
Wohnort: Frankfurt
Kontaktdaten: Website

für phpbb3

23. Apr 2008, 14:24

Hallo Parkrocker :)

gibt es von dem Modul denn eine Version für phpbb3 ?

Oder kann man das selber anpassen?

Danke,
Boris

Maidenaustria
Beiträge: 293
Registriert: 7. Mär 2006, 10:43
Wohnort: Österreich

Re: für phpbb3

4. Mär 2009, 09:58

borisb2 hat geschrieben:Hallo Parkrocker :)

gibt es von dem Modul denn eine Version für phpbb3 ?

Oder kann man das selber anpassen?

Danke,
Boris
Weil ich grad eine Frage an gfc hab, die hier reinpasst und weil du vor Äonen gefragt hast -> Ich hab das Template unter 3.1 laufen ;)

Nun aber meine Frage:
Kann man dem Template beibringen, User die im Forum deren Online-status verbergen auch hier auszublenden?
Derzeit wird dies ignoriert und ALLE als ""momentan online" angezeigt..

Be(a)st regards,
MA

Maidenaustria
Beiträge: 293
Registriert: 7. Mär 2006, 10:43
Wohnort: Österreich

23. Okt 2009, 15:00

Will keinen uralt-thread wiederbeleben, hatte nur gerade das Problem das PHP einen Fehler ausspuckte, weil keine User in dem Forum hinter redaxo online waren.
Goldacker's Einwand/Code ist sehr gut, hab ihn an die Userabfrage angepasst und sollte auch funktionieren:

Code: Alles auswählen

<?php

// PHPBB Interaktion mit Redaxo
// Autor: Roman Urnaut
// www.parkrocker.net / www.urnaut.com

// EXPLODE PATH
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");

// GET CURRENTS
$path1 = $PATH[1];
$path2 = $PATH[2];
$path3 = $PATH[3];


// ############         Edit below         ########################################
$topic_length = '60';        // laenge des Titels
$topic_limit = '2';        // Anzahl beitraege
$special_forums = '0';        // auf Foren beschraenken ('0' = no; '1' = yes)
$forum_ids = '';                // Falls auf Foren beschraenkt, dann hier die IDs angeben
$table_prefix = 'phpbb_'; // Der Prefix in der Datenbank
$root_path = '/forum/';                // link zum Forumspfad
// ############         Edit above         ########################################



// RECENT FORUM POSTS

$navLeftCol .='<h1>Aktuell im Forum</h1>';
$navLeftCol .='';



$where_forums = ( $special_forums == '0' ) ? '' : 't.forum_id IN ('. $forum_ids .') AND ';
$qry = "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 AND f.auth_view < 2
        ORDER BY t.topic_last_post_id DESC LIMIT $topic_limit";



$sql = new sql();
$sql->setQuery($qry);

$result = $sql->get_array($qry);

//falls kein Forumbeiträge (mehr) vorhanden sind
//von Jan-Goldacker.de

if ($result == null) {
        // ############## output ##############
        $navLeftCol .= 'Kein aktueller Eintrag';
        // ############## output ##############
}
else{

//hier gehts normal weiter mit abschließender Klammer

foreach($result as $line)
{
        $forum_id = $line['forum_id'];
        $forum_url = $root_path .'forum.html'. $forum_id;
        $topic_id = $line['topic_id'];
        $topic_url = $root_path .'ftopic.html'. $topic_id;

        $topic_title = ( strlen($line['topic_title']) < $topic_length ) ? $line['topic_title'] : substr(stripslashes($line['topic_title']), 0, $topic_length) .'...';

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

        $first_time = date('G:i', $line['topic_time']);
        $last_time = date('G:i', $line['post_time']);
        $last_author = ( $line['last_poster_id'] != '-1' ) ? $line['last_poster'] : ( ($line['last_poster_name'] != '' ) ? $line['last_poster_name'] : 'guest' );
        $last_url = '<a href="'. $root_path .'sutra.html'. $line['topic_last_post_id'] .'#'. $line['topic_last_post_id'] .'">&raquo; '. $topic_title .'</a>';

        // ############## output ##############
        $navLeftCol .= 'In <a href="'. $forum_url .'">&raquo; '. $line['forum_name'] .'</a><!-- um '.$last_time.'</span>--><br>'.$last_url .'<br>';
        // ############## output ##############
}


$navLeftCol .='';

//abschließende Klammer, wenn kein Beitrag
}

// USER ONLINE
/**

$navLeftCol .='<h1>Aktuell Online</h1>';
$navLeftCol .='<ul>';



$qry = "SELECT u.user_id, u.username, u.user_allow_viewonline, s.session_logged_in, s.session_time
        FROM ". $table_prefix . "users u, ". $table_prefix . "sessions s WHERE u.user_id = s.session_user_id
                AND s.session_time >= (".time()." - 300) ORDER by u.username ASC";

$sql = new sql();
$sql->setQuery($qry);

$result = $sql->get_array($qry);
$guests = 0;
$users = "";

//falls auch nicht mal ein google-bot online ist
//von Jan-Goldacker.de adaptiert von Maidenaustria

if ($result == null) {
        // ############## output ##############
        $navLeftCol .= 'Kein User online';
        // ############## output ##############
}
else{

foreach($result as $line)
{
        $username = $line['username'];
        $userid = $line['user_id'];
       if ($userid <0)
       {
        $guests++;
        }
        else
        {
        if ($users == "")
        {
        $users.= $username;
        }
        else
        {
        $users.= ', '. $username;
        }
        }


}

$navLeftCol .= '<li>'.$users.'</li><li>' . $guests. ' G&auml;ste</li>';

$navLeftCol .='</ul>';

**/ 
//abschließende Klammer, wenn kein User online
}

Zurück zu „Allgemeines [R3]“