vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.0 Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=33)
-   -   Signature Stats v3.04 (https://vborg.vbsupport.ru/showthread.php?t=65361)

DWard 09-20-2004 11:47 AM

It's easy anough, I'm sure. I will take a look at some stage.

cteselle 09-20-2004 04:57 PM

Great hack! Thanks!

*clicks install

nnjj.net 09-22-2004 05:03 PM

is there any chance that any one can get the DB. info., because the signature.php file will be under the root not under admincp to be protected

Osterling 09-22-2004 07:55 PM

Quote:

Fatal error: Call to undefined function: imagecreatefromjpeg() in /home/username;)/public_html/signature.php on line 228
i get that error when i try to run it.. :confused:

Natch 09-22-2004 10:07 PM

Quote:

Originally Posted by nnjj.net
is there any chance that any one can get the DB. info., because the signature.php file will be under the root not under admincp to be protected

Not a chance unless you let people into your site via FTP...

traderx 09-23-2004 05:26 AM

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
?>

Any help for this rookie would be great.

PS... I do have my sig active in my sig file now
(http://www.4xtraders.com/forum/signature.php)

DWard 09-23-2004 12:01 PM

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

traderx 09-23-2004 04:15 PM

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

DWard 09-23-2004 04:51 PM

OK, try changing

$sgdver = 1;

to

$sgdver = 0;

traderx 09-23-2004 05:09 PM

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
?>

Thank you
Coll


All times are GMT. The time now is 09:12 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01431 seconds
  • Memory Usage 1,866KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_code_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (2)pagenav_pagelinkrel
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete