Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


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 == || $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'] > && !$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.566 18.09.2008, 20:40
Letzter Beitrag: Jockl