if (!$steam_group instanceof steam_group) { throw new Exception("Is not a group: " . $_REQUEST["group"]); } $type = (string) $steam_group->get_attribute("OBJ_TYPE"); switch ($type) { case "course": $group = new koala_group_course($steam_group); $backlink = PATH_URL . SEMESTER_URL . "/" . $group->get_semester()->get_name() . "/" . $group->get_name(); break; default: $group = new koala_group_default($steam_group); $backlink = PATH_URL . "groups/" . $group->get_id() . "/members/"; break; } if (!$group->is_admin($user)) { throw new Exception("No admin of " . $group->get_groupname() . ": " . $user->get_name()); } if (isset($_REQUEST["add"]) && count($_REQUEST["add"]) > 0) { $login = key($_REQUEST["add"]); $new_member = steam_factory::username_to_object($GLOBALS["STEAM"]->get_id(), $login); if ($group->add_admin($new_member)) { //$group_name = $group->get_attribute("OBJ_DESC"); //if ( !is_string($group_name) || empty($group_name) ) $group_name = $group->get_display_name(); $message = str_replace("%NAME", $new_member->get_attribute("USER_FIRSTNAME") . " " . $new_member->get_attribute("USER_FULLNAME"), gettext("Dear %NAME,")) . "\n\n"; $message .= str_replace("%GROUP", h($group_name), gettext("You were added to '%GROUP' as a new admin.")) . "\n\n"; $message .= gettext("This is an automatically generated message.") . " " . gettext("If you haven't been informed about this membership in advance, please contact the sender of this message.") . "\n\n" . str_replace("%GROUP", "<a href=\"" . $backlink . "\">" . h($group_name) . "</a>", gettext("See '%GROUP' for further information.")); lms_steam::mail($new_member, $user, PLATFORM_NAME . ": " . str_replace("%GROUP", h($group_name), gettext("You were added to '%GROUP' as a new admin")), $message); $cache = get_cache_function($new_member->get_name(), 60); $cache->drop("lms_steam::user_get_groups", $new_member->get_name(), TRUE); $cache->drop("lms_steam::user_get_groups", $new_member->get_name(), FALSE);