Page MenuHomekolab.org

chwala: PHP error: Uncaught Error: [] operator not supported for strings in /usr/share/chwala/lib/file_ui_output.php:152
Closed, ResolvedPublic

Description

I'm running the current Debian packages on Debian 10:

ii  chwala         0.5.7-0~kolab2 all          Glorified WebDAV, done right

I've added my Nextcloud storage as webdav storage to kolab.

$config['fileapi_sources'] = array(
    'Nextcloud' => array(
        'driver' => 'webdav',
        'host'   => 'https://kolab3.example.org/nextcloud/remote.php/webdav/',
        'username' => '%u',
    )
);

When accessing the webdav folder in chwala/roundcube, I get the following messages
in /var/log/chwala.log:

[25-Dec-2019 20:03:06 Europe/Berlin] PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /usr/share/chwala/lib/file_ui_output.php:152
Stack trace:
#0 /usr/share/chwala/lib/file_ui_output.php(90): file_ui_output->send_tpl('login')
#1 /usr/share/chwala/lib/file_ui.php(316): file_ui_output->send('login')
#2 /usr/share/chwala/lib/file_ui.php(240): file_ui->action_logout()
#3 /usr/share/chwala/public_html/index.php(41): file_ui->run()
#4 {main}
  thrown in /usr/share/chwala/lib/file_ui_output.php on line 152

The following Cchange in /usr/share/chwala/lib/file_ui_output.php:149 fixes the message for me:

         $this->env['skin_path'] = 'skins/' . $this->skin . '/';
-        $script = '';
+        $script = array();

         if (!empty($this->env)) {
             $script[] = 'ui.set_env(' . json_encode($this->env) . ');';
         }

Now I can access my webdav storage, but get a message that the authentication failed.
I'll investigate that further in a second bug report once I see something helpful.