statistik in signatur

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
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.
Antworten
Andi1111
Mitglied
Beiträge: 1301
Registriert: 26.05.2006 13:21
Wohnort: Berlin
Kontaktdaten:

statistik in signatur

Beitrag von Andi1111 »

Hallo,ich bin mal wieder beim Basteln nicht weitergekommen, vielleicht kann mir ja einer helfen :)

Ich habe mir einen Banner für die Signatur gemacht (für phpbb3), funktioniert auch soweit schon wie ich will, ich hätte nur gerne noch die Anzahl der User die gerade online sind mit drin. Ich habe mit den Code für die " wer ist online" Box im Portal und in der index.php angesehen aber wirklich geholfen hat das nicht.

Also das sieht jetzt so aus:

[ externes Bild ]

Und mein Code:

Code: Alles auswählen

<?php

define('IN_PHPBB', true);
$phpEx = substr(strrchr(__FILE__, '.'), 1);
$phpbb_root_path = './../';
include($phpbb_root_path . 'common.'.$phpEx);

$sql = "SELECT t.topic_title, p.post_time
   FROM (" . TOPICS_TABLE . " t, " . POSTS_TABLE . " p)
   LEFT JOIN " . FORUMS_TABLE . " f
   ON t.forum_id = f.forum_id
   WHERE p.post_id = t.topic_last_post_id

   ORDER BY t.topic_last_post_id DESC LIMIT 0,1";
if ( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Couldn\'t retrieve Topic_id data', '', __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result))
{
   $latest_topic = $row['topic_title'];
}

$sql= "SELECT *
   FROM phpbb_arcade_games
   WHERE game_id <> 0 ";
  if ( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Couldn\'t retrieve game data', '', __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result))
{
  $games = $row['game_id'];

}


$image = "../sis.gif/signature.png";

$im = imagecreatefrompng($image);
$tc  = ImageColorAllocate ($im, 0, 0, 0);
$red  = ImageColorAllocate ($im, 255, 153, 0);
$blue  = ImageColorAllocate ($im, 0, 102, 153);


$newest_user = $newest_userdata['username'];
ImageString($im, 3, 148, 2, 'Forumstatistik: @ ' .$config['sitename'], $tc);
ImageString($im, 3, 278, 2, "$sitename", $blue);
ImageString($im, 2, 148, 15, 'Mitglieder : ' . $config['num_users'] , $tc);

ImageString($im, 2, 148, 25, "Letztes Thema:", $tc);
ImageString($im, 2, 238, 25, "$latest_topic", $blue);
ImageString($im, 2, 148, 35, 'Wir haben ' . $config['num_posts'] . ' Beiträge in ' . $config['num_topics']. ' Themen', $tc);
ImageString($im, 2, 300, 45, "Neuester User:", $tc);
ImageString($im, 2, 385, 45, "$newest_user" . $config['newest_username'], $blue);
ImageString($im, 2, 148, 45, "Spiele Installiert:", $tc);
ImageString($im, 2, 264, 45, "$games", $blue);
header("Content-Type: image/png");
Imagepng($im);
ImageDestroy ($im);
?>
Andi1111
Mitglied
Beiträge: 1301
Registriert: 26.05.2006 13:21
Wohnort: Berlin
Kontaktdaten:

Beitrag von Andi1111 »

Ich weiss ja nicht wer das hierher verschoben hat, da es erstmal nur eine Bastelei für mich selber sein sollte, aber wenns schon hier ist dann richtig :)

Also wer testen will http://www.das-gameboard.com/download/sis.gif.rar

einfach entpacken und den ordner sis.gif ins Forum Root hochladen.

Wer den Arcade Mod nicht installiert hat muss natürlich diese Zeilen löschen:

Code: Alles auswählen

$sql= "SELECT *
   FROM phpbb_arcade_games
   WHERE game_id <> 0 ";
  if ( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Couldn\'t retrieve game data', '', __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result))
{
  $games = $row['game_id'];

}
und

Code: Alles auswählen

ImageString($im, 2, 148, 45, "Spiele Installiert:", $tc);
ImageString($im, 2, 264, 45, "$games", $blue);
Benutzeravatar
tas2580
Ehemaliges Teammitglied
Beiträge: 3029
Registriert: 01.07.2004 05:42
Wohnort: /home/tas2580
Kontaktdaten:

Beitrag von tas2580 »

Ich würde sowas nicht on the fly ausliefern sondern den Banner für einige Minuten cachen. Wenn du das bei vielen gut besuchten Foren in deine Signatur einbaust wird dir dein Server bald die Freundschaft kündigen da du ihm so keinen Gefallen tust.

Gruß Tobi
Heute ist ein guter Tag um dein Forum zu testen.
Ehemaliger Benutzername: [BTK] Tobi
Andi1111
Mitglied
Beiträge: 1301
Registriert: 26.05.2006 13:21
Wohnort: Berlin
Kontaktdaten:

Beitrag von Andi1111 »

na ja, meine ahnung von php ist etwa gleich 0, also ich bin nur am googeln oder zusammenbasteln aus anderen scripts, und bin froh wenn meine basteleien funktionieren, das das nicht gerade perfekt ist, ist mir auch klar aber ich wollte es halt mal versuchen, und soweit geht es ja, ich konnte halt nur nicht rausfinden wie ich die anzahl der online user da rein kriege.
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17473
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Die Lösung zu den gerade online befindlichen Usern hatte ich dort bereits beschrieben:

http://www.phpbb.de/viewtopic.php?t=176 ... sc&start=8

Und im letzten Beitrag des Themas siehst du den kompletten Code.

http://www.phpbb.de/viewtopic.php?t=176 ... c&start=10
Andi1111
Mitglied
Beiträge: 1301
Registriert: 26.05.2006 13:21
Wohnort: Berlin
Kontaktdaten:

Beitrag von Andi1111 »

super, vielen dank.
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“