Seite 1 von 1

Welches Profil wird betrachtet Snippet

Verfasst: 01.10.2011 15:13
von Emma
Hallo,

ich wollte gerade mal dieses "kleine" Snippet testen:
viewtopic.php?f=85&t=199638

Hier steht aber als Warnung bei gut besuchten Foren kann das hoch belasten. 2 kleine Fragen: Kann man es so anpassen, dass nur Administratoren/innen sehen können welches Profil betrachtet wird und die "normalen" Nutzer den normalen Text sehen.
2. Wenn 1. geht ich bin die einzige Administratorin, belastet das dann auch sehr stark die Datenbank, wenn nur ich das sehe?

Danke im Voraus.

Re: Welches Profil wird betrachtet Snippet

Verfasst: 01.10.2011 16:31
von Charlie_M
Ich nehme an du hast die 1. Variante verwendet:

Suche:

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;
Ersetze mit:

Code: Alles auswählen

		case 'memberlist':
		if ($auth->acl_get('a_'))
		{
           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;
Wenn 1. geht ich bin die einzige Administratorin, belastet das dann auch sehr stark die Datenbank, wenn nur ich das sehe?
Wennst nicht nachschaust nicht.
Es wird in der DB entsprechend der User_ID der zugehörige Nick des betrachteten Users auszulesen.
Je mehr User zu dem Zeitpunkt gerade Profile anschauen desto mehr Abfragen werden erzeugt.

Re: Welches Profil wird betrachtet Snippet

Verfasst: 01.10.2011 16:47
von Mahony
Hallo
Du könntest auch den Profile Views List MOD installieren.
Der MOD speichert die Profile-Ansichten.

Grüße: Mahony

Re: Welches Profil wird betrachtet Snippet

Verfasst: 01.10.2011 17:31
von Emma
Ich habe erstmal den MOD probiert, zum Snippet komme ich später. Beim Mod gibt es bei der Installation leider einen Error:

Code: Alles auswählen

Index name 'phpbb_profile_views_profile_user_id' on table 'phpbb_profile_views' is too long. The maximum is 24 characters.
Was kann das sein. Irgendetwas ist zu lang, da muss man wie ich das interpretiere irgendwo ein Limit hochsetzen für die Installation.
===============================================================================
Snippet: In welcher Datei muss ich die Änderungen vornehmen? Viewonline? Da scheint es den Text nicht zu geben. :oops:

Re: Welches Profil wird betrachtet Snippet

Verfasst: 01.10.2011 17:44
von Charlie_M
Ich bin davon ausgegangen du hast den Mopd schon installiert:
Ö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;
ersetzen mit (nur für Admin):

Code: Alles auswählen

      case 'memberlist':
      if ($auth->acl_get('a_'))
      {
           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;
==================================================================================================

Zum Fehler des Mods => http://www.phpbb.com/customise/db/mod/p ... or-t_93423

Re: Welches Profil wird betrachtet Snippet

Verfasst: 01.10.2011 17:54
von Emma
Wunderbar ich danke dir. Beides funktioniert. Beim ersten Mod kann ich auf der Onlineliste nun alles sehen und andere Nutzer nicht. :evil: Der Mod funktioniert auch wunderbar, der Hinweiß auf phpBB.com hat funktioniert. So eine Meldung hatte ich schon oft und ich wusste nicht warum danke jetzt weiß ich das in Zukunft auch. :D

Re: Welches Profil wird betrachtet Snippet

Verfasst: 02.10.2011 15:58
von Mahony
Hallo
Für die deutschen Sprachdateien zum Profile Views MOD schau mal hier http://www.chalong.de/viewtopic.php?f=6&t=309


Grüße: Mahony

Re: Welches Profil wird betrachtet Snippet

Verfasst: 02.10.2011 16:12
von Emma
Oh ja danke ich hatte meinen Beitrag gerade eben sogar gelöscht, weil ich selbst fündig geworden bin sogar dort und noch woanders. Anfangs hatte ich nix gefunden. Ich danke dir für deine Hilfe. :ugeek: