Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.39 veröffentlicht (02.06.25)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Wunsch: Realname im Profil und Username nur zum einloggen
#21
Ich finde es gut, dass du die Lösung postest.
Hier eine Lösung für die Zitat:
newreply.php:
Ersetze:
PHP-Code:
$query = $db->query("
SELECT p.subject, p.message, p.pid, p.tid, p.username, u.username AS userusername
FROM "
.TABLE_PREFIX."posts p
LEFT JOIN "
.TABLE_PREFIX."threads t ON (t.tid=p.tid)
LEFT JOIN "
.TABLE_PREFIX."users u ON (u.uid=p.uid)
WHERE p.pid IN (
$quoted_posts) {$unviewable_forums} {$visible_where}
"
);
durch:
PHP-Code:
$query = $db->query("
SELECT p.subject, p.message, p.pid, p.tid, p.username, u.username AS userusername, f.*
FROM "
.TABLE_PREFIX."posts p
LEFT JOIN "
.TABLE_PREFIX."threads t ON (t.tid=p.tid)
LEFT JOIN "
.TABLE_PREFIX."users u ON (u.uid=p.uid)
LEFT JOIN "
.TABLE_PREFIX."userfields f ON (f.ufid=u.uid)
WHERE p.pid IN (
$quoted_posts) {$unviewable_forums} {$visible_where}
"
);
Füge nach:
PHP-Code:
if($quoted_post['userusername'])
{
$quoted_post['username'] = $quoted_post['userusername'];
}
das ein:
PHP-Code:
$quoted_post['username'] = "{$quoted_post['fid4']} {$quoted_post['fid5']}";
fidx wie immer anpassen. Wink
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#22
Danke Dragon,
werde ich gleich mal ausprobieren. Mir fallen immer mehr Stellen auf, an denen ich den Nick mit dem Realnamen austauschen möchte ...
Hier eine Lösung für die Willkommensmeldung "Willkommen zurück, XXX"
global.php ca. Zeile 250
PHP-Code:
// Format the welcome back message
//********************************************************************************
// Welcome back hack (quick and dirty)
$namenuserid = $mybb->user['uid'];
$query = $db->query("SELECT f.* FROM ".TABLE_PREFIX."userfields f
WHERE f.ufid= '
$namenuserid'
LIMIT 1
"
);
$ganzername = $db->fetch_array($query);
$my_user_welcome = "{$ganzername['fid4']} {$ganzername['fid5']}";
//******************************************************************************
$lang->welcome_back = sprintf($lang->welcome_back, $my_user_welcome, $lastvisit);
// $lang->welcome_back = sprintf($lang->welcome_back, $mybb->user['username'], $lastvisit);

fidx nicht vergessen Wink
Zitieren
#23
Arakel schrieb:Danke Dragon,
werde ich gleich mal ausprobieren. Mir fallen immer mehr Stellen auf, an denen ich den Nick mit dem Realnamen austauschen möchte ...
Hier eine Lösung für die Willkommensmeldung "Willkommen zurück, XXX"
global.php ca. Zeile 250
PHP-Code:
// Format the welcome back message
//********************************************************************************
// Welcome back hack (quick and dirty)
$namenuserid = $mybb->user['uid'];
$query = $db->query("SELECT f.* FROM ".TABLE_PREFIX."userfields f
WHERE f.ufid= '
$namenuserid'
LIMIT 1
"
);
$ganzername = $db->fetch_array($query);
$my_user_welcome = "{$ganzername['fid4']} {$ganzername['fid5']}";
//******************************************************************************
$lang->welcome_back = sprintf($lang->welcome_back, $my_user_welcome, $lastvisit);
// $lang->welcome_back = sprintf($lang->welcome_back, $mybb->user['username'], $lastvisit);

fidx nicht vergessen Wink
Das geht einfacher. Beim eigenen Namen werden die Daten schon gleich geladen. Also sollte $mybb->user['fid4'] schon gehen.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#24
Danke Dragon,
du hast Recht:
PHP-Code:
$lang->welcome_back = sprintf($lang->welcome_back, $mybb->user['fid4']." ".$mybb->user['fid5'], $lastvisit);
in der global.php reicht völlig aus :-)

