Welches Profil wird gerade betrachtet?

In diesem moderierten Forum werden Code-Schnipsel, die zu klein sind, um richtige Mods zu sein, abgelegt.
Snippets können über unser Kontaktformular eingereicht werden (bitte als vollständiger, Copy&Paste fähiger Beitrag).
Bei Fragen oder Problemen benutze bitte das Forum [3.0.x] Mod Support.
Benutzeravatar
Metzle
Ehemaliger
Beiträge: 10435
Registriert: 08.03.2008 02:50
Wohnort: Waiblingen-Neustadt
Kontaktdaten:

Welches Profil wird gerade betrachtet?

Beitragvon Metzle » 01.12.2009 17:38

Welches Profil wird gerade betrachtet? ( viewonline.php )

Dieses Snippet wurde uns von djchrisnet zur Verfügung gestellt:

Achtung: Dieses Snippet kann in gut besuchten Foren die Datenbank sehr hoch belasten!

Mit diesem Snippet ist es möglich zu sehen, welches Profil gerade betrachtet wird.
  • Anzeige des betrachteten Benutzernamens
  • Link zum betrachteten Profil

Öffne viewonline.php
Suche:

Code: Alles auswählen

case 'memberlist':
            
$location = (strpos($row['session_page'], 'mode=viewprofile') !== false) ? $user->lang['VIEWING_MEMBER_PROFILE'] : $user->lang['VIEWING_MEMBERS'];
            
$location_url append_sid("{$phpbb_root_path}memberlist.$phpEx");
        break; 

Ersetze gegen:

Code: Alles auswählen

case 'memberlist':
           
parse_str($row['session_page'], $sess_get);
                     
           if (
array_key_exists('u'$sess_get) && strpos($row['session_page'], 'mode=viewprofile'))
           {
                
$msql 'SELECT username
                    FROM ' 
USERS_TABLE '
                    WHERE user_id = ' 
. (int) $sess_get['u'];
                
$mresult $db->sql_query($msql);
                
$viewed_username $db->sql_fetchfield('username');
                
$db->sql_freeresult($mresult);
                
                
$location $user->lang['VIEWING_MEMBER_PROFILE'] . ' (' $viewed_username ')';
                
$location_url append_sid("{$phpbb_root_path}memberlist.$phpEx'mode=viewprofile&u=' $sess_get['u']);
           }
           else
           {
                   
$location = (strpos($row['session_page'], 'mode=viewprofile') !== false) ? $user->lang['VIEWING_MEMBER_PROFILE'] : $user->lang['VIEWING_MEMBERS'];
                
$location_url append_sid("{$phpbb_root_path}memberlist.$phpEx");
            }
        break; 
Metzle
phpBB.de-Support-Team
Allround-phpBB.de

Benutzeravatar
Metzle
Ehemaliger
Beiträge: 10435
Registriert: 08.03.2008 02:50
Wohnort: Waiblingen-Neustadt
Kontaktdaten:

Re: Welches Profil wird gerade betrachtet?

Beitragvon Metzle » 01.12.2009 17:47

Eine andere Variante, um die Anzeige zu ermöglichen, zeigt dieses Snippet:

Achtung: Dieses Snippet kann in gut besuchten Foren die Datenbank sehr hoch belasten!

Mit diesem Snippet ist es möglich zu sehen, welches Profil gerade betrachtet wird in Viewonline.

- Anzeige des betrachteten Benutzernamens
- Link zum betrachteten Profil

Öffne: viewonline.php

Finde:

Code: Alles auswählen

            case 'memberlist':
                
$location = (strpos($row['session_page'], 'mode=viewprofile') !== false) ? $user->lang['VIEWING_MEMBER_PROFILE'] : $user->lang['VIEWING_MEMBERS'];
                
$location_url append_sid("{$phpbb_root_path}memberlist.$phpEx");
            break;  


Ersetze mit:

Code: Alles auswählen

case 'memberlist':

         
preg_match('#u=([0-9]+)#'$row['session_page'], $user_id);
         
$user_id = (sizeof($user_id)) ? (int) $user_id[1] : 0;

         
$sql 'SELECT user_type, username, user_colour
            FROM ' 
USERS_TABLE '
            WHERE user_id = ' 
$user_id;
         
$results $db->sql_query($sql);
         
$rows $db->sql_fetchrow($results);

         
$username = ($rows['user_type'] != USER_IGNORE) ? get_username_string('no_profile'$user_id$rows['username'], $rows['user_colour']) : '<span' $user_colour '>' $rows['username'] . '</span>';

         
$location = (strpos($row['session_page'], 'mode=viewprofile') !== false) ? sprintf($user->lang['VIEWING_MEMBER_PROFILE'], $username) : $user->lang['VIEWING_MEMBERS'];
         
$location_url = ($rows['user_type'] != USER_IGNORE) ? get_username_string('profile'$user_id'') : '';

         
$db->sql_freeresult($results);
      break;  


Öffne: language/de/common.php

Finde:

Code: Alles auswählen

'VIEWING_MEMBER_PROFILE'    => 'Betrachtet das Profil eines Mitglieds'


Ersetze mit:

Code: Alles auswählen

'VIEWING_MEMBER_PROFILE'   => 'Betrachtet das Profil von %s'


danach Cache leeren etc.

Bitte hierbei beachten: phpbb3 - Was bei Änderungen an Sprachdateien beachtet werden muss!
Metzle
phpBB.de-Support-Team
Allround-phpBB.de


Zurück zu „[3.0.x] Snippets“