Seite 1 von 3

Statistic in Signature SiS_107d - Signatur nur als BBCode

Verfasst: 14.05.2005 18:49
von Valerie Raghnall
Ich hab grade auf einem Board den "Mod" von esperitox "eingebaut", der mit Hilfe einer PNG Datei eine kleine Forenstatistik anzeigen sollte. Nun hab ich das Ding in die Signatur des Board Admins gepackt und angezeigt wird nur der BB Code. Woran könnte das liegen und wie kann ich das korrigieren?

Könnte es sein, dass meine Dateien unvollständig sind und da doch mehr nötig ist, als die signature.php und die signature.png auf den server zu packen?

Verfasst: 14.05.2005 18:55
von yen
Nein, das liegt daran, das PHPbb .php nicht als Bildendung anerkennt ^^

Verfasst: 14.05.2005 19:08
von Valerie Raghnall
naja, aber auf dem anderen board läuft es einwandfrei... is der selbe server... nur da wo's nicht läuft isses ne neuere boardversion... *am kopf kratz*

Verfasst: 15.05.2005 13:41
von Valerie Raghnall
Also... kann mir wer sagen, was ich tun muss, damit mein 2.0.15 Phpbb Board diese Signatur anzeigt? Wäre wirklich toll...

Und vielleicht kann mir ja auch wer sagen, was ich in der dazugehörigen php datei machen muss um nicht den letzten neuen thread, sondern den letzten aktiven thread anzeigen zu lassen auf dem ding.

Bitte danke :)

Verfasst: 16.05.2005 00:31
von Valerie Raghnall
Sooo... ne Lösung gefunden :)

für den fall dass es noch jemand interessiert, pack ich das hier rein :)

Mein Dank dafür gilt sonyboy vom "Schwesternforum" auf www.phpbb.com


1. Create a folder call sig.gif in your forum root.
2. Move file signature.php to sig.gif folder.
3. Rename signature.php to index.php
4. Open that index.php then find:

Code: Alles auswählen

$phpbb_root_path = './'; 
Then replace with:

Code: Alles auswählen

$phpbb_root_path = '../'; 
Next find:

Code: Alles auswählen

$image = "images/signature.png"; 
Then replace with:

Code: Alles auswählen

$image = "../images/signature.png"; 
Save it & done.

5. Access to profile page on your forum, then change the signature code to

Code: Alles auswählen

[img]http://www.YOURSITE.com/FORUM/sig.gif[/img] 
And that's it!

Verfasst: 24.05.2005 19:25
von Valerie Raghnall
Was mir grade auffällt... ich hab da ja immer noch eine Frage... vielleicht kann mir diesbezüglich jemand helfen?
Valerie Raghnall hat geschrieben:Und vielleicht kann mir ja auch wer sagen, was ich in der dazugehörigen php datei machen muss um nicht den letzten neuen thread, sondern den letzten aktiven thread anzeigen zu lassen auf dem ding.

Bitte danke :)

Verfasst: 25.05.2005 19:27
von Valerie Raghnall
So sieht der gesamte Code aus:

Code: Alles auswählen

<?php

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

// Get basic (usernames + totals) online
// situation
//
$user_forum_sql = ( !empty($forum_id) ) ? "AND s.session_page = " . intval($forum_id) : '';
$sql = "SELECT u.username, u.user_id, s.session_logged_in, s.session_ip
	FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s
	WHERE u.user_id = s.session_user_id
		AND s.session_time >= ".( time() - 300 ) . "
		$user_forum_sql
	ORDER BY u.username ASC, s.session_ip ASC";
if( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not obtain user/online information', '', __LINE__, __FILE__, $sql);
}

$logged_online = 0;
$prev_user_id = 0;

while( $row = $db->sql_fetchrow($result) )
{
	// User is logged in and therefor not a guest
	if ( $row['session_logged_in'] )
	{
		// Skip multiple sessions for one user
		if ( $row['user_id'] != $prev_user_id )
		{
				$logged_online++;
		}

		$prev_user_id = $row['user_id'];
	}
}

$sql = 'SELECT max(topic_id)
FROM ' . TOPICS_TABLE;

if ( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Couldn\'t retrieve max of Topic_id data', '', __LINE__, __FILE__, $sql);
}

