ThWboard Support-Forum (Archiv)

Ort: / Boardübersicht / Vorschläge / Umschreiben: Statistiken in einem Signaturbild


Seite 1 von 2 – nächste Seite >>

Zweeper schrieb am 19.03.2005 um 05:30 Uhr

Folgender Code von dem Open Source Projekt phpbb:

<?php 

define('IN_PHPBB', true); 
$phpbb_root_path = './'; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

$image = "myphpbb.png"; 
$im = imagecreatefrompng($image); 
$tc  = ImageColorAllocate ($im, 0, 0, 0); 
$version = '2'.$board_config['version']; 
$sitename = $board_config['sitename']; 
$total_users = get_db_stat('usercount'); 
$total_posts = get_db_stat('postcount'); 
$total_topics = get_db_stat('topiccount'); 
$newest_userdata = get_db_stat('newestuser'); 
$newest_user = $newest_userdata['username']; 
ImageString($im, 3, 148, 2, "Statistik von $sitename", $tc); 
ImageString($im, 2, 148, 15, "PHPBB Version: $version", $tc); 
ImageString($im, 2, 148, 25, "Mitglieder: $total_users", $tc); 
ImageString($im, 2, 148, 35, "Gepostet: $total_posts Beiträge in $total_topics Themen", $tc); 
ImageString($im, 2, 148, 45, "Unser neustes Mitglied heißt: $newest_user", $tc); 
header("Content-Type: image/png"); 
Imagepng($im,'',100); 
ImageDestroy ($im); 
?>

http://www.fussle.de/forum/signatur.png

Dieser ermoeglicht es, eine Forenstatistik wie diese hier in einem Bild auszugeben. ich habe schon rumprobiert aber ich bekomme das nicht fuer das thwb zum laufen. Vielleicht kann sich mal jemand von euch daran probieren?

bdominik schrieb am 19.03.2005 um 12:39 Uhr

hm, interessantes, ding, sieht nicht schlecht aus.

PhoenixDH schrieb am 19.03.2005 um 13:39 Uhr

Haste recht, wäre ne tolle Idee, sieht mir nach GdLib aus oder wie das heißt !
Davon hab ich leider keinen Schimmer !

Zweeper schrieb am 19.03.2005 um 13:39 Uhr

wär doch mal ne super idee oder? und ich denk für Leute die mehr Ahnung haben als ich --- :D --- könnte des netmal so schwer sein.

theDon schrieb am 19.03.2005 um 13:48 Uhr

Ja, das ist definitiv libgd2.

Den Image-Code kann man so uebernehmen, man muesste nur die richtigen Daten fuettern.

PhoenixDH schrieb am 20.03.2005 um 00:21 Uhr

1 zu 1 und dann geht das ?

Muss ich gleich mal testen Morgen !

fingers schrieb am 20.03.2005 um 00:56 Uhr

The use of GD lib to display text on an image dynamically is a lot of needless CPU cycles , the use CSS to background the cell with the image and display text on top of it is cheaper in CPU useage, i found this out when i was playing with gallery and my weather map site... if an image doesnt need to be be dynamic why make it dynamic??? :)

<td width="700" height="100" align="right" valign="bottom" background="./imgs/pandanus-sunrise2.gif" style="background-position: center top; background-repeat: no-repeat">

dave

Zweeper schrieb am 20.03.2005 um 01:38 Uhr

wie gesagt, bei mir funzt das 1:1 nicht.
Wär aber ne tolle Sache wenn das jemand zum laufen bringen würde und den Code hier bereitstellen könnte.

MfG Zweeper

theDon schrieb am 20.03.2005 um 13:19 Uhr

Ich hab nie etwas von 1:1 gesagt. Die Daten musst du dir schon aus der Datenbank holen.

Mindestens diese Teil wirst du also anpassen muessen.

$total_users = get_db_stat('usercount');
$total_posts = get_db_stat('postcount');
$total_topics = get_db_stat('topiccount');
$newest_userdata = get_db_stat('newestuser');
$newest_user = $newest_userdata['username']; 

Mal davon abgesehen hat fingers recht, das zieht Leistung ohne Ende.
Das sind naemlich vier Queries und die Bilderstellung pro Request.

bdominik schrieb am 20.03.2005 um 13:23 Uhr

evtl wäre eine gecachte lösung sinvoller, also das man das bild alle 6 stunden updatet, das sollte ja reichen. Und das bild dann als normale Datei speichert. Da würde sich ein CronJob anbieten.

Zweeper schrieb am 20.03.2005 um 16:00 Uhr

mal was anderes, die Leistung die das Erfordert, die wirkt sich dann aber nicht auf den Traffic aus oder?

bdominik schrieb am 20.03.2005 um 16:38 Uhr

naja, traffic und leistung stehen nicht im direkten zusammenhang, allerdings mußt du sehen: nehmen wir mal an, dass bild wird (Egal ob gecacht oder nicht) ca. 20kb groß. Du bindest das jetzt in einem Forum ein. Jedesmal wenn irgendjemand irgendeinen deiner Beiträge anzeigt würde das 20kb traffic bei dir verursachen. Nehmen wir weiterhin an, das jeder deiner 330 beiträge 100 mal betrachtet wird, dann haste nur mit dem forum hier 650MB Traffic. Ist also nich tzu unterschätzen.

