fix colour handling in user account search results
authorDenis Ovsienko <denis@ovsienko.info>
Wed, 28 Nov 2018 12:22:07 +0000 (12:22 +0000)
committerDenis Ovsienko <denis@ovsienko.info>
Wed, 28 Nov 2018 12:22:07 +0000 (12:22 +0000)
commit42c128127792469fed3e254b22598b46a69ce3b4
tree4ca31b12f1feec1f01b98e9eaa6dc48d8a32c4d4
parent69aa6fdc1ae622453d7e4dda92c429b722209b0f
fix colour handling in user account search results

setEntityColors() caused the following log messages when the search
results included any local user accounts:

PHP Notice:  Undefined index: etags in .../inc/interface-lib.php on
line 1344
PHP Warning:  Invalid argument supplied for foreach() in
.../inc/interface-lib.php on line 1344

This was caused by getAccountSearchResult() constructing and returning
a mock user cell structure, which through the search results eventually
ended up in renderCell(). The latter used to have a workaround for that
specific case (see commit 573214e), but only after the call to
setEntityColors(), which needs the 'etags' data, even when it is an
empty list.

Remove the workaround from renderCell() and remove the unnecessary
custom code from getAccountSearchResult(), which now just calls
spotEntity() like other similar search functions. That delivers 'etags'
to renderCell(), which now has input for getObjectClass(), which now
yields another log message:

PHP Notice:  Undefined index: id in .../interface-lib.php on line 1302

To fix that update getObjectClass() to use the proper index for user
cells like mkCellA() does.

[skip ci]
wwwroot/inc/database.php
wwwroot/inc/interface-lib.php
wwwroot/inc/interface.php