Hallo Michael,
ich hab’ mir das mal genau angesehen (nachdem ich meine egw_categories
komplett geleert und den Instanzcache unter Admin >> Cache löschen und
Hooks registrieren gelöscht habe):
Die verwendete return_array Methode liefert immer ein - evtl. leeres -
Array, dementsprechend bekomme ich kein PHP Warning.
Kann es sein, dass Du einen eigenen Patch in der
phpgwapi/inc/class.categories.inc.php hast?
Ralf
Liebe Programmiererinnen und Programmierer!
In „categories.php“ gibt es ein kleines Problem. Es wird in Zeile 35 eine Schleife gestartet mit:
…
foreach($categories as $cat)
{
if($cat[‘data’][‘color’])
{
$content .= “.cat_{$cat[‘id’]} { background-color: {$cat[‘data’][‘color’]};} /{$cat[‘name’]}/\n”;
}
if($cat[‘data’][‘icon’])
{
$content .= “.cat_{$cat[‘id’]} .cat_icon { background-image: url(’”. admin_categories::icon_url($cat[‘data’][‘icon’]) ."’);} /{$cat[‘name’]}/$
}
}
…
Das kleine Problem ist, dass $categories sichtlich leer sein kann (ist es bei mir), womit die „foreach“ Anweisung einen Fehler bringt:
„… PHP Warning: Invalid argument supplied for foreach() in /usr/share/egroupware/phpgwapi/categories.php on line 35, …"
Man sollte daher vorher zumindest überprüfen, ob $categories überhaupt ein Array ist:
…
// MW: Get all categories - if there are any
if (is_array($categories))
{
foreach($categories as $cat)
{
if($cat[‘data’][‘color’])
{
$content .= “.cat_{$cat[‘id’]} { background-color: {$cat[‘data’][‘color’]};} /{$cat[‘name’]}/\n”;
}
if($cat[‘data’][‘icon’])
{
$content .= “.cat_{$cat[‘id’]} .cat_icon { background-image: url(’”. admin_categories::icon_url($cat[‘data’][‘icon’]) ."’);} /{$cat[‘name’]}/$
}
}
}
…
Systeminformation:
System: Linux … 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u4 (2016-02-29) x86_64
egroupware-epl: 14.3.20160304
Liebe Grüße
Michael
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140
egroupware-german mailing list
egroupware-german@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/egroupware-german
–
Ralf Becker
Director Software Development
Stylite AG
Isaac-Fulda-Allee 9 | Tel. +49 6131 32702-0
D-55124 Mainz | Fax. +49 6131 32702-70
Email: rb@stylite.de
www.stylite.de | www.egroupware.org
Managing Directors: Andre Keller | Ralf Becker | Gudrun Mueller
Chairman of the supervisory board: Prof. Dr. Birger Leon Kropshofer
VAT DE214280951 | Registered HRB 46224 Mainz Germany