Zweeper schrieb am 21.03.2005 um 01:59 Uhr

hm, kommt schon ne ganze Menge zusammen, stimmt.
Aber auf den Hack wär ich trotzdem scharf ^^

Phaeilo schrieb am 15.04.2005 um 16:25 Uhr

grr dann nimm den code von oben doch einfach und hau die richtigen variablen rein so schwer wirds schon nicht sein wenn man die variablen kennt :D
ok wenn du keine ahnung von php hast sollte es jemand anderes machen :D

Zweeper schrieb am 15.04.2005 um 17:49 Uhr

genau das is mein Problem, hab keine Ahnung ^^ :(:(

ragga schrieb am 16.05.2005 um 14:12 Uhr

1. schau dir mal die stats.php datei an
dort müsstn eh scho alle abfragen drinnstehn ;)
2. hintergrundgrafik machen
3.

<? header("content-type:image/png";
                  $im = imagecreatefromjpg ("hintergrund.jpg);
                  $col = iamgecolorallocate($im, 255,255,255);
                  imagestring($im,3,10,20,$text,$col);
                  imagestring($im,schriftgöße,x,y,$text2,$col);
                  imagepng ($im);
                  imagedestroy($im);
               ?>

das fällt ma mal so auf die schnelle ein :)

und statt $text gibts halt die namen der werte ein
und x,y einfach in photoshop oda was a imma schaun wenns die hintergrundgrafik erstellst

PhoenixDH schrieb am 22.05.2005 um 20:01 Uhr

Hat das jetzt eigentlich jemand am laufen ?

Zweeper schrieb am 23.05.2005 um 00:13 Uhr

ne, ich noch nicht.

PhoenixDH schrieb am 23.05.2005 um 21:03 Uhr

Also das Script als Bild in einer Signatur funktioniert leider in einem Board nicht, was müsste dazu noch geändert werden, hat da jemand ne Idee ?

fingers schrieb am 24.05.2005 um 15:35 Uhr

if you want to include the image you will need to use something like this code in showtopic.php, as you already have the image creator file/code i wont give that again....

// show a signature?
if( $post['usersignature'] )
{
if( isset($g_user['userhidesig']) && $g_user['userhidesig'] != 1 )
{      
 if(strstr ( $post['usersignature'], "[:-:Statistics Image:-:]")!== FALSE) 
{
$post['usersignature'] = str_replace ("[:-:","",$post['usersignature']);
$post['usersignature'] = str_replace (":-:]","",$post['usersignature']);
$post['posttext'] .= "<br/>--<br/>" . parse_code($post['usersignature'], 1, ($config['imageslevel'] ? 0 : 1), 1, $config['smilies']); $post['posttext'] .='<br/>
<img src = "http://www.domain.com/forum/inc/sig_image.php">';
}
else
{
$post['posttext'] .= "<br/>--<br/>" . parse_code($post['usersignature'], 1, ($config['imageslevel'] ? 0 : 1), 1, $config['smilies']); } } } 

where the sig_image.php is the image construction script and the "[:-:Statistics Image:-:]" is the key in the signature text to using the statistics image in the signature

PhoenixDH schrieb am 24.05.2005 um 15:45 Uhr

Thjats not what I mean, i think about using in other Boards where you can use [img] Tags in your Signature, because this is a php File and not a real image !

fingers schrieb am 24.05.2005 um 16:53 Uhr

@PheonixDH
do you mean??

[img]http://www.site.dom/forum/inc/stats_image.php[/img]

Either enable all users [b][img][/b] in all areas (not just posts)

AdminCenter-->Basic Settings-->General vars -->Image usage level
[quote]Allow images:
0 - No restriction
1 - Allow images in posts only
2 - Do not allow any images
[/quote] or change
[code]($config['imageslevel'] ? 0 : 1)
[/code] to return "0" for the members you want to be able to use the imagesin signatures
in showtopic.php section
[code]if( $post['usersignature'] )
{
if( isset($g_user['userhidesig']) && $g_user['userhidesig'] != 1 )
{

$post['posttext'] .= "<br/>--<br/>" . parse_code($post['usersignature'], 1, ($config['imageslevel'] ? 0 : 1), 1, $config['smilies']);
// at second 1
}
}
[/code] btw i did test it !

i have been playing around with Jpgraph and GD::php for about 18 months now to build dynamic images on my local weather pages, both cached and direct, from databases and html tables from other www sites ... you might think to use cache with JpGraph to reduce server load or create your own cache by a check to file creation time if you are going to use GD::php...

edited:
eg cache using GD::php

PhoenixDH schrieb am 25.05.2005 um 15:56 Uhr

Yes, that is what I mean, but not for my board, because there i can decide who the options are. I mean in other boards like this one here or something else where the [img] Tag in the signature is enabled !

fingers schrieb am 25.05.2005 um 16:16 Uhr

Wouldn't that be cross-site scripting.... what all the security features are supposed to stop!
edited later

PhoenixDH schrieb am 26.05.2005 um 15:08 Uhr

Thats not what I mean, the Script should be opened every hour. In the Script should be created a real image on your server which would be overwrided every time when the script is running.

Running the script could maybe made in the admincenter or so !

Seite 1 von 2 – nächste Seite >>