Seite 1 von 1

statistik in signatur

Verfasst: 24.10.2008 20:13
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);
?>

Verfasst: 25.10.2008 02:01
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);

Verfasst: 25.10.2008 04:41
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

Verfasst: 25.10.2008 04:48
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.

Verfasst: 26.10.2008 14:23
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

Verfasst: 26.10.2008 14:42
von Andi1111
super, vielen dank.