[ERLEDIGT] Signatur in Profil

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
killerbees19
Mitglied
Beiträge: 1185
Registriert: 09.05.2006 17:33
Wohnort: Wien (Österreich)
Kontaktdaten:

[ERLEDIGT] Signatur in Profil

Beitrag von killerbees19 »

Ich habe eine kurze Erweiterung von einem anderen MOD genommen, damit die Signatur im Profil angezeigt wird.
Jedoch wird die Signatur auch angezeigt, wenn der User keine hat.

Wie schaffe ich es, dass die Signatur nicht angezeigt wird, oder ein alternativer Text steht, wie "Der Benutzer hat keine Signatur" angezeitg wird?

Hier der Auszug des PHP-Codes:
includes/usercp_viewprofil.php

Code: Alles auswählen

if ( $profiledata['user_attachsig'] && $board_config['allow_sig'] )
{
	include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
	$user_sig = $profiledata['user_sig'];
	$user_sig_bbcode_uid = $profiledata['user_sig_bbcode_uid'];
	if ( $user_sig != '' )
	{
		if ( !$board_config['allow_html'] && $profiledata['user_allowhtml'] )
		{
			$user_sig = preg_replace('#(<)([\/]?.*?)(>)#is', "<\\2>", $user_sig);
		}

		if ( $board_config['allow_bbcode'] && $user_sig_bbcode_uid != '' )
		{
			$user_sig = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($user_sig, $user_sig_bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $user_sig);
		}

		$user_sig = make_clickable($user_sig);

		if ( !$userdata['user_allowswearywords'] )
		{
			$orig_word = !empty($orig_word) ? $orig_word : array();
			$replacement_word = !empty($replacement_word) ? $replacement_word : array();
			obtain_word_list($orig_word, $replacement_word);
			$user_sig = preg_replace($orig_word, $replacement_word, $user_sig);
		}

		if ( $profiledata['user_allowsmile'] )
		{
			$user_sig = smilies_pass($user_sig);
		}

		$user_sig = str_replace("\n", "\n<br />\n", $user_sig);
	}

	$template->assign_block_vars('switch_user_sig_block', array());
}
Im Template ist der Signatur-Teil natürlich durch die üblichen Kommentare eingehüllt, damit er geblockt werden kann.

Das Problem: Wenn ein User eingestellt hat "Signatur immer anhängen", dann wird der Signaturteil ausgegeben, auch wenn der Benutzer keine hat.
Wenn der Benutzer es anders im profil eingestellt hat, dann wird die Signatur schön geblockt.


Bitte um Tipps.


MfG Christian
Zuletzt geändert von killerbees19 am 09.09.2006 11:18, insgesamt 1-mal geändert.
» Real programmers don't comment. If it was hard to write, it should be hard to understand!
Benutzeravatar
faux
Mitglied
Beiträge: 59
Registriert: 29.03.2005 20:57
Kontaktdaten:

Beitrag von faux »

Hallo!

Probiers mal so:

Code: Alles auswählen

    if ( $user_sig != '' )
    {
      ... SIEHE OBEN ...
    }
    else
    {
        $user_sig = $lang['User_has_no_sig'];
    }
Und dann in die language/lang_english/lang_main.php
am Ende $lang['User_has_no_sig'] = 'This user has no signature.'; einfügen.

Grüße
Faux
Benutzeravatar
killerbees19
Mitglied
Beiträge: 1185
Registriert: 09.05.2006 17:33
Wohnort: Wien (Österreich)
Kontaktdaten:

Beitrag von killerbees19 »

:grin: Danke.
Jetzt ist zwar der Signaturbereich nicht weg, wenn jemand kein hat, aber es sieht schon etwas besser aus.

MfG Christian
» Real programmers don't comment. If it was hard to write, it should be hard to understand!
Benutzeravatar
faux
Mitglied
Beiträge: 59
Registriert: 29.03.2005 20:57
Kontaktdaten:

Beitrag von faux »

killerbees19 hat geschrieben:Jetzt ist zwar der Signaturbereich nicht weg, wenn jemand kein hat
Na das geht noch einfacher. ;)

In deinem gepostetem Code, die Zeile

Code: Alles auswählen

$template->assign_block_vars('switch_user_sig_block', array());
mit der vorletzen Klammer (also der Klammer direkt vor dieser Zeile) austauschen:

Code: Alles auswählen

if ( $profiledata['user_attachsig'] && $board_config['allow_sig'] )
{
  ... SIEHE OBEN ...
  if ( $user_sig != '' )
  {
    ... SIEHE OBEN ...
    $template->assign_block_vars('switch_user_sig_block', array());
  }
}
Grüße
Faux
Benutzeravatar
killerbees19
Mitglied
Beiträge: 1185
Registriert: 09.05.2006 17:33
Wohnort: Wien (Österreich)
Kontaktdaten:

Beitrag von killerbees19 »

:lol: So gehts auch.
Thanks...


MfG Christian
» Real programmers don't comment. If it was hard to write, it should be hard to understand!
Antworten

Zurück zu „Coding & Technik“