The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Signature Stats v3.04 Details »» | |||||||||||||||||||||||||
VERSION 3.04
[05/09/2004] ----------------------------------------------- This Hack is released under an EverythingvB.com FullAttribution-LimitedDerivs-LimitedTranslation License ----------------------------------------------- This hack allows you to display your forum statistics in an image,whichyou can use as your signature in most forums (like mine). If you have any trouble, please post here or in my forum for a good response. Please Click INSTALL, otherwise if an important fix becomes available, you will not be notified. Now with truetype font support and line breaks. Fixed online userscode(was resetting 'most users online'). New easy support for GD2 andbelow. Attached pixel font for use in your signatures, must be in all capitals, at size 6 to work appropriately. New! Attached signature colourgenerator application. Useful to work out the colour scheme of yoursignature. Displays the RGB code for picked colour, and also allows forHEX to RGB conversion. Popular modifications:
Show Your Support
|
Comments |
#317
|
||||
|
||||
Ok... I thought I did every thing ok but I am not gettting the image to show at all. Below is my complete signature.php
Code:
<?php // ####################################################################### // ####################################################################### // ## ## // ## SIGNATURE STATS V3.04 ## // ## ---------------------------- ## // ## By Dan Ward ## // ## www.collegepranks.co.uk ## // ## ## // ####################################################################### // ####################################################################### // ########### developed from tkeil69575's script for 2.3.x ############## // ####################### SET PHP ENVIRONMENT ########################### error_reporting(E_ALL & ~E_NOTICE); // #################### DEFINE IMPORTANT CONSTANTS ####################### define('NO_REGISTER_GLOBALS', 1); define('THIS_SCRIPT', 'sig_stats'); // ######################### REQUIRE BACK-END ############################ require_once('./global.php'); // ####################################################################### // ######################## START MAIN SCRIPT ############################ // ####################################################################### ////////////////////////////////////////////////////////////////////////// // // Instructions // ============ // // Edit the 'ENTER DATABASE INFORMATION' and 'ENTER IMAGE INFORMATION' sections // then edit the 'OUTPUT TEXT' and 'TEXT FORMATTING' sections // ////////////////////////////////////////////////////////////////////////// // #################### ENTER DATABASE INFORMATION ####################### //DB-Servername $host = "localhost"; //DB-Username $user= "jaxen_4xtrader"; //DB-Password $password= "xxxxxxx"; //vbulletin database name $database="jaxen_forum"; //E-Mail Address where MySQL Error Messages are sent to $adminemail = "collb@jaxen.com"; // ###################### ENTER IMAGE INFORMATION ######################### //Width of banner image $width = 425; //Height of banner image $height = 82; //Left text-margin $left = 13; //text-margin from top $top = 70; //Font Size $fontsize = 7; //If you have GD2 or higher set $sgdver to 1, for any older GD version set $sgdver to 0 $sgdver = 1; //If you wish to use a TrueType font set $ttfe to 1, for default php font set $ttfe to 0 $ttfe = 0; //If you wish to use a TrueType font, please enter the location to the .ttf file below $ttff = "verdana.ttf"; //Line-spacing of text $zeilenabstand = 15; //full path to empty signature image (input image) $vorlagedatei = "/home/jaxen/public_html/4xtraders/forum/images/sig.jpg"; //full path to signare image with forum data (output image) $ausgabedatei = "/home/jaxen/public_html/4xtraders/forum/images/signature.jpg"; //Compression of output image $komprimierung = 95; //debug mode $debug = 0; // ######################### DO NOT EDIT BELOW ############################ function mysql_query_eval($query, $database) { $mysql_eval_error=""; $mysql_eval_result = mysql_query($query, $database) or $mysql_eval_error = mysql_error(); if ($mysql_eval_error) { if ( $debug == 1 ) { $letter = "An error was encountered during execution of the query:\n\n"; $letter .= $query."\n\n"; $letter .="The query returned with an errorcode of: \n\n$mysql_eval_error\n\n"; $letter .="To turn this email off set debug=0 in signature.php\n\n"; $email_from = "From: ".$adminemail; $subject="Subject: Signature Error Report"; $subject=trim($subject); mail( $email, $subject, $letter, $email_from ); } elseif ( $debug == 2 ) { dieWell( "MySQL error reported!<p>Query: $query<p>Result: $mysql_eval_error<p>Database handle: $database" ); exit; } return FALSE; } else { return $mysql_eval_result; } } // CONNECTING TO DATABASE $link = mysql_connect ("$host", "$user", "$password") or die ('I cannot connect to the database.'); mysql_select_db ("$database")or die("Could not select database"); // GETTING FORUM MEMBERS $querya="SELECT COUNT(*) AS users, MAX(userid) AS max FROM " . TABLE_PREFIX . "user WHERE usergroupid!=4"; $numa = mysql_query_eval($querya,$link); $numb = mysql_fetch_array($numa); $numbermembers=number_format($numb['users']); mysql_free_result($numa); // GETTING TOTAL MEMBERS ONLINE $datecut = TIMENOW - $vboptions['cookietimeout']; $numbervisible = 0; $numberregistered = 0; $numberguest = 0; $forumusers = $DB_site->query(" SELECT user.username, (user.options & $_USEROPTIONS[invisible]) AS invisible, user.usergroupid, session.userid, session.inforum, session.lastactivity, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid FROM " . TABLE_PREFIX . "session AS session LEFT JOIN " . TABLE_PREFIX . "user AS user ON(user.userid = session.userid) WHERE session.lastactivity > $datecut ORDER BY " . iif($permissions['genericpermissions'] & CANSEEHIDDEN, 'invisible ASC, ') . "username ASC, lastactivity DESC "); if ($bbuserinfo['userid']) { // fakes the user being online for an initial page view of index.php $bbuserinfo['joingroupid'] = iif($bbuserinfo['displaygroupid'], $bbuserinfo['displaygroupid'], $bbuserinfo['usergroupid']); $userinfos = array ( $bbuserinfo['userid'] => array ( 'userid' => $bbuserinfo['userid'], 'username' => $bbuserinfo['username'], 'invisible' => $bbuserinfo['invisible'], 'inforum' => 0, 'lastactivity' => TIMENOW, 'musername' => fetch_musername($bbuserinfo, 'joingroupid') ) ); $numberregistered = 1; $numbervisible = 1; $loggedin = $userinfos["$bbuserinfo[userid]"]; eval('$activeusers = ", ' . fetch_template('forumhome_loggedinuser') . '";'); } else { $userinfos = array(); } $inforum = array(); while ($loggedin = $DB_site->fetch_array($forumusers)) { $userid = $loggedin['userid']; if (!$userid) { // Guest $numberguest++; $inforum["$loggedin[inforum]"]++; } else if (empty($userinfos["$userid"]['lastactivity']) OR ($userinfos["$userid"]['lastactivity'] < $loggedin['lastactivity'])) { $userinfos["$userid"] = $loggedin; $numberregistered++; if ($userid != $bbuserinfo['userid']) { $inforum["$loggedin[inforum]"]++; } $loggedin['musername'] = fetch_musername($loggedin); } } // memory saving $activeusers = substr($activeusers , 2); // get rid of initial comma $DB_site->free_result($loggedins); $totalonline = $numberregistered + $numberguest; ////////////////////////////////////////////////////////////////////////////////////////////////// // GETTING TOTAL POSTS AND THREADS include_once('./includes/functions_forumlist.php'); cache_ordered_forums(1, 0, 0); if (is_array($forumcache)) { foreach ($forumcache AS $forum) { $nthreads += $forum['threadcount']; $nposts += $forum['replycount']; $totalthreads = number_format($nthreads); $totalposts = number_format($nposts); } } // ########################### OUTPUT TEXT ############################### // Use \n\r to make a line break (only for use with truetype font SO FAR) // Will be developed to use with default font soon :) //Output text $output = "Members: $numbermembers Threads: $totalthreads Posts: $totalposts Online: $totalonline"; $vorlage = imagecreatefromjpeg("$vorlagedatei"); if ($sgdver == "1") { $img = imagecreatetruecolor($width,$height); } else { $img = imagecreate($width,$height); } // ########################## TEXT FORMATTING ############################ // A PNG uses ImageColorAllocate instead of ImageColorClosest like jpeg uses //EDIT: Background/Transparency Colour (not really seen) $bg_color = imagecolorallocate ($img, 250, 250, 250); //EDIT: Text Colour $text_color = imagecolorallocate ($img, 19, 36, 161); // ######################### DO NOT EDIT BELOW ############################ imagefilledrectangle ($img, 0, 0, $width, $height, $bg_color); imagecopy ($img, $vorlage, 0, 0, 0, 0, $width, $height); // copy empty banner imagecolortransparent($img, $bg_color); // set dummybg transparent // the distance is in pixels and the font # is 1 through 5 $i = 0; while($i < count($output)){ if ($ttfe == "1") { imagettftext($img, $fontsize, 0, $left, (($i * $zeilenabstand) - $zeilenabstand + $top), $text_color, $ttff, $output); } else { imagestring($img, $fontsize, $left, (($i * $zeilenabstand) - $zeilenabstand + $top), $output, $text_color); } $i++; } header("Content-Type: image/png"); imagepng($img); imagejpeg($img, "$ausgabedatei",$komprimierung); //Write jpg to folder and set compression imagedestroy($img); // get the image out of memory ?> PS... I do have my sig active in my sig file now (http://www.4xtraders.com/forum/signature.php) |
#318
|
||||
|
||||
Double check all the loactions you have entered and make sure all the images are in the correct location.
Also, make sure the images are chmod to 777 |
#319
|
||||
|
||||
ok.... I can get the stats with all the words working, but the actual picture that I am using isn't showing up. If I go to www.4xtraders.com/forum/signature.php I don't get any errors. I have double checked and both pictures are chmod to 777
|
#320
|
||||
|
||||
OK, try changing
$sgdver = 1; to $sgdver = 0; |
#321
|
||||
|
||||
ok... I have done that but nothing happened. Could you please take a look at my code and let me know if I have missed/done something wrong. I have checked with my host and I am running gd 2.01. (though below I still have it set to '0' in the script.
Code:
<?php // ####################################################################### // ####################################################################### // ## ## // ## SIGNATURE STATS V3.04 ## // ## ---------------------------- ## // ## By Dan Ward ## // ## www.collegepranks.co.uk ## // ## ## // ####################################################################### // ####################################################################### // ########### developed from tkeil69575's script for 2.3.x ############## // ####################### SET PHP ENVIRONMENT ########################### error_reporting(E_ALL & ~E_NOTICE); // #################### DEFINE IMPORTANT CONSTANTS ####################### define('NO_REGISTER_GLOBALS', 1); define('THIS_SCRIPT', 'sig_stats'); // ######################### REQUIRE BACK-END ############################ require_once('./global.php'); // ####################################################################### // ######################## START MAIN SCRIPT ############################ // ####################################################################### ////////////////////////////////////////////////////////////////////////// // // Instructions // ============ // // Edit the 'ENTER DATABASE INFORMATION' and 'ENTER IMAGE INFORMATION' sections // then edit the 'OUTPUT TEXT' and 'TEXT FORMATTING' sections // ////////////////////////////////////////////////////////////////////////// // #################### ENTER DATABASE INFORMATION ####################### //DB-Servername $host = "localhost"; //DB-Username $user= "jaxen_4xtrader"; //DB-Password $password= "xxxxx"; //vbulletin database name $database="jaxen_forum"; //E-Mail Address where MySQL Error Messages are sent to $adminemail = "collb@jaxen.com"; // ###################### ENTER IMAGE INFORMATION ######################### //Width of banner image $width = 425; //Height of banner image $height = 82; //Left text-margin $left = 13; //text-margin from top $top = 70; //Font Size $fontsize = 7; //If you have GD2 or higher set $sgdver to 1, for any older GD version set $sgdver to 0 $sgdver = 0; //If you wish to use a TrueType font set $ttfe to 1, for default php font set $ttfe to 0 $ttfe = 0; //If you wish to use a TrueType font, please enter the location to the .ttf file below $ttff = "verdana.ttf"; //Line-spacing of text $zeilenabstand = 15; //full path to empty signature image (input image) $vorlagedatei = "/home/jaxen/public_html/4xtraders/forum/images/sig.jpg"; //full path to signare image with forum data (output image) $ausgabedatei = "/home/jaxen/public_html/4xtraders/forum/images/signature.jpg"; //Compression of output image $komprimierung = 95; //debug mode $debug = 0; // ######################### DO NOT EDIT BELOW ############################ function mysql_query_eval($query, $database) { $mysql_eval_error=""; $mysql_eval_result = mysql_query($query, $database) or $mysql_eval_error = mysql_error(); if ($mysql_eval_error) { if ( $debug == 1 ) { $letter = "An error was encountered during execution of the query:\n\n"; $letter .= $query."\n\n"; $letter .="The query returned with an errorcode of: \n\n$mysql_eval_error\n\n"; $letter .="To turn this email off set debug=0 in signature.php\n\n"; $email_from = "From: ".$adminemail; $subject="Subject: Signature Error Report"; $subject=trim($subject); mail( $email, $subject, $letter, $email_from ); } elseif ( $debug == 2 ) { dieWell( "MySQL error reported!<p>Query: $query<p>Result: $mysql_eval_error<p>Database handle: $database" ); exit; } return FALSE; } else { return $mysql_eval_result; } } // CONNECTING TO DATABASE $link = mysql_connect ("$host", "$user", "$password") or die ('I cannot connect to the database.'); mysql_select_db ("$database")or die("Could not select database"); // GETTING FORUM MEMBERS $querya="SELECT COUNT(*) AS users, MAX(userid) AS max FROM " . TABLE_PREFIX . "user WHERE usergroupid!=4"; $numa = mysql_query_eval($querya,$link); $numb = mysql_fetch_array($numa); $numbermembers=number_format($numb['users']); mysql_free_result($numa); // GETTING TOTAL MEMBERS ONLINE $datecut = TIMENOW - $vboptions['cookietimeout']; $numbervisible = 0; $numberregistered = 0; $numberguest = 0; $forumusers = $DB_site->query(" SELECT user.username, (user.options & $_USEROPTIONS[invisible]) AS invisible, user.usergroupid, session.userid, session.inforum, session.lastactivity, IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid FROM " . TABLE_PREFIX . "session AS session LEFT JOIN " . TABLE_PREFIX . "user AS user ON(user.userid = session.userid) WHERE session.lastactivity > $datecut ORDER BY " . iif($permissions['genericpermissions'] & CANSEEHIDDEN, 'invisible ASC, ') . "username ASC, lastactivity DESC "); if ($bbuserinfo['userid']) { // fakes the user being online for an initial page view of index.php $bbuserinfo['joingroupid'] = iif($bbuserinfo['displaygroupid'], $bbuserinfo['displaygroupid'], $bbuserinfo['usergroupid']); $userinfos = array ( $bbuserinfo['userid'] => array ( 'userid' => $bbuserinfo['userid'], 'username' => $bbuserinfo['username'], 'invisible' => $bbuserinfo['invisible'], 'inforum' => 0, 'lastactivity' => TIMENOW, 'musername' => fetch_musername($bbuserinfo, 'joingroupid') ) ); $numberregistered = 1; $numbervisible = 1; $loggedin = $userinfos["$bbuserinfo[userid]"]; eval('$activeusers = ", ' . fetch_template('forumhome_loggedinuser') . '";'); } else { $userinfos = array(); } $inforum = array(); while ($loggedin = $DB_site->fetch_array($forumusers)) { $userid = $loggedin['userid']; if (!$userid) { // Guest $numberguest++; $inforum["$loggedin[inforum]"]++; } else if (empty($userinfos["$userid"]['lastactivity']) OR ($userinfos["$userid"]['lastactivity'] < $loggedin['lastactivity'])) { $userinfos["$userid"] = $loggedin; $numberregistered++; if ($userid != $bbuserinfo['userid']) { $inforum["$loggedin[inforum]"]++; } $loggedin['musername'] = fetch_musername($loggedin); } } // memory saving $activeusers = substr($activeusers , 2); // get rid of initial comma $DB_site->free_result($loggedins); $totalonline = $numberregistered + $numberguest; ////////////////////////////////////////////////////////////////////////////////////////////////// // GETTING TOTAL POSTS AND THREADS include_once('./includes/functions_forumlist.php'); cache_ordered_forums(1, 0, 0); if (is_array($forumcache)) { foreach ($forumcache AS $forum) { $nthreads += $forum['threadcount']; $nposts += $forum['replycount']; $totalthreads = number_format($nthreads); $totalposts = number_format($nposts); } } // ########################### OUTPUT TEXT ############################### // Use \n\r to make a line break (only for use with truetype font SO FAR) // Will be developed to use with default font soon :) //Output text $output = "Members: $numbermembers Threads: $totalthreads Posts: $totalposts Online: $totalonline"; $vorlage = imagecreatefromjpeg("$vorlagedatei"); if ($sgdver == "1") { $img = imagecreatetruecolor($width,$height); } else { $img = imagecreate($width,$height); } // ########################## TEXT FORMATTING ############################ // A PNG uses ImageColorAllocate instead of ImageColorClosest like jpeg uses //EDIT: Background/Transparency Colour (not really seen) $bg_color = imagecolorallocate ($img, 250, 250, 250); //EDIT: Text Colour $text_color = imagecolorallocate ($img, 19, 36, 161); // ######################### DO NOT EDIT BELOW ############################ imagefilledrectangle ($img, 0, 0, $width, $height, $bg_color); imagecopy ($img, $vorlage, 0, 0, 0, 0, $width, $height); // copy empty banner imagecolortransparent($img, $bg_color); // set dummybg transparent // the distance is in pixels and the font # is 1 through 5 $i = 0; while($i < count($output)){ if ($ttfe == "1") { imagettftext($img, $fontsize, 0, $left, (($i * $zeilenabstand) - $zeilenabstand + $top), $text_color, $ttff, $output); } else { imagestring($img, $fontsize, $left, (($i * $zeilenabstand) - $zeilenabstand + $top), $output, $text_color); } $i++; } header("Content-Type: image/png"); imagepng($img); imagejpeg($img, "$ausgabedatei",$komprimierung); //Write jpg to folder and set compression imagedestroy($img); // get the image out of memory ?> Coll |
#322
|
||||
|
||||
You need to actually put a pic on your sig.jpg file! You have probably got confused between the two... the sig.jpg file needs to be the one with the background image.
|
#323
|
||||
|
||||
ok one step closer.... I get the right picture to load, but it looses it real color which should be like the attachment
|
#324
|
||||
|
||||
hehe, now u need to change
$sgdver = 0; to $sgdver = 1; |
#325
|
||||
|
||||
YES.... that did it... THANK YOU SO MUCH for taking the time to help me get this right. I will just have to play around to get the stats where I want them to be.... any hints? I will in the end use a font, so I should get that uploaded first I would think.
Once again ty so much Coll |
#326
|
||||
|
||||
Not realy, you just have to play around until u get the right look
|
#327
|
||||
|
||||
ok will do... what are the steps to have this as a cron job? Oh... is there a way that I can have this displayed in a normal email?
For using a font I show the full path just like the sig.jpg? |
#328
|
||||
|
||||
What you need it as a cron for? It auto updates when the image sis loaded...
|
#329
|
||||
|
||||
Quote:
NOTE: This does add a guest to your online users section as somebody views the signature, so the best thing to do, is add a cron task (not sure how) to call the script every 15 minutes or so, then use this bbcode: http://www.yourdomain.com/sigfolder/signature.jpg Plus I would also like to use in my emails as a jpg file.... if this is what happens. (that from the cron it 'makes' a jpg file) |
#330
|
||||
|
||||
hmmm I do remember that now... A cron shouldnt be hard to write for it...
|
#331
|
||||
|
||||
Could someone help me out with exactly I need to do, I have never done one before and I wouldn't know what to tell it.
Just so I understand the purpose of it.... a cron with create a jpg of my sig every 15 minutes (or what ever amount I tell it) and place it in a folder that it is told..... I would think that doing this would be much better then having the php script create it at every time (server load?) So any direction will help, or post what ones you use. I would like it to be used with my CPanel (if that matters) Thanks in advance Coll |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|