Fehler beim Logdatei Anzeigen

Dieses Forum enthält Diskussionen zu Bugs in ConPresso 4 und deren Lösungen.
Antworten
JohannesRoesch
ConPresso-User
Beiträge: 27
Registriert: 20.08.2006 22:29
Wohnort: Bruchsal
Hat sich bedankt: 4 Mal
Danksagung erhalten: 2 Mal

Fehler beim Logdatei Anzeigen

Beitrag von JohannesRoesch »

Wenn man in der Version 4.1.1 sich im Backend die Logdaten anzeigen lassen möchte, dann wird immer nur ein Datensatz, dafür aber tausende von Seiten angezeigt. Man kann zwar oben über das entsprechende Auswahlfeld einen anderen Wert eingeben, aber der Standard ist trotzdem auf 1.
Ich habe mir das Problem angeschaut und bin zu folgender Lösung gekommen.
Das Problem liegt an der Datei _admin/logfile.php

Dort muss folgende Änderung ab Zeile 34 durchgeführt werden:

Code: Alles auswählen

-$defaultAnzahl = 50;
+$defaultAnzahl = 256;
+$anzahl = $defaultAnzahl;
-if (empty($anzahl)) $anzahl = $defaultAnzahl;
Dann funktioniert die Anzeige auch mit einer sinnvollen Zahl von 256 Einträgen pro Seite. Bei einer entsprechenden Seitengröße sind 50 etwas wenig und 50 steht auch in dieser Version von Conpresso gar nicht mehr zur Auswahl.
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7361
Registriert: 01.01.1970 01:00
Hat sich bedankt: 110 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

Klingt spannend.

Nur kann ich alles nicht nachvollziehen, weil es bei mir ohne Änderung funktioniert.

In der ersten Zeile der Auswahl steht die 50.
Das ist die Default-Anzahl.
Wenn Du nun genau diesen Wert löschst oder veränderst, dann steht da logischerweise keine 50 mehr...

Wird bei Deinem Browser ggf. das submit durch das Select-Feld nicht ausgeführt?
(dazu einfach mal nach einer Änderung des Select-Feldes die Seitenadresse (nicht aus der Adressleiste des Browsers sondern die des Frames) prüfen)
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
JohannesRoesch
ConPresso-User
Beiträge: 27
Registriert: 20.08.2006 22:29
Wohnort: Bruchsal
Hat sich bedankt: 4 Mal
Danksagung erhalten: 2 Mal

Beitrag von JohannesRoesch »

Das Problem tritt nicht beim auswählen eines anderen Wertes auf, sondern beim anklicken des Links im Menü. Da wird noch kein Wert mit übergeben, sondern der Standard aus der logfile.php verwendet. Und eben dieser wird wohl nicht richtig übernommen.
Übrigens gab es wohl denselben Fehler in der users.php nur dort ist der Fehler schon auf genau dieselbe Art behoben worden. (_admin/users.php => Zeile 25)
Aber auch dort ist die Zeile danach (Zeile 26) sinnlos, da ja in Zeile 25 ein Wert angegeben wird und diese Abfrage immer falsch sein wird.
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7361
Registriert: 01.01.1970 01:00
Hat sich bedankt: 110 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Beitrag von MarkusR »

Ich denke mal, daß die Zeile (in beiden Dateien) nicht

Code: Alles auswählen

if (empty($anzahl)) $anzahl = $defaultAnzahl;
sondern

Code: Alles auswählen

if (empty($_GET['anzahl'])) $anzahl = $defaultAnzahl;
lauten sollte, damit das ganze Sinn macht.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
JohannesRoesch
ConPresso-User
Beiträge: 27
Registriert: 20.08.2006 22:29
Wohnort: Bruchsal
Hat sich bedankt: 4 Mal
Danksagung erhalten: 2 Mal

Beitrag von JohannesRoesch »

Ja das würde eine Logisch Richtige Abfrage ergeben, die aber auch wieder sinnlos ist, weil dieser Fall direkt darunter abgefragt wird. An dieser stelle muss immer $anzahl = $defaultAnzahl sein. Danach werden ja dann alle anderen Fälle abgefragt und der Wert bei bedarf wieder überschrieben.
Benutzeravatar
balu
ConPresso-Entwickler
Beiträge: 1748
Registriert: 01.01.1970 01:00
Hat sich bedankt: 81 Mal
Danksagung erhalten: 133 Mal

Beitrag von balu »

Hm.

Es stimmt, dass $anzahl immer auf die $defaultAnzahl gesetzt werden sollte.

Aber genau das macht die Zeile

Code: Alles auswählen

if (empty($anzahl)) $anzahl = $defaultAnzahl;
ja eigentlich. $anzahl dürfte zu dem Zeitpunkt nicht gesetzt sein und wird dann dementsprechend zugeordnet.

Nichts desto trotz ist die Abfrage dann auch unnötig. Ich ändere das mal dementsprechend.

Die 50 lassen wir aber, weil man bei langsamen SQL-Servern sonst ggfs. lange warten muss.

Balu
Bartels.Schöne
ConPresso Support & Development
Antworten