while ( $row = $db->sql_fetchrow($result))
{
	$max_topic_id = $row['max(topic_id)'];
}
$sql = 'SELECT topic_title
FROM ' . TOPICS_TABLE . '
WHERE topic_id = ' . $max_topic_id;

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'];
}

$image = "images/signature.png";
$im = imagecreatefrompng($image);
$tc  = ImageColorAllocate ($im, 176, 176, 176);
$red  = ImageColorAllocate ($im, 225, 0, 0);
$white  = ImageColorAllocate ($im, 225, 225, 225);
$sitename = $board_config['sitename'];
$total_users = get_db_stat('usercount');
$total_posts = get_db_stat('postcount');
$total_topics = get_db_stat('topiccount');
$j = strlen($total_users);
$leerzeichen = $j*6+237;
$newest_userdata = get_db_stat('newestuser');
$newest_user = $newest_userdata['username'];
ImageString($im, 3, 148, 2, "Forum Statistik @", $tc);
ImageString($im, 3, 278, 2, "$sitename", $white);
ImageString($im, 2, 148, 15, "Mitglieder: $total_users - ", $tc);
ImageString($im, 2, $leerzeichen, 15, "Online: $logged_online", $red);
ImageString($im, 2, 148, 25, "Letztes Thema:", $tc);
ImageString($im, 2, 238, 25, "$latest_topic", $white);
ImageString($im, 2, 148, 35, "Gepostet: $total_posts Beiträge in $total_topics Themen", $tc);
ImageString($im, 2, 148, 45, "Unser neuestes Mitglied:", $tc);
ImageString($im, 2, 298, 45, "$newest_user", $white);
header("Content-Type: image/png");
Imagepng($im,'',100);
ImageDestroy ($im);
?>
und das hier will ich ändern:

Code: Alles auswählen

ImageString($im, 2, 148, 25, "Letztes Thema:", $tc);
ImageString($im, 2, 238, 25, "$latest_topic", $white);
gehört da $latest_reply hin, wenn ich statt dem letzten neuen topic das letzte aktive Topic dort haben will oder was anderes? PLZ Help *liebgugg*

Verfasst: 26.05.2005 01:47
von easygo
Valerie Raghnall hat geschrieben:gehört da $latest_reply hin, wenn ich statt dem letzten neuen topic das letzte aktive Topic dort haben will oder was anderes?
Hi, ich unterbreche Monologe echt ungern, aber $latest_reply ??

Du kannst nur Variablen verwenden, die auch
vorher irgendwo definiert worden sind.

Um das Thema mit dem letzten Post anzuzeigen
übernimm die folgende Änderung...

Code: Alles auswählen

#
#-----[ OPEN ]------------------------------------------
#
signature.php

#
#-----[ FIND ]------------------------------------------
#
$sql = 'SELECT max(topic_id) 
FROM ' . TOPICS_TABLE; 

if ( !($result = $db->sql_query($sql)) ) 
{ 
   message_die(GENERAL_ERROR, 'Couldn\'t retrieve max of Topic_id data', '', __LINE__, __FILE__, $sql); 
} 

while ( $row = $db->sql_fetchrow($result)) 
{ 
   $max_topic_id = $row['max(topic_id)']; 
} 
$sql = 'SELECT topic_title 
FROM ' . TOPICS_TABLE . ' 
WHERE topic_id = ' . $max_topic_id; 

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']; 
} 

#
#-----[ REPLACE WITH ]------------------------------------------
#
$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
	AND f.auth_view < 2
	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'];
}

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
Btw: Schön zu lesen, dass dir unsere Version SiS_107d
von Statistics in Signature nen Download wert war...

aber "den gesamten Code" les ich hier net so gern! easy

Verfasst: 26.05.2005 11:22
von Valerie Raghnall
Sorry, wollte niemanden verärgern. Man muss allerdings ja sowieso für das Wissen um die ganze Sache noch den Rest von dem Ding haben, denk ich mal. Dennoch, tut mir leid. Und danke für die Antwort... zumindest dafür war's gut... dass jemand auf meine Frage aufmerksam wurde :). Funktioniert einwandrei *sich freut*

Verfasst: 20.06.2005 21:11
von cylon
Hallo, funzt bei mir auch alles Perfekt.
hab aber noch ne Frage, wo kann ich einstellen das er die Topictitel nicht abkürzt? Da steht zB.: blabl...
möchte das da blabla steht. thx
gruß