Deine Zitatlösung funktioniert. Nur zwei Anmerkungen:
Code ist nicht in newthread.php sondern newreply.php
und anstelle
PHP-Code:
$quoted_post['username'] = "{$user['fid4']} {$user['fid5']}";
einzufügen, sollte es besser heißen
PHP-Code:
$quoted_post['username'] = "{$quoted_post['fid4']} {$quoted_post['fid5']}";

Aber geht, danke dafür. So, jetzt zum nächsten Problem …. Big Grin
Zitieren
#25
Danke, ich habe es korrigiert.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#26
So, geht weiter Big Grin :

In der Profilansicht der User jegliches Vorkommen vom Nick ersetzen:
member.php ca. Zeile 1020
PHP-Code:
$query = $db->simple_select(TABLE_PREFIX."users", "*", "uid='$uid'");
$memprofile = $db->fetch_array($query);

//******************************************************************************
// Anzeige des ganzen Namens
$namenuserid = $memprofile['uid'];
$query = $db->query("SELECT f.* FROM ".TABLE_PREFIX."userfields f
WHERE f.ufid= '
$namenuserid'
LIMIT 1
"
);
$ganzername = $db->fetch_array($query);
$memprofile['username'] = "{$ganzername['fid4']} {$ganzername['fid5']}";
//******************************************************************************


if(!$memprofile['uid'])

In Threadübersicht den Name des Verfassers
forumdisplay.php ca. Zeile 510:
PHP-Code:
//*********************************************************************************
// Start Getting Threads
$query = $db->query("
SELECT t.*,
$ratingadd t.username AS threadusername, u.username, f.*
FROM "
.TABLE_PREFIX."threads t
LEFT JOIN "
.TABLE_PREFIX."users u ON (u.uid = t.uid)
LEFT JOIN "
.TABLE_PREFIX."userfields f ON (f.ufid = u.uid)
WHERE t.fid='
$fid' $visibleonly $datecutsql
ORDER BY t.sticky DESC,
$sortfield $sortordernow $sortfield2
LIMIT
$start, $perpage
"
);
while(
$thread = $db->fetch_array($query))

weiter unten:
PHP-Code:
else
{
$thread_autor_name = "{$thread['fid4']} {$thread['fid5']}";
$thread['profilelink'] = build_profile_link($thread_autor_name, $thread['uid']);
}

ggf. die Schriftgröße anpassen:
ACP - Templates - Ändern / Entfernen - Forenanzeige Templates - forumdisplay_thread:
PHP-Code:
<td align="center" class="{$bgcolor}"><span class="smalltext">{$thread['profilelink']}</span></td>

und ggf. fidx anpassen nicht vergessen.

