Es sind nicht viele Codestellen die einem um die Ohren fliegen.
glm.class.php Zeile 418
Code:
if($this->plesk_session->chkLevel(IS_ADMIN) && AUTOUPDATE){
ändern in
Code:
if($this->plesk_session?->chkLevel(IS_ADMIN) && AUTOUPDATE){
index.php Zeile 121
Code:
var mailaliases = new Array("<?php echo @implode('","',$glm->mailaliases);?>");
ersetzen mit
Code:
var mailaliases = new Array("<?php echo @implode('","',(array)$glm->mailaliases);?>");
alle Codestellen (8 Zeilen) mit
ersetzen mit
genauso noch in paa.class.php die zwei selben plesk_session mit einem ? ergänzen die ich gestern vergessen hatte.
ersetzen mit
Dann besteht nur noch das Problem das er dieplesk_session des Bentuzers nicht erkennt und deswegen die Liste leer bleibt.
Da vermute ich, dass Änderungen an der Datei legacy.class.php nötig sind.
Naja,- nach ein bisschen Recherche denke ich, dass dies weder die Lösung und die Session nicht das größte Problem ist.
Trotzdem danke fürs rausschreiben der Codestellen und Dateien.
Mit Plesk Obsidian hat sich der Zugriff auf Systemdaten geändert.
Statt:
if($this->plesk_session->chkLevel(IS_ADMIN) && AUTOUPDATE){
muss es wohl nun heissen:
if (pm_Session::getClient()->isAdmin() && AUTOUPDATE) {
(Quelle:
https://docs.plesk.com)
Das Fragezeichen im original Code ist mir unklar? Soll es den Fehler unterdrücken? Zumindest ändert es ja nichts an der falschen Berechtigungs-Abfrage, weshalb schon an dieser Stelle keine Berechtigungen für das restliche Skript erteilt werden.
Den String in der index.php einfach in einen array zu zwingen, ist auch sinnlos, weil es scheinbar einfach keine Daten in dem Array gibt.
DAS scheint mir das Hauptproblem zu sein, wenn man die Berechtigungen richtig setzt.
$glm->mailaliases bleibt leer. Deshalb wird es als String gewertet.
Ein leerer String, den man in einen Array zwingt, ergibt einen leeren Array.
$glm->mailaliases wird im Header der Datei aus der Datenbank abgefragt und weiter unten im Code befüllt.
Aus einem mir noch nicht klaren Grund, passiert das aber nicht.
Wer herausfindet, warum die mailaliases leer bleiben, der löst evtl. das komplette Problem.
Hat jemand dazu Ideen?
Gruß,
Micha