diff --git a/adm_program/installation/db_scripts/update_4_3.xml b/adm_program/installation/db_scripts/update_4_3.xml index 3dcee1afc..de69e8366 100644 --- a/adm_program/installation/db_scripts/update_4_3.xml +++ b/adm_program/installation/db_scripts/update_4_3.xml @@ -123,5 +123,6 @@ UPDATE %PREFIX%_preferences SET prf_value = '24' WHERE prf_name = 'photo_thumbs_page' AND CAST(prf_value AS unsigned) = 16 UPDATE %PREFIX%_preferences SET prf_value = '24' WHERE prf_name = 'photo_thumbs_page' AND prf_value::int = 16 UPDATE %PREFIX%_categories SET cat_type = 'EVT' WHERE cat_type = 'DAT' + UPDATE %PREFIX%_categories SET cat_org_id = 1 WHERE cat_org_id IS NULL AND cat_name_intern = 'EVENTS' stop diff --git a/adm_program/modules/events/events_function.php b/adm_program/modules/events/events_function.php index d2b348f6c..db0374996 100644 --- a/adm_program/modules/events/events_function.php +++ b/adm_program/modules/events/events_function.php @@ -356,11 +356,14 @@ WHERE cat_name_intern = \'EVENTS\' AND cat_org_id = ?'; $pdoStatement = $gDb->queryPrepared($sql, array($gCurrentOrgId)); + if(!$row = $pdoStatement->fetch()) { + throw new AdmException('No category found for event participation'); + } $role = new TableRoles($gDb); $role->setType(TableRoles::ROLE_EVENT); // these are the default settings for a event role - $role->setValue('rol_cat_id', (int)$pdoStatement->fetchColumn()); + $role->setValue('rol_cat_id', (int) $row['cat_id']); // role members are allowed to view lists $role->setValue('rol_view_memberships', isset($_POST['event_right_list_view']) ? 1 : 3); // role members are allowed to send mail to this role