[MOD] Cache System für Renomme MOD

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
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
Benutzeravatar
bgx
Mitglied
Beiträge: 228
Registriert: 30.11.2005 22:32
Kontaktdaten:

[MOD] Cache System für Renomme MOD

Beitrag von bgx »

Code: Alles auswählen

##############################################################
## MOD Title: Renommee / Reputation - System Cache Addon
## MOD Author: BG x < phpbb@springenderhund.de > (Tobias Hau) http://www.springenderhund.de
## MOD Description: 
##                  Fügt zum Renommee MOD ein Cachesystem hinzu und spart somit ca. 50 SQL zugriffe pro Seite
##                  
##                  
## MOD Version: 0.1.0
##
## Installation Level: Easy
## Installation Time: 5 Minutes
##
## Files To Edit:
##                includes/functions.php
##                renommee.php
##                admin/admin_renommee.php
##                admin/admin_renommee_rang_edit.php
##		  admin/admin_users.php
##
## Included Files: 
##		  n/a
##
##############################################################
## Author Notes:
## 
##
##############################################################
## MOD History:
## 
##   2006-11-01 - Version 0.1.0
##      - First official version
##   2007-01-02 - Version 0.1.1
##      - Fix: Update cache when userdata changes in ACP
##
##############################################################
## Bevor dieser Mod in das Forum integriert wird, sollten alle zu verändernden Daten gesichert werden!
##
## //
##
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
Hier zum Download:
http://www.springenderhund.de/topic,312 ... e-mod.html

Für Suche: SQL Cache System Renommee beschleunigen
Zuletzt geändert von bgx am 02.01.2007 21:30, insgesamt 2-mal geändert.
Benutzeravatar
Würzi
Ehemaliges Teammitglied
Beiträge: 3187
Registriert: 30.10.2005 02:51
Wohnort: Niedernberg
Kontaktdaten:

Beitrag von Würzi »

Hallo :grin:

Also wenn dir schon keiner ne Antwort gibt, dann nun hier:

Danke :P
Ich habe es zum testen mal in mein Testboard eingebaut.

1. Kannst du evtl hier mal beschreiben, ob da was passiert, wenn ein user gelöscht wird.
2. Wenn ich die Punkte eines Users manuell im ACP ändere?
Kein Support per PN, dafür ist das Forum da! Eine PN hilft einen, ein öffentlicher Beitrag allen. - Styles für phpbb3
Benutzeravatar
bgx
Mitglied
Beiträge: 228
Registriert: 30.11.2005 22:32
Kontaktdaten:

Beitrag von bgx »

Gerne!

Also wenn du einen Benutzer löschst, solltest du natürlich auch folgenden code integrieren, der das cachefile mitlöscht:

Code: Alles auswählen

if ( file_exists($phpbb_root_path . 'cache/renom/ren-user' . $user_id .'.php') ){
    if ( ! unlink ($phpbb_root_path . 'cache/renom/ren-user' . $user_id .'.php') )
    {
      message_die(GENERAL_ERROR, "Failed to delete to cache/renomee.$phpEx", "", __LINE__, __FILE__, "");
    }}
Hmm manuelle Änderung im ACP geht auch? Dann sollte dieser Code dort auch hinterlegt werden. Anders wird es erst nach 10h Aktualisiert, wenn ich es richtig im Kopf habe. Werde die Geschichte aber noch etwas verfeinern und ggf. in nur ein Cachefile auslagern. :wink:
Benutzeravatar
Würzi
Ehemaliges Teammitglied
Beiträge: 3187
Registriert: 30.10.2005 02:51
Wohnort: Niedernberg
Kontaktdaten:

Beitrag von Würzi »

Ja schön nur wo den Teil integrieren? :lol:

Also ich find den Cache echt nicht schlecht :wink:

Aber du hast es gemerkt...
Etwas verfeinern wäre evtl noch drin, wenn du es kannst und Zeit hast.

Denn....
* Ich lösche durch eine mod alle User welche länger als 6 Mon nicht online waren.
* Im ACP kann man auf Userverwaltung doch auch Usern manuell Punkte bzw. Bewertungen geben oder verändern.

Oder hab ich da was anderes :o
Ich habe hier monatelang nicht rein geguckt. :-?
Kein Support per PN, dafür ist das Forum da! Eine PN hilft einen, ein öffentlicher Beitrag allen. - Styles für phpbb3
Benutzeravatar
bgx
Mitglied
Beiträge: 228
Registriert: 30.11.2005 22:32
Kontaktdaten:

Beitrag von bgx »

Ja du hast recht, ist aber eh nicht so schlimm, da der cache im moment eh alle 10h neu aufgebaut wird.

Also für die direkte Übername der geänderten Renommeewerte sucht du in der admin_users.php nach

Code: Alles auswählen

      $sql = "UPDATE " . USERS_TABLE . "
				SET " . $username_sql . $passwd_sql . "user_email = '" . str_replace("\'", "''", $email) . "', user_icq = '" . str_replace("\'", "''", $icq) . "', user_website = '" . str_replace("\'", "''", $website) . "', user_occ = '" . str_replace("\'", "''", $occupation) . "', user_from = '" . str_replace("\'", "''", $location) . "', user_interests = '" . str_replace("\'", "''", $interests) . "', user_vname = '" . str_replace("\'", "''", $vname) . "', user_nname = '" . str_replace("\'", "''", $nname) . "', user_plz = '" . str_replace("\'", "''", $plz) . "', user_bland = '" . str_replace("\'", "''", $bland) . "', user_land = '" . str_replace("\'", "''", $land) . "', user_hunde = '" . str_replace("\'", "''", $hunde) . "', user_birthday='$birthday', user_next_birthday_greeting=$next_birthday_greeting, user_sig = '" . str_replace("\'", "''", $signature) . "', user_viewemail = $viewemail, user_aim = '" . str_replace("\'", "''", $aim) . "', user_yim = '" . str_replace("\'", "''", $yim) . "', user_msnm = '" . str_replace("\'", "''", $msn) . "', user_attachsig = $attachsig, user_sig_bbcode_uid = '$signature_bbcode_uid', user_allowsmile = $allowsmilies, user_allowhtml = $allowhtml, user_allowavatar = $user_allowavatar, user_allowsignature = $user_allowsignature, user_allowbbcode = $allowbbcode, user_allow_viewonline = $allowviewonline, user_notify = $notifyreply, renommee_gesamt = $renommee, allow_renommee = $allow_renommee, user_allow_pm = $user_allowpm, user_notify_pm = $notifypm, user_popup_pm = $popuppm, user_lang = '" . str_replace("\'", "''", $user_lang) . "', user_style = $user_style, user_timezone = $user_timezone, user_dateformat = '" . str_replace("\'", "''", $user_dateformat) . "', user_active = $user_status, user_warnings = $user_ycard, user_rank = $user_rank, user_gender = '$gender'" . $avatar_sql . "
				WHERE user_id = $user_id";
und fügst danach

Code: Alles auswählen

if ( file_exists($phpbb_root_path . 'cache/renom/ren-user' . $user_id .'.php') ){
    if ( ! unlink ($phpbb_root_path . 'cache/renom/ren-user' . $user_id .'.php') )
    {
      message_die(GENERAL_ERROR, "Failed to delete to cache/renomee.$phpEx", "", __LINE__, __FILE__, "");
    }}
ein.

Hab den Mod auf meiner Seite editiert!

P.S.: Dort kann man auch als Gast schreiben!
Benutzeravatar
Würzi
Ehemaliges Teammitglied
Beiträge: 3187
Registriert: 30.10.2005 02:51
Wohnort: Niedernberg
Kontaktdaten:

Beitrag von Würzi »

Danke ich hab das Cachesystem nun mal richtig online gestellt. :wink:

Sind das wirklich 50 SQL Anfragen, die dadurch weniger sind? :o
Also langsam war mein Forum nicht und ich sehe ja unten wieviel SQL Queries laufen bei mir. :D
Benutzeravatar
bgx
Mitglied
Beiträge: 228
Registriert: 30.11.2005 22:32
Kontaktdaten:

Beitrag von bgx »

Na in der viewtopic.php steht folgender Code:

Code: Alles auswählen

$renommee_anzeige = renommee_anzeige($poster_id, $postrow[$i]['post_id'], 1);
Dieser wird bei jedem Beitrag aufgerufen. In der functions.php wird in der Funktion renommee_anzeigen 4 mal auf die Datenbank zugegriffen.

Das wären bei 15 Post pro Seite mal 4, 60 Queries!

:wink:
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“