FluxBB.de Community

FluxBB kann man nicht mit Worten beschreiben - man muss es selbst erlebt haben

Du bist nicht angemeldet.

Ankündigung

Herzlich Willkommen auf den Seiten des deutschsprachigen FluxBB Supportforums. Wenn du neu hier bist, lies bitte die Willkommensnachricht.

#1 28.08.2008 11:00:24

haru
Mitglied
Registriert: 28.08.2008
Beiträge: 6

Neueste Beiträge mit extern.php

Da "allow_url_include on" auf dem Server auf dem das Board läuft nicht möglich ist, wir aber dennoch zumindest die 5. neuesten Subjects anzeigen möchten, wurde versucht das mit einem kleinen workaround in header.php zu realisieren.

// END SUBST - <pun_navlinks>



//Recent Posts - extern.php?action=active&show=5 ergebnis von buffer in variable

ob_start();

$_GET['action']='active';

$_GET['show']=5;

require_once('extern.php');

$recentsub=ob_get_contents();  //Buffer wird in $var geschrieben

ob_end_clean(); 

Danach wird der Inhalt in den Header geschrieben. ($recentsub)

// START SUBST - <pun_status>

if ($pun_user['is_guest']){

    $tpl_temp = '<div id="brdwelcome" class="inbox">'."\n\t\t\t".'<p>'.$lang_common['Not logged in'].'</p>Recent posts in: '.$recentsub."\n\t\t".'</div>';

       } 

else

{

    $tpl_temp = '<div id="brdwelcome" class="inbox">'."\n\t\t\t".'<ul class="conl">'."\n\t\t\t\t".'<li>'.$lang_common['Logged in as'].' <strong>'.pun_htmlspecialchars($pun_user['username']).'</strong></li>'."\n\t\t\t\t".'<li>'.$lang_common['Last visit'].': '.format_time($pun_user['last_visit']).'</li><li>Recent posts in: '.$recentsub.'</li>';



  unset($_GET['action'],$_GET['show']);

Das funktioniert an sich auch. Es ergibt sich dadurch aber ein Problem mit viewtopic.php - siehe dazu am besten [url]...[/url] (testforum mit sinnlosem inhalt auf einem anderen server mit selben php variablen und dem obigen code)

Der "Forumpfad" - also "Index >> Forum >> Subject" wird nicht mehr richtig ausgegeben. Auf viewforum.php wird trotzdem weiterhin richtig "Index >> Forum" angezeigt. Irgendeine Idee wie sich das lösen ließe?

Beitrag geändert von haru (21.04.2012 13:49:16)

Offline

#2 28.08.2008 16:16:51

ben
Mitglied
Registriert: 24.08.2008
Beiträge: 20

Re: Neueste Beiträge mit extern.php

ICH KANN DIR DA WEITERHELFEN GENO!!!



not sad

Offline

#3 28.08.2008 16:25:53

haru
Mitglied
Registriert: 28.08.2008
Beiträge: 6

Re: Neueste Beiträge mit extern.php

Jetzt hab ich mich als ich ne mail notification bekam schon gefreut dass ne antwort kam...und dann bist es nur du! hmm

Beitrag geändert von haru (28.08.2008 16:26:06)

Offline

#4 28.08.2008 21:19:23

ben
Mitglied
Registriert: 24.08.2008
Beiträge: 20

Re: Neueste Beiträge mit extern.php

NUR,... geno! das heisst "yeah geil du!!"

Offline

#5 28.08.2008 21:31:12

Christian
Administrator
Ort: Wien
Registriert: 01.08.2008
Beiträge: 259
Webseite

Re: Neueste Beiträge mit extern.php

Ich kann jetzt leider keinen Code posten, weil ich von meinem iPhone schreibe, aber wieso gehst du überhaupt den Umweg über extern.php? Ein Direktzugriff auf die Datenbank wäre der richtige Weg.

Offline

#6 31.08.2008 19:40:22

haru
Mitglied
Registriert: 28.08.2008
Beiträge: 6

Re: Neueste Beiträge mit extern.php

Habs per direktzugriff gemacht.

Offline

#7 02.09.2008 10:44:09

Christian
Administrator
Ort: Wien
Registriert: 01.08.2008
Beiträge: 259
Webseite

Re: Neueste Beiträge mit extern.php

Sorry, haru. Ich war ein paar Tage im Urlaub und vom iPhone ist es wirklich schwierig Code zu posten. Würdest du uns aber vielleicht trotzdem aufklären, wie du es schlussendlich geschafft hast?

Offline

#8 03.09.2008 10:37:28

haru
Mitglied
Registriert: 28.08.2008
Beiträge: 6

Re: Neueste Beiträge mit extern.php

Im grunde genommen alles ähnlich extern.php. Die Query holt die Topics und checkt die Permissions, damit in der liste nur topics angezeigt werden, die man als user auch sehen darf. Danach wird das Topic gekürzt und ausgegeben. Der Code unten steht in einem extra php file. In main.tpl hab ich einen anchor "<pun_ticker>" gesetzt der mit einem class="block" DIV ersetzt wird in dem das php file included wird. (Sieht dann wie ein announcement aus, nur eben permanent)

<?php
$limit = 5; //Wieviele Posts sollen angezeigt werden?
$posts = $db->query('SELECT t.id, t.subject FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.moved_to IS NULL ORDER BY t.last_post DESC LIMIT '.$limit.'') or error('Unable to fetch topic list', __FILE__, __LINE__, $db->error());

while( $recent = $db->fetch_assoc($posts) )// Ausgeben
{
$max_subject_length = 30; //Wieviele Zeichen darf das ausgegebene Subject lang sein?

if (pun_strlen($recent['subject']) > $max_subject_length)
                $subject_truncated = pun_htmlspecialchars(trim(substr($recent['subject'], 0, ($max_subject_length-5)))).'&hellip;';
        else
                $subject_truncated = pun_htmlspecialchars($recent['subject']);
?>
<a href="/viewtopic.php?id=<?php echo $recent['id'];
?>&amp;action=new"><?php echo $subject_truncated ?></a>&nbsp;&nbsp;&nbsp;&nbsp;
<?php
}
?>

Offline

Fußzeile des Forums