Problem mit Freundesliste Mod

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Trichter
Mitglied
Beiträge: 99
Registriert: 06.01.2010 13:16

Problem mit Freundesliste Mod

Beitrag von Trichter »

Hallo,

ich habe folgenden Mod eingebaut: [url=ttp://itmods.com/viewtopic.php?f=11&t=3][VALIDATED] Profile friends mod 1.2.0[/url]

Ich habe es eingebaut und es funktioniert auch wirklich gut. Nur manchmal melden mir User folgende Fehlermeldung:
Fatal error: Call to a member function on a non-object in /var/www/webxxx/html/includes/functions.php on line 4476
Um den Mod einzubauen, musste man genau an der Stelle der funktions.php Datei was verändern, hier die Veränderung:

Find

Code: Alles auswählen

function phpbb_user_session_handler()
{
	global $phpbb_hook;

	if (!empty($phpbb_hook) && $phpbb_hook->call_hook(__FUNCTION__))
	{
		if ($phpbb_hook->hook_return(__FUNCTION__))
		{
			return $phpbb_hook->hook_return_result(__FUNCTION__);
		}
	}

	return;
}
Add after

Code: Alles auswählen

// function to check if the friend is online or not.
function is_user_online($id)
{
		global $db, $config;
		
        $session_sql = 'SELECT MAX(session_time) AS session_time, MIN(session_viewonline) AS session_viewonline
            FROM ' . SESSIONS_TABLE . '
            WHERE session_user_id = '.intval($id);
        $session_result = $db->sql_query($session_sql);
        $session_row = $db->sql_fetchrow($session_result);

        $member['session_time'] = (isset($session_row['session_time'])) ? $session_row['session_time'] : 0;
        $member['session_viewonline'] = (isset($session_row['session_viewonline'])) ? $session_row['session_viewonline'] :    0;

        $update_time = $config['load_online_time'] * 60;
        $online = (time() - $update_time < $member['session_time'] && ((isset($member['session_viewonline']) && $member['session_viewonline']) || $auth->acl_get('u_viewonline'))) ? true : false;
        $db->sql_freeresult($session_sql);

        return $online;

}
Die Zeile 4476 ist Folgende:

Code: Alles auswählen

        $online = (time() - $update_time < $member['session_time'] && ((isset($member['session_viewonline']) && $member['session_viewonline']) || $auth->acl_get('u_viewonline'))) ? true : false;
Jetzt weiß ich überhaupt nicht, wieso und wann dieser Fehler auftritt. Hoffe mir kann jemand helfen.

Lg
Trichter
Mitglied
Beiträge: 99
Registriert: 06.01.2010 13:16

Re: Problem mit Freundesliste Mod

Beitrag von Trichter »

Hallo,

das Problem besteht weiterhin. Eben haben 2 Profile ungefähr 5 Minuten lang nicht funktioniert, jetzt geht es komischerweise wieder. Ich kann mir nicht erklären, was der Auslöser sein könnte.

Würde mich über Hilfe freuen.

Lg

Edit: Der Link zum Mod lautet: http://itmods.com/viewtopic.php?f=11&t=3
Trichter
Mitglied
Beiträge: 99
Registriert: 06.01.2010 13:16

Re: Problem mit Freundesliste Mod

Beitrag von Trichter »

Push

Code: Alles auswählen

Fatal error: Call to a member function on a non-object in /var/www/webXXX/includes/functions.php on line 4480
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Problem mit Freundesliste Mod

Beitrag von 4seven »

Trichter hat geschrieben:
Fatal error: Call to a member function on a non-object in /var/www/webxxx/html/includes/functions.php on line 4476
könnte man auch so übersetzen, das das member-object leer ist.

das heißt, der mod (der warscheinlich vor zeile 4476 eingefügt wurde) bringt einen leeeren rückgabewert für

$member['session_time']
oder
$member['session_viewonline']

der den boardeigenen wert überschreibt, der warscheinlich kaum solche fehlermeldung produziert

Die Zeile 4476 ist Folgende:
$online = (time() - $update_time < $member['session_time'] && ((isset($member['session_viewonline']) && $member['session_viewonline']) || $auth->acl_get('u_viewonline'))) ? true : false;
mögliche lösung:

ersetze mal den kompletten mod code-block testweise mit

Code: Alles auswählen

// function to check if the friend is online or not.
function is_user_online($id)
{
      global $db, $config;
      
        $session_sql = 'SELECT MAX(session_time) AS session_time, MIN(session_viewonline) AS session_viewonline
            FROM ' . SESSIONS_TABLE . '
            WHERE session_user_id = '.intval($id);
        $session_result = $db->sql_query($session_sql);
        $session_row = $db->sql_fetchrow($session_result);

        if (!empty($session_row['session_time'])){
        $member['session_time'] = (isset($session_row['session_time'])) ? $session_row['session_time'] : 0;}

        if (!empty($session_row['session_viewonline'])){
        $member['session_viewonline'] = (isset($session_row['session_viewonline'])) ? $session_row['session_viewonline'] : 0;}

        $update_time = $config['load_online_time'] * 60;
        
        if ((!empty($session_row['session_time'])) && (!empty($session_row['session_viewonline']))){
        $online = (time() - $update_time < $member['session_time'] && ((isset($member['session_viewonline']) && $member['session_viewonline']) || $auth->acl_get('u_viewonline'))) ? true : false;}
        
        $db->sql_freeresult($session_sql);
        
        if(isset($online)){
        return $online;} 
} 
nur mal so aus den stehgreif..
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Problem mit Freundesliste Mod

Beitrag von 4seven »

zusatz:

alternativ den veränderten part

Code: Alles auswählen

        if(isset($online)){
        return $online;}  
mit dem hier ersetzen

Code: Alles auswählen

        if((isset($online)) && (!empty($online))){
        return $online;}  
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Problem mit Freundesliste Mod

Beitrag von 4seven »

ein feedback hierzu wäre interessant...
Trichter
Mitglied
Beiträge: 99
Registriert: 06.01.2010 13:16

Re: Problem mit Freundesliste Mod

Beitrag von Trichter »

Hi,

eben mal die Veränderungen ausprobiert und es hat scheinbar geklappt :grin: Ich bedanke mich, wirklich Top!! :D

Danke

Lg
Antworten

Zurück zu „[3.0.x] Mod Support“