ilch Forum » Ilch Clan 1.1 » Allgemein » [ERLEDIGT] Login Name UND Nickname parallel

Geschlossen
  1. #1
    User Pic
    doomerino Mitglied
    Registriert seit
    11.11.2013
    Beiträge
    7
    Beitragswertungen
    0 Beitragspunkte
    hallo...

    ich habe hier im forum schon des öfteren Anfragen gefunden einen
    Nickname UND Loginname zu benutzen.. die leidige ClanTag geschichte.
    man möchte das Clantag nicht mit eingeben beim Login.

    Beispiel aus der praxis: User die sich registriert haben werden nun zu Member und sollen sich so auch im forum usw durch ein ClanTag von den anderen abheben.

    eine idee eines sehr hilfsbereiten users war die folgende:

    Die Ausgabe des Usernamens durch eine Funktion ersetzen, die sowohl den Usernamen als auch die UID verarbeiten kann, in der regel dürfte die ausgabe im frontend aber immer ein String sein (sprich der Username)

    getClanTag($username / $uid){

    // wenn Name nur Zahl, dann als UID behandeln

    // wenn Name ein String ist dann als Name behandeln

    // prüfen ob User im Clan ist, evt über Gruppen / teams / userrights

    -> bei userrights z.B. über die has_right funktion

    // -> Wenn ja dann ClanTag aus Allgr Config vor den namen setzen
    return $clantag. " ".$username;

    // -> Wenn nein, dann Usernamen zurückgeben
    return $username;
    }



    Im Script müsstest du dann halt die Ausgabe des Usernamens


    z.B. 'username' => $row->nickname,

    einfach abändern in

    z.B. 'username' => getClanTag($row->nickname),


    Das ist dann auch die hauptaufgabe, die vielen Ausgaben des Usernamens anzupassen...

    vielleicht hat auch jemand eine bessere Idee zur Umsetzung...

    es mangelt bei mir hier nicht am fleiß sondern eher an der kreativität und am php-know-how^^

    danke im voraus für tips und hilfe.
    mfg


    verwendete ilch Version: 1.1 P
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.638
    Beitragswertungen
    1193 Beitragspunkte
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    doomerino Mitglied
    Registriert seit
    11.11.2013
    Beiträge
    7
    Beitragswertungen
    0 Beitragspunkte
    danke dir schon mal für deinen Beitrag...

    ich habe die funktion nun eingefügt..

    wie würde denn nun in der ONLINE-BOX der Aufruf aussehen?...

    <?php
    if (!defined('main')) {die("no direct access");}
    $dif = date('Y-m-d H:i:s', time() - 60);
    $abf = "SELECT uid FROM `prefix_online` WHERE uptime > '". $dif."'";
    $resultID = db_query($abf);
    $brk='';
    $uid = array();
    $guests = 0;
    $guestn = $lang['guests'];
    $content='';
    
    while ($row = db_fetch_object($resultID)) {
    	if ($row->uid != 0 AND $brk!=$row->uid) {
    		$name=@db_result(db_query('SELECT name FROM prefix_user WHERE id='.$row->uid),0);
    		$content.= '<tr><td><img src="include/images/icons/online.gif" border="0" alt="online"></td>';
    		$content.='<td><a href="index.php?user-details-'.$row->uid.'">'.$name.'</a></td></tr>'."\n";
    		$uid[] = $row->uid;
    	}
    	if ($row->uid == 0) { $guests++; }
    	$brk=$row->uid;
    }
    if ($guests == 1) { $guestn = $lang['guest']; }
    if (empty($content)) { $content.='<tr><td><img src="include/images/icons/offline.gif"  border="0" alt="offline"></td><td><font color="#003366">0 User </font></td></tr>'."\n"; }
    
    $content.='<tr><td colspan="2"><hr style="height: 0px; border: dashed #9AB1C8 0px; border-top-width: 1px;"></td></tr>'."\n";
    $where = (count($uid)>0) ? 'WHERE id NOT IN ('.implode(', ', $uid).')' : '';
    $abf2 = 'SELECT * FROM prefix_user '.$where.' ORDER BY llogin DESC LIMIT 0,5';
    $erg2 = db_query($abf2);
    
    while ($row2 = db_fetch_object($erg2)) {
    	$datum = date('H:i d.m.y',$row2->llogin);
    	$user = $row2->name;
    	$content.='<tr><td><img src="include/images/icons/offline.gif"  border="0" alt="offline"></td><td><a href="index.php?user-details-'.$row2->id.'" title="'.$lang['lasttimeonline'].$datum.'">'.$user.'</a></td></tr>'."\n";
    }
    if ($guests == 0) {
    	$content.= '<tr><td colspan="2"><hr style="height: 0px; border: dashed #9AB1C8 0px; border-top-width: 1px";></td></tr>'."\n".'
    		<tr><td><img src="include/images/icons/offline.gif"  border="0" alt="offline"></td><td><font size="-1" color="#003366">0 '.$lang['guests'].'</td></tr>'."\n";
    } else {
    	$content.= '<tr><td colspan="2"><hr style="height: 0px; border: dashed #9AB1C8 0px; border-top-width: 1px;"></td></tr>'."\n".'
    		<tr><td><img src="include/images/icons/online.gif" border="0" alt="online"></td><td><font size=-1>'.$guests.' '.$guestn.'</font></td></tr>'."\n";
    }
    ?>
    <table align="center" border="0" cellpadding="0" cellspacing="0" >
     <?php echo $content; ?>
    </table>


    mfg
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    doomerino Mitglied
    Registriert seit
    11.11.2013
    Beiträge
    7
    Beitragswertungen
    0 Beitragspunkte
    btw ...

    ich wurde gerade von einem unserer truppe darauf hin gewiesen, daß ja selbst in der heutigen zeit noch user existieren mit einfachen passwörtern.

    ist da ein separater login-name zum NICKNAME nicht deutlich sicherer?

    so kennt man nicht den login-name und kann keine passwörter durchprobieren, da man auf der Seite nur mit seinem Nickname erscheint...!?

    grade im punkte sicherheit denke ich ein starker aspekt!
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Die Funktion von Lord|Schirmer macht es natürlich nun schön einfach lachen
    Zum Einbau, aber bitte eib Backup machen.

    In deiner Onlinebox (code oben) suchst du die Ausgabe des Nicknames
    Zeile 32 und 33.

    Hier kannst du einfach Zeile 32 um die Funktion von Lord|Schirmer erweitern und den Namen durch die ID ersetzen, die Ausgabe erfolgt dann in 33.

    $user = get_tagname($row2->id);



    Memberlist - include/contents/user/memb_list.php
    Schau dir dort mal die Zeile 57 an
    github.com/IlchCMS/Ilch-1.1/blob/master/include/contents/user/memb_list.php

    Die änderst du einfach in
    'NAME' =>  get_tagname($row->id),



    Forum
    Postansicht -> include/contents/forum/show_post.php
    github.com/IlchCMS/Ilch-1.1/blob/master/include/contents/forum/show_posts.php

    Zeile 69
    $row['erst'] = '<a href="index.php?user-details-'.$row['erstid'].'"><b>'.get_tagname($row['erstid']).'</b></a>';



    Zuletzt modifiziert von Revolution am 26.11.2013 - 21:28:45
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    2 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    doomerino Mitglied
    Registriert seit
    11.11.2013
    Beiträge
    7
    Beitragswertungen
    0 Beitragspunkte
    super revolution...

    klappt ohne komplikationen.. vielen Dank an euch beide.
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Saarlonz Hall Of Fame
    Registriert seit
    07.08.2008
    Beiträge
    3.003
    Beitragswertungen
    235 Beitragspunkte
    Da schon öfter nach dieser Funktion gefragt wurde habe ich das ganze mal als FAQ zusammengefasst!

    externer Link
    1 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Saarlonz Hall Of Fame
    Registriert seit
    07.08.2008
    Beiträge
    3.003
    Beitragswertungen
    235 Beitragspunkte
    erledigt
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten