Last visit Mod

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

Last visit Mod

Beitrag von werni1949 »

Folgende Vorschrift:
#-----[ OPEN ]------------------------------------------------
#
search.php

#
#-----[ FIND ]------------------------------------------------
#
$sql = "SELECT session_id
FROM " . SESSIONS_TABLE;

#
#-----[ REPLACE WITH ]----------------------------------------
#

// Start replacement - Last visit MOD
$expiry_time = $current_time - $board_config['session_length'];
$sql = "SELECT session_id
FROM " . SESSIONS_TABLE ." WHERE session_time>$expiry_time";
// Start replacement - Last visit MOD
Leider ist die Codestelle nicht zu finden. Wo ich die session_table finde ist:
//
// Flood control
//
$where_sql = ($userdata['user_id'] == ANONYMOUS) ? "se.session_ip = '$user_ip'" : 'se.session_user_id = ' . $userdata['user_id'];
$sql = 'SELECT MAX(sr.search_time) AS last_search_time
FROM ' . SEARCH_TABLE . ' sr, ' . SESSIONS_TABLE . " se
WHERE sr.session_id = se.session_id
AND $where_sql";
if ($result = $db->sql_query($sql))
{
if ($row = $db->sql_fetchrow($result))
{
if (intval($row['last_search_time']) > 0 && ($current_time - intval($row['last_search_time'])) < intval($board_config['search_flood_interval']))
{
message_die(GENERAL_MESSAGE, $lang['Search_Flood_Error']);
}
}
}
Kann mir jemand helfen und sagen, was ich nun wo ersetzen muss?

Danke im Voraus!
Benutzeravatar
Fennias Maxim
Mitglied
Beiträge: 489
Registriert: 12.08.2005 20:16
Wohnort: Technodrome
Kontaktdaten:

Beitrag von Fennias Maxim »

Code: Alles auswählen

//
		// Finish building query (for all combinations)
		// and run it ...
		//
		$sql = "SELECT session_id
			FROM " . SESSIONS_TABLE;
		if ( $result = $db->sql_query($sql) )
		{
So sieht das bei mir um Zeile 635 aus...
Vieleicht hast du noch einen andern MOD installiert...
50% aller Fragen können mit der Knowledge Base oder der Forensuche beantwortet werden!
Warum hast du also diesen Thread hier eröffnet?
werni1949
Mitglied
Beiträge: 100
Registriert: 31.05.2005 14:30

Beitrag von werni1949 »

etliche...
Trotzdem muss doch doch der last visit einzubauen sein!
Die Codestelle dürfte aber Standard php (2.0.20) sein?
Der Mod ist upgedatet bis 19. Kann es daran liegen?
Benutzeravatar
DJBase
Mitglied
Beiträge: 110
Registriert: 27.09.2003 17:45
Kontaktdaten:

Beitrag von DJBase »

Ja, der Mod bezieht sich auf .19 und dort schaut die Zeile eben noch etwas anders aus. Ich bin mir nicht sicher, aber vielleicht hilft folgende Abänderung:

Finde

Code: Alles auswählen

// 
// Flood control 
// 
$where_sql = ($userdata['user_id'] == ANONYMOUS) ? "se.session_ip = '$user_ip'" : 'se.session_user_id = ' . $userdata['user_id']; 
$sql = 'SELECT MAX(sr.search_time) AS last_search_time 
FROM ' . SEARCH_TABLE . ' sr, ' . SESSIONS_TABLE . " se 
WHERE sr.session_id = se.session_id 
AND $where_sql"; 
if ($result = $db->sql_query($sql)) 
{ 
if ($row = $db->sql_fetchrow($result)) 
{ 
if (intval($row['last_search_time']) > 0 && ($current_time - intval($row['last_search_time'])) < intval($board_config['search_flood_interval'])) 
{ 
message_die(GENERAL_MESSAGE, $lang['Search_Flood_Error']); 
} 
} 
}
Ersetze durch

Code: Alles auswählen

// 
// Flood control 
// 
$expiry_time = $current_time - $board_config['session_length']; 
$where_sql = ($userdata['user_id'] == ANONYMOUS) ? "se.session_ip = '$user_ip'" : 'se.session_user_id = ' . $userdata['user_id']; 
$sql = 'SELECT MAX(sr.search_time) AS last_search_time 
FROM ' . SEARCH_TABLE . ' sr, ' . SESSIONS_TABLE . " se 
WHERE sr.session_id = se.session_id 
AND session_time>$expiry_time
AND $where_sql"; 
if ($result = $db->sql_query($sql)) 
{ 
if ($row = $db->sql_fetchrow($result)) 
{ 
if (intval($row['last_search_time']) > 0 && ($current_time - intval($row['last_search_time'])) < intval($board_config['search_flood_interval'])) 
{ 
message_die(GENERAL_MESSAGE, $lang['Search_Flood_Error']); 
} 
} 
} 
Benutzeravatar
CrYiNg
Show-Off Team
Beiträge: 1256
Registriert: 01.05.2005 10:33

Beitrag von CrYiNg »

Hallo!

Es funktioniert, habe es mal getestet.

CrYiNg :cry:
Benutzeravatar
Rule23
Mitglied
Beiträge: 29
Registriert: 05.06.2005 20:44
Wohnort: Dortmund
Kontaktdaten:

Beitrag von Rule23 »

Hab es auch in mein Board eingebaut und funktioniert.

Allerdings wenn ich im ACP folgenden Punkt auf Ja setze, wird trotzdem weiterhin jedem die Liste angezeigt.

"Anzeige des letzten Besuchs ausblenden
Wenn auf JA gesetzt, wird die Anzeige des letzten Besuchs für alle Benutzer ausgeblendet (bis auf den Administrator!)"

Obwohl doch eigentlich nur noch Administratoren sehen dürften, wenn dies aktiviert ist. Wo könnte da der Fehler liegen bzw. besteht das Problem bei euch überhaupt?

Benutze allerdings auch nicht subSilver, sondern xabbRed.

www.teeniemamis.de ist das Forum!

Ich lass es jetzt mal aktiviert, bis ich hier ne Antwort habe. :-?
RobertC
Mitglied
Beiträge: 110
Registriert: 19.07.2004 13:17

Beitrag von RobertC »

Hast Du es noch aktiviert?
Ich kann nämlich die Last Visits nicht sehen. Die Spalte ist zwar zu sehen aber es steht versteckt da. So wie es ja sein soll.
Benutzeravatar
Rule23
Mitglied
Beiträge: 29
Registriert: 05.06.2005 20:44
Wohnort: Dortmund
Kontaktdaten:

Beitrag von Rule23 »

Ja es ist noch aktiviert.

Seltsam ist, dass ich einmal mit Firefox auf dem Board eingeloggt bin und einmal als Gast mit dem IE. Aber ich seh bei beiden das selbe.

Hier der IE:
[ externes Bild ]

Hier im Firefox:
[ externes Bild ]

Hab im Internet Explorer extra vorher nochmal alles gelöscht (Cookies, Verlauf und offline Inhalte).

Aber wenn Du mir sagst, dass es funktioniert wie es soll, dann glaub ich Dir natürlich. :grin:

Dank Dir übrigens für Deine Hilfe!

Editiert
Zuletzt geändert von Rule23 am 03.06.2006 01:56, insgesamt 1-mal geändert.
RobertC
Mitglied
Beiträge: 110
Registriert: 19.07.2004 13:17

Beitrag von RobertC »

Ich meinte eigentlich die Anzeigen im Profil bzw. in der Memberliste.
Aber der Bereich auf der Indexseite lässt sich natürlich auch ausblenden.
Suche dazu in der index_body.tpl den folgenden Code ...

Code: Alles auswählen

<!-- Start add - Last visit MOD -->
<tr> 
	<td class="row1" align="left"><span class="gensmall">{L_USERS_TODAY}&nbsp;{L_USERS_LASTHOUR}<br />{USERS_TODAY_LIST}</br></span></td>    
</tr> 
<!-- Start add - Last visit MOD -->
und ersetze Ihn durch diesen hier.

Code: Alles auswählen

<!-- Start add - Last visit MOD -->
<!-- BEGIN switch_user_is_moderator -->
<tr> 
	<td class="row1" align="left"><span class="gensmall">{L_USERS_TODAY}&nbsp;{L_USERS_LASTHOUR}<br />{USERS_TODAY_LIST}</br></span></td>    
</tr> 
<!-- END switch_user_is_moderator -->
<!-- Start add - Last visit MOD -->
Benutzeravatar
Rule23
Mitglied
Beiträge: 29
Registriert: 05.06.2005 20:44
Wohnort: Dortmund
Kontaktdaten:

Beitrag von Rule23 »

Achso ist das, dann hab ich nur die Funktion falsch verstanden. Ich dachte nämlich, der versteckt alles was der Mod bewirkt für alle anderen ausser den Admins.

Ich wollte es eigentlich ja auch sichtbar lassen und hab beim testen eben gedacht, es sei ein Bug. Aber gut, dass Du uns mal erklärt hast wie es denn geht, wenn man es mal unsichtbar machen möchte. 8)

Thx und greetz
Rule23
Antworten

Zurück zu „phpBB 2.0: Mod Support“