} else { // A.3 you are a course admin without any group or user filter // A.3.a you are a course admin without user or group filter but WITH studentview // => see all the messages of all the users and groups without editing possibilities if (isset($isStudentView) and $isStudentView == "true") { $sql = "SELECT\n\t\t\t\t\tannouncement.*, ip.visibility, ip.to_group_id, ip.insert_user_id, ip.insert_date\n\t\t\t\t\tFROM {$tbl_announcement} announcement, {$tbl_item_property} ip\n\t\t\t\t\tWHERE\tannouncement.c_id = {$course_id} AND\n\t\t\t\t\t\t\tip.c_id = {$course_id} AND\n\t\t\t\t\t\t\tannouncement.id = ip.ref\n\t\t\t\t\t\t\tAND ip.tool='announcement'\n\t\t\t\t\t\t\tAND ip.visibility='1'\n\t\t\t\t\t\t\t{$condition_session}\n\t\t\t\t\tGROUP BY ip.ref\n\t\t\t\t\tORDER BY display_order DESC"; } else { // A.3.a you are a course admin without user or group filter and WITHOUT studentview (= the normal course admin view) // => see all the messages of all the users and groups with editing possibilities $sql = "SELECT announcement.*, ip.visibility, ip.to_group_id, ip.insert_user_id, ip.insert_date\n\t\t\t\t\tFROM {$tbl_announcement} announcement, {$tbl_item_property} ip\n\t\t\t\t\tWHERE \tannouncement.c_id = {$course_id} AND\n\t\t\t\t\t\t\tip.c_id = {$course_id} AND\n\t\t\t\t\t\t\tannouncement.id = ip.ref AND\n ip.tool='announcement' AND\n (ip.visibility='0' or ip.visibility='1') AND\n to_group_id = 0\n\t\t\t\t\t\t\t{$condition_session}\n\t\t\t\t\tGROUP BY ip.ref\n\t\t\t\t\tORDER BY display_order DESC"; } } } else { //STUDENT if (is_array($group_memberships) && count($group_memberships) > 0) { if (AnnouncementManager::user_can_edit_announcement()) { if (api_get_group_id() == 0) { //No group $cond_user_id = " AND (ip.lastedit_user_id = '" . api_get_user_id() . "' OR ( ip.to_user_id='" . $_user['user_id'] . "'" . " OR ip.to_group_id IN (0, " . implode(", ", $group_memberships) . "))) "; } else { $cond_user_id = " AND (\n ip.lastedit_user_id = '" . api_get_user_id() . "' OR\n ip.to_group_id IN (" . api_get_group_id() . ")\n )"; } } else { if (api_get_group_id() == 0) { $cond_user_id = " AND (ip.to_user_id={$user_id} OR ip.to_group_id IN (0, " . implode(", ", $group_memberships) . ")) "; } else { $cond_user_id = " AND (\n (ip.to_user_id = {$user_id} AND ip.to_group_id = " . api_get_group_id() . ") OR\n (ip.to_group_id IN (" . api_get_group_id() . ") AND ip.to_user_id = 0 )\n )"; } } $visibility_condition = " ip.visibility='1'"; if (GroupManager::is_tutor_of_group(api_get_user_id(), $group_id)) {