isp_geek
Member
Hallo Leute, hallo Till,
ich hab schon in diesem anderen [Thread] versucht das Problem zu klären, es kam aber leider nicht zur Lösung - nun mache ich ein eigenes Thema dazu auf, da ich nun alle Server auf p8 geupdatet habe und mir dieses Problem erneut ins Auge stochen ist .
Ich hatte dieses Problem gefixt indem ich in der lib/classes/tpl.inc.php:~974 in Funktion _arrayBuild() diese Zeile auskommentiert habe:
Auch jetzt nach dem Patch musste ich das wieder auskommentieren, damit alle Daten unter Speicherplatzbeschränkung angezeigt werden. Damit das nicht zur ollen Gewohnheit wird möchte ich diesem Problem jetzt mal auf den Grund gehen und habe die Zeile wieder einkommentiert:
auf allen Servern, auf denen Quota installiert ist liefern auch korrekte Daten. Es gibt aber auch Server, auf denen kein Quota installiert ist, weil ich das dort nicht benötige.
Alle Server sind mit ISPConfig3 Patch8
In der user_quoata_stats.php:22 habe ich den SQL Befehl
erweitert, um einzelne Server selektieren zu können.
Server 1 und 2 sind ohne Quota, 3 und 4 sind mit Quota. Beim Testen ist mir folgendes aufgefallen:
mit "server_id < 3": Liste wird angezeigt, alles "unlimited": soweit korrekt
mit "server_id < 4": Liste wird angezeigt, Speicherbelegung wird nur für Server 3 angegeben, sonst alles "unlimited": soweit korrekt
mit "server_id = 3": Liste wird angezeigt, Speicherbelegung wird nur für Server 3 angegeben, sonst alles "unlimited": soweit korrekt
mit "server_id > 3": Liste wird angezeigt, Speicherbelegung wird nur für Server 4 angegeben, sonst alles "unlimited": soweit korrekt
mit "server_id = 4": Liste wird angezeigt, Speicherbelegung wird nur für Server 4 angegeben, sonst alles "unlimited": soweit korrekt
mit "server_id > 2": Liste wird nicht angezeigt: alles leer
Daraus folgere ich, dass wenn man mehrere Server anzeigen lassen möchte, die Quota haben, hier etwas kaputt geht und $arr[$i] aus Abfrage if(!is_array($arr[$i])) kein Array ist:
Habe in der lib/classes/tpl.inc.php:~974 vor diesem Befehl eine Ausgabe gemacht, der mir $arr[$i] ausgibt
Ergebnis auf der Webseite für alle Server:
Ergebnis auf der Webseite nur für Server mit Quota (server_id > 2):
40176 findet sich nur in $rec['used_sort'] in user_quoata_stats.php:~34 in Funktion prepareDataRow($rec) - aus diesem Grund reicht es vollkommen aus dieses Feld wegzulassen damit die Speicherplatzbelegung wieder angezeigt wird.
Auch keine schöne und dauerhafte Lösung. Ich möchte Euch bitten, dass sich einer der Entwickler dem anmehmen könnte, damit - was auch immer dieser Fehler ist - mit dem nächsten Patch beseitigt werden kann.
Danke Euch vielmals.
ich hab schon in diesem anderen [Thread] versucht das Problem zu klären, es kam aber leider nicht zur Lösung - nun mache ich ein eigenes Thema dazu auf, da ich nun alle Server auf p8 geupdatet habe und mir dieses Problem erneut ins Auge stochen ist .
Ich hatte dieses Problem gefixt indem ich in der lib/classes/tpl.inc.php:~974 in Funktion _arrayBuild() diese Zeile auskommentiert habe:
Code:
//if(!is_array($arr[$i])) return false;
Auch jetzt nach dem Patch musste ich das wieder auskommentieren, damit alle Daten unter Speicherplatzbeschränkung angezeigt werden. Damit das nicht zur ollen Gewohnheit wird möchte ich diesem Problem jetzt mal auf den Grund gehen und habe die Zeile wieder einkommentiert:
Code:
repquota -avugs
Alle Server sind mit ISPConfig3 Patch8
In der user_quoata_stats.php:22 habe ich den SQL Befehl
Code:
SELECT data from monitor_data WHERE server_id > 2 AND type = 'harddisk_quota' ORDER BY created DESC
Server 1 und 2 sind ohne Quota, 3 und 4 sind mit Quota. Beim Testen ist mir folgendes aufgefallen:
mit "server_id < 3": Liste wird angezeigt, alles "unlimited": soweit korrekt
mit "server_id < 4": Liste wird angezeigt, Speicherbelegung wird nur für Server 3 angegeben, sonst alles "unlimited": soweit korrekt
mit "server_id = 3": Liste wird angezeigt, Speicherbelegung wird nur für Server 3 angegeben, sonst alles "unlimited": soweit korrekt
mit "server_id > 3": Liste wird angezeigt, Speicherbelegung wird nur für Server 4 angegeben, sonst alles "unlimited": soweit korrekt
mit "server_id = 4": Liste wird angezeigt, Speicherbelegung wird nur für Server 4 angegeben, sonst alles "unlimited": soweit korrekt
mit "server_id > 2": Liste wird nicht angezeigt: alles leer
Daraus folgere ich, dass wenn man mehrere Server anzeigen lassen möchte, die Quota haben, hier etwas kaputt geht und $arr[$i] aus Abfrage if(!is_array($arr[$i])) kein Array ist:
Habe in der lib/classes/tpl.inc.php:~974 vor diesem Befehl eine Ausgabe gemacht, der mir $arr[$i] ausgibt
Code:
private function _arrayBuild($arr)
{
if (is_array($arr) && !empty($arr)) {
$arr = array_values($arr); // to prevent problems w/ non sequential arrays
for ($i = 0; $i < count($arr); $i++) {
echo "arr[i]:".$arr[$i]."<br>";
if(!is_array($arr[$i])) {
echo "var i:".$i;
return false;
}
foreach ($arr[$i] as $k => $v) { ...
Ergebnis auf der Webseite für alle Server:
Code:
arr[i]:Array
arr[i]:Array
arr[i]:40176
var i:0
Ergebnis auf der Webseite nur für Server mit Quota (server_id > 2):
Code:
arr[i]:Array
arr[i]:Array
arr[i]:40176
var i:0
40176 findet sich nur in $rec['used_sort'] in user_quoata_stats.php:~34 in Funktion prepareDataRow($rec) - aus diesem Grund reicht es vollkommen aus dieses Feld wegzulassen damit die Speicherplatzbelegung wieder angezeigt wird.
Auch keine schöne und dauerhafte Lösung. Ich möchte Euch bitten, dass sich einer der Entwickler dem anmehmen könnte, damit - was auch immer dieser Fehler ist - mit dem nächsten Patch beseitigt werden kann.
Danke Euch vielmals.
Zuletzt bearbeitet: