MyBB Community Forums

Full Version: [Download] MyBB Statistics Signature
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7
I figured I'd post this to show the possibilities of the code presented here:

[Image: ookasig.php]
Pretty cool. I like it.
Yeah, I got a cache version! Cool

<?php

/**
 * MyBB Statistic Signature Variant By Ooka and querschlaeger
 */

// Here you can set some parameters
$backgroundimage='./statsig.png';
$cachefile='./cache/statsig.cache'; // normally don't touch
$cachegap=600; // how many seconds should cache file life?

// If no cache file exists or it't too old we have to create it
if(!file_exists($cachefile)||(time()-filemtime($cachefile))>=$cachegap){

	// First we do the MyBB part
	define('IN_MYBB',1);
	define('NO_ONLINE',1);
	require_once './global.php';
	$lang->load('stats');
	$stats=$cache->read('stats');

	// Then we create the image
	$img=imagecreatefrompng($backgroundimage);
	$fontcolor=imagecolorallocate($img,0,0,0);
	imagestring($img,2,15,10,utf8_decode($lang->members).' '.$stats['numusers'],$fontcolor);
	imagestring($img,2,135,10,utf8_decode($lang->posts).' '.$stats['numposts'],$fontcolor);
	imagestring($img,2,255,10,utf8_decode($lang->threads).' '.$stats['numthreads'],$fontcolor);
	imagestring($img,2,50,40,utf8_decode($mybb->settings['bbname']).' - '.$mybb->settings['bburl'],$fontcolor);
	imagepng($img,$cachefile,9);
	imagedestroy($img);

}

// Yeah, finally we just load the cache file and die
header('Content-type: image/png');
header('Last-Modified: '.gmdate('r',filemtime($cachefile)));
header('Expires: '.gmdate('r',time()+$cachegap));
die(file_get_contents($cachefile));
?>

The three lines beneath Here you can set some parameters are interesting if you want to set the cache settings or the source of the background image.

Please make sure that your cache directory is writable (normally it should by MyBB default).

So, this was my part. Don't see any improvement suggestions at the moment. Ooka is the styling professional and maybe he will modify the look. Wink
Thanks for the code, Querschlaeger, I really appreciate it.

Cheers,
Gene
wow, it's also possible to use a true type font!

just use this snippet:

[...]
	// Then we create the image
	$img=imagecreatefrompng($backgroundimage);
	$fontcolor=imagecolorallocate($img,0,0,0);
	imagettftext($img,11,0,10,22,$fontcolor,'./inc/captcha_fonts/MINYN___.ttf',utf8_decode($lang->members).' '.$stats['numusers']);
	imagettftext($img,11,0,137,22,$fontcolor,'./inc/captcha_fonts/MINYN___.ttf',utf8_decode($lang->posts).' '.$stats['numposts']);
	imagettftext($img,11,0,263,22,$fontcolor,'./inc/captcha_fonts/MINYN___.ttf',utf8_decode($lang->threads).' '.$stats['numthreads']);
	imagettftext($img,11,0,50,50,$fontcolor,'./inc/captcha_fonts/MINYN___.ttf',utf8_decode($mybb->settings['bbname']).' - '.$mybb->settings['bburl']);
	imagepng($img,$cachefile,9);
	imagedestroy($img);
[...]
Well, I added that and it screwed up the image. Check a couple posts back to see. And I edited the file back to the way it was, re-uploaded it, and it still won't go back. :/
How do you make user stats on this? like for each users?
I'll start working on something for that, although querschlaeger might get to it before me. xD
(2009-07-11, 02:40 AM)T0m Wrote: [ -> ]How do you make user stats on this? like for each users?

Don't know what you mean exactly... What should be inside the image if it's a personal user signature? The posts of this user? The online time of this user? The only status? What should not stand inside if? The total posts, the threads (...)?
Oh yeah, please someone make that. Like posts, reputation, threads, warning and all those stuff.
Pages: 1 2 3 4 5 6 7