Grüße
Andreas Cool
Zitieren
#27
Schönen guten Abend Smile
Jetzt geht es weiter mit der Anzeige von Vor- und Nachname in der Threadübersicht hinter "Moderiert von:"
in forumdisplay.php ca. Zeile 85:
PHP-Code:
//****************************************************************************************************
// Abfrage Moderatoreninfos
// Get the forum moderators if the setting is enabled.
if($mybb->settings['modlist'] != "off")
{
$query = $db->query("
SELECT m.uid, m.fid, u.username, u.usergroup, u.displaygroup, f.*
FROM "
.TABLE_PREFIX."moderators m
LEFT JOIN "
.TABLE_PREFIX."users u ON (m.uid=u.uid)
LEFT JOIN "
.TABLE_PREFIX."userfields f ON (f.ufid = u.uid)
ORDER BY u.username
"
);

und weiter unten ca. Zeile 150:
PHP-Code:
//*********************************************************************************
// Anzeige Vor- und Nachname in Threadübersicht "Moderiert von"
reset($moderatorcache[$mfid]);
foreach(
$moderatorcache[$mfid] as $moderator)
{
$moderator['username'] = "{$moderator['fid4']} {$moderator['fid5']}";
$moderator['username'] = format_name($moderator['username'], $moderator['usergroup'], $moderator['displaygroup']);
wie immer ggf. fidx anpassen nicht vergessen.
Zitieren
#28
Email Vor- und Nachname im To-Feld: Member.php ca. Zeile 1400
PHP-Code:
$query = $db->simple_select(TABLE_PREFIX."users", "username, hideemail", "uid='".intval($mybb->input['uid'])."'");
$emailto = $db->fetch_array($query);
//*****************************************************************
// MOD
$userid_empfaenger = intval ($mybb->input['uid']);
$query = $db->query("SELECT f.* FROM ".TABLE_PREFIX."userfields f WHERE f.ufid= '$userid_empfaenger'");
$empfaenger = $db->fetch_array($query);
//*****************************************************************
Einfach nur den Code hinzufügen.

ACP - Templates - Mitglieder Templates - member_emailuser
bestehendes Feld mit type="hidden" verstecken und ein neues Feld hinzufügen:
PHP-Code:
<input type="hidden" class="textbox" size="50" name="touser" value="{$emailto['username']}" readonly/>
<
input type="text" class="textbox" size="50" name="empfaenger" value="{$empfaenger['fid4']} {$empfaenger['fid5']}" readonly/>
Das readonly ist Geschackssache, meine User sollen den Namen nicht verändern dürfen.
Zitieren
#29
Liste: Wer ist Online? [Vollständige Liste]
online.php ca. Zeile 140:
PHP-Code:
$timesearch = time() - $mybb->settings['wolcutoffmins']*60;
$query = $db->query("
SELECT DISTINCT s.sid, s.ip, s.uid, s.time, s.location, u.username, s.nopermission, u.invisible, u.usergroup, u.displaygroup, f.*
FROM "
.TABLE_PREFIX."sessions s
LEFT JOIN "
.TABLE_PREFIX."users u ON (s.uid=u.uid)
LEFT JOIN "
.TABLE_PREFIX."userfields f ON (f.ufid = u.uid)
WHERE s.time>'
$timesearch'
ORDER BY
$sql
"
);
$membercount = 0;
$guestcount = 0;
$anoncount = 0;
while(
$user = $db->fetch_array($query))

ca. Zeile 630:
PHP-Code:
$invisiblemark = '';
}
//****************************************************************************************
// Anzeige Onlineuser Vor- und Nachname

$user['username'] = "{$user['fid4']} {$user['fid5']}";
//*******************************************************************************************
$user['username'] = format_name($user['username'], $user['usergroup'], $user['displaygroup']);
$onlinename = build_profile_link($user['username'], $user['uid']).$invisiblemark;

Anzeige „Wer war heute online“
wieder online.php ca. Zeile 50:
PHP-Code:
$query = $db->query("
SELECT u.*, f.*
FROM "
.TABLE_PREFIX."users u
LEFT JOIN "
.TABLE_PREFIX."usergroups g ON (g.gid=u.usergroup)
LEFT JOIN "
.TABLE_PREFIX."userfields f ON (f.ufid = u.uid)
WHERE u.lastactive >
$stime
ORDER BY u.lastactive DESC
"
);
while(
$online = $db->fetch_array($query))
und etwas weiter unten:
PHP-Code:
$username = "{$online['fid4']} {$online['fid5']}";
// $username = $online['username'];
$username = format_name($username, $online['usergroup'], $online['displaygroup']);

Anpasser der fidx nicht vergessen
Zitieren
#30
Anzeige Vor- und Nachname Empfänger in Privaten Nachrichten:
privat.php ca. 310:
PHP-Code:
elseif($mybb->input['do'] == "reply")
{
$subject = "Re: $subject";
$uid = $pm['fromid'];
$query = $db->simple_select(TABLE_PREFIX."users", "username", "uid='".$uid."'");
$user = $db->fetch_array($query);
$to = htmlspecialchars_uni($user['username']);
// ***************************************************************************************************************
// Vor- und Nachname in PN-Senden weiterleiten oder antworten
$userid_empfaenger = $uid;
$query = $db->query("SELECT f.* FROM ".TABLE_PREFIX."userfields f WHERE f.ufid= '$userid_empfaenger'");
$mein_user = $db->fetch_array($query);
$mein_user_to = $mein_user['fid4']." ".$mein_user['fid5'];
$mein_to = htmlspecialchars_uni($mein_user_to);
//*****************************************************************************************************************
}
}
}
// New PM with recipient preset
if($mybb->input['uid'] && !$mybb->input['preview'])
{
$query = $db->simple_select(TABLE_PREFIX."users", "username", "uid='".intval($mybb->input['uid'])."'");
$user = $db->fetch_array($query);
$to = htmlspecialchars_uni($user['username']);
// ***************************************************************************************************************
// Vor- und Nachname in PN-Senden neue Nachricht
$userid_empfaenger = intval($mybb->input['uid']);
$query = $db->query("SELECT f.* FROM ".TABLE_PREFIX."userfields f WHERE f.ufid= '$userid_empfaenger'");
$mein_user = $db->fetch_array($query);
$mein_user_to = $mein_user['fid4']." ".$mein_user['fid5'];
$mein_to = htmlspecialchars_uni($mein_user_to);
//*****************************************************************************************************************

ACP – Templates – verändern – Private Nachrichten Templates - privat_send:
PHP-Code:
<input type="text" class="textbox" name="meinto" id="meinto" size="40" maxlength="{$mybb->settings['maxnamelength']}" value="{$mein_to}" tabindex="1" />
<
input type="hidden" class="textbox" name="to" id="to" size="40" maxlength="{$mybb->settings['maxnamelength']}" value="{$to}" /></td>

Absender Eingang, Empfänger Ausgang und Entwürfe in PN:
privat.php ca. Zeile 1080:
PHP-Code:
//********************************************************************************************************************
// Abfrage Senden Empfänger PNs
$query = $db->query("
SELECT pm.*, fu.username AS fromusername, tu.username AS tousername, f.fid4 AS fromvorname, f.fid5 As fromnachname ,t.fid4 AS tovorname, t.fid5 As tonachname
FROM "
.TABLE_PREFIX."privatemessages pm
LEFT JOIN "
.TABLE_PREFIX."users fu ON (fu.uid=pm.fromid)
LEFT JOIN "
.TABLE_PREFIX."users tu ON (tu.uid=pm.toid)
LEFT JOIN "
.TABLE_PREFIX."userfields f ON (f.ufid = pm.fromid)
LEFT JOIN "
.TABLE_PREFIX."userfields t ON (t.ufid = pm.toid)
WHERE pm.folder='
$folder' AND pm.uid='".$mybb->user['uid']."'
ORDER BY pm.dateline DESC
LIMIT
$start, $perpage
"
);
if(
$db->num_rows($query) > 0)

f.fidx und t.fidx anpassen !

etwas weiter unten:
PHP-Code:
if($folder == 2 || $folder == 3)
// **************** Ausgang / Entwürfe Empfänger *************************************************************
{ // Sent Items or Drafts Folder Check
if($message['toid'])
{
$tofromusername = "{$message['tovorname']} {$message['tonachname']}"; //{$message['tousername'];
$tofromuid = $message['toid'];
}
else
{
$tofromusername = $lang->not_sent;
}
}
else
{
//*************** PN-Eingang Absendername **********************************************************************
$tofromusername = "{$message['fromvorname']} {$message['fromnachname']}"; // $message['fromusername'];
$tofromuid = $message['fromid'];
if(
$tofromuid == -2)
{
$tofromusername = 'MyBB Engine';
}

Vor- und Nachname beim Zitat einfügen PN:
Privat.php ca. Zeile 275
PHP-Code:
if($mybb->input['pmid'] > 0 && !$mybb->input['preview'])
{
$query = $db->query("
SELECT pm.*, u.username AS quotename, f.*
FROM "
.TABLE_PREFIX."privatemessages pm
LEFT JOIN "
.TABLE_PREFIX."users u ON (u.uid=pm.fromid)
LEFT JOIN "
.TABLE_PREFIX."userfields f ON (f.ufid=u.uid)
WHERE pm.pmid='"
.intval($mybb->input['pmid'])."' AND pm.uid='".$mybb->user['uid']."'

etwas weiter unten:
PHP-Code:
{ // forward/reply
$subject = preg_replace("#(FW|RE):( *)#is", "", $subject);
$postdate = my_date($mybb->settings['dateformat'], $pm['dateline']);
$posttime = my_date($mybb->settings['timeformat'], $pm['dateline']);
$pm['quotename'] = "{$pm['fid4']} {$pm['fid5']}";
$message = "[quote=$pm[quotename]]\n$message\n[/quote]";

Schönen Sonntag Smile
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Username im PN-Fach mit Link zum Profil Jockl 6 2.873 18.09.2008, 21:40
Letzter Beitrag: Jockl