Aufgrund meines Problems mit dem nicht mehr funktionierendem Zugriff per GET auf die Adressen habe ich mal ein bisschen weiter analysiert, weil ich auch so ein bisschen php kann und dabei ist mir aufgefallen, dass sich meine header.inc.php ganz schön von der mitgelieferten header.inc.php.template (21.1.20211130) unterscheidet (mittels kdiff3).
Ich habe alt bei allen Migrationen wohl die alte header.inc.php immer mit übernommen, diesmal auch. Irgendwann kann so ein Verfahren natürlich auch zu Problemen führen.
Folgenden Block gibt es im neuen gar nicht mehr:
// allow to migrate from phpgw_info to egw_info
if (!isset($GLOBALS['egw_info']) || in_array($GLOBALS['egw_info']['flags']['currentapp'],array('jinn','mydms','tts')))
{
if (!isset($GLOBALS['egw_info']))
{
$GLOBALS['egw_info'] =& $GLOBALS['phpgw_info'];
}
else
{
$GLOBALS['phpgw_info'] =& $GLOBALS['egw_info'];
}
$GLOBALS['egw_info']['flags']['phpgw_compatibility'] = true;
}
Brauche ich das noch?
Die Werte, die in dem folgenden Block stehen, stimmen mit Sicherheit nicht. In dem header_admin_user stand mein Passwort im Klartext und unter header_admin_password stand etwas, was aussah, wie ein MD5-Hash.
Der Zugang funktionierte auf der setup-Seite aber auch nicht.
// who is allowed to make changes to THIS config file via eGW's setup
$GLOBALS['egw_info']['server']['header_admin_user'] = 'xxxxx';
$GLOBALS['egw_info']['server']['header_admin_password'] = 'xxxxxx;
Ich habe schon mittels admin und {plain}secret etwas versucht, aber es hat nicht geklappt.
So richtig schlimm ist das wohl nicht, weil man normaler User Admin-Rechte hat und ich Root-Zugriff auf meinen Server.
Muss ich nach Änderungen in dieser Datei den Docker-Container neu starten?
Folgendes fehlt in der neuen Version. Braucht man das noch?
/*
** used session handler: egw_session_files works for all build in php session handlers
** other handlers (like egw_session_memcache) can be enabled here
*/
$GLOBALS['egw_info']['server']['session_handler'] = '{SESSION_HANDLER}';
/* Select which login template set you want, most people will use idots */
$GLOBALS['egw_info']['login_template_set'] = 'idots';
Folgender Bereich sind auch anders aus. Die DEBUG-Variablen gibt es nicht mehr und die egw_info-GLOBALS sehen anders aus. Muss ich hier etwas ändern?
define('DEBUG_API', False);
define('DEBUG_APP', False);
include(EGW_SERVER_ROOT.'/phpgwapi/setup/setup.inc.php');
$GLOBALS['egw_info']['server']['versions']['phpgwapi'] = $setup_info['phpgwapi']['version'];
$GLOBALS['egw_info']['server']['versions']['current_header'] = $setup_info['phpgwapi']['versions']['current_header'];
unset($setup_info);
Hier gibt es auch noch einen gravierenden Unterschied:
if(!isset($GLOBALS['egw_info']['flags']['noapi']) || !$GLOBALS['egw_info']['flags']['noapi'])
{
if (substr($_SERVER['SCRIPT_NAME'],-7) != 'dav.php') // dont do it for webdav/groupdav, as we can not safely switch it off again
{
ob_start(); // to prevent error messages to be send before our headers
}
require_once(EGW_API_INC . '/functions.inc.php');
}
else
{
require_once(EGW_API_INC . '/common_functions.inc.php');
}
Diese if-Anweisung unterscheidet sich schon sehr stark von der Template-Datei.
Ist es sinnvoll, meine header.inc.php auf die neue Version irgendwie zu migrieren, und wenn ja, wie mache ich das?
Danke für alle Hinweise.
Ciao
Peter